구축환경
CentOS 7.6 Minimal - (www.centos.org)
VirtualBox 7.0 - (www.virtualbox.org)
Zabbix - (zabbix-release-4.2-1)
알고가기
nms (네트워크 관리시스템) 서버 모니터링 및 망 모니터링, 클라우드 등 통합적으로 이루어짐
zabbix agent nms에 등록된 서버 및 장비들(관리의 대상이 되는 것들을 에이전트라고 함) 모니터링 및 관리
zabbix 소스는 yum이 아닌(CentOS에는 zabbix가 없음) zabbix를 받을 수 있는 저장소 remi나 epel에 다운 받아야함
zabbix는 epel에 있다.
yum install -y epel-release → epel-release 설치
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm→ zabbix 다운로드
yum install -y zabbix-server
yum install -y zabbix-web
yum install -y zabbix-server-mysql
yum install -y zabbix-web-mysql → zabbix 서버와 웹 mysql 설치
이 외에도 기본적으로 mysql, mariadb-server, http, php 등이 설치되어 있어야한다.
nms서버에 들어올 수 있도록 기본적인 데이터베이스 설정이 필요하다.
mysql -u root -p → DB 접속
create database zabbix character set utf8 collate utf8_bin; → zabbix 데이터베이스 생성(zabbix 에이전트 데이터를 담아 둘 데이터베이스를 만들어야한다. utf8은 한글지원)
명령어를 입력하고 나면 zabbix 데이터베이스가 생성된 것을 확인 가능하다.
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'password'; → 권한부여
flush privileges; → 저장
exit → 나가기
cd /usr/share/doc → 보통 파일들이 다운로드 되는 경로이다. doc으로 이동
ls를 해보면 zabbix-release-4.2와 zabbix-server-mysql-4.2.8이 설치된 것을 볼 수 있다.
cd zabbix-server-mysql-4.2.8 → zabbix-server-mysql-4.2.8 디렉토리로 이동
ls해보면 create.sql.gz 파일을 볼 수 있다. 압축해제를 해야한다.
gunzip create.sql.gz → 압축해제
다시 ls해보면 압축해제가 된 것을 볼 수 있다.
mysql -u root -p zabbix < create.sql → zabbix 안에 create.sql을 실행하라는 명령어
use zabbix → zabbix 데이터베이스로 진입
show tables → 테이블 목록보기
아까 해두었던 create.sql 실행으로 많은 목록들과 내용들이 생성된 것을 확인 할 수 있다.
exit → DB나가기
[zabbix 환경설정 시 주의해야할 점]
필자는 넘버링 후 해당 항목의 번호를 썼을 뿐 여러분들이 실습할 때는 다른 번호가 넘버링 되어 출력될 수 있다는 것을 감안해야한다. 따라서 넘버링이 다르더라도 필자의 넘버링과 비슷한 구간에서 찾으면 쉽게 항목들을 찾을 수 있다.
vi /etc/zabbix/zabbix_server.conf → zabbix 환경설정
set nu → 넘버링
736번 DBHost=localhost
737번 DBName=zabbix
738번 DBUser=zabbix
739번 DBPassword=1234
:wq! → 저장 후 나가기
vi /etc/php.ini → php 실행 관련 설정
385번 max_execution_time = 600 → 최대 실행 시간 600으로 수정
395번 max_input_time = 600 → 최대 입력 시간 600으로 수정
406번 memory_limit = 256M → 메모리 제한 128M에서 256M로 수정
위 설정은 각자 환경에 맞게 설정을 해주면 되는 부분이다.
674번 post_max_size = 32M → 웹에서 데이터를 요청할 때 get과 post 방식 중 post로 요청 시 최대 사이즈 32M로 수정
위 설정은 각자 환경에 맞게 설정을 해주면 되는 부분이다.
827번 upload_max_filesize = 16M → 업로드 되는 파일의 최대 크기 16M로 수정
위 설정은 각자 환경에 맞게 설정을 해주면 되는 부분이다.
904번 date.timezone = Asia/Seoul → 주석(;)제거 후 타임존을 Asia/Seoul로 입력
:wq! → 저장 후 나가기
여기까지 설정이 끝났다.
firewall-cmd --permanent --add-port=10050/tcp → 서버가 agent 정보를 받아올 때 10050 포트 허용
firewall-cmd --permanent --add-port=10051/tcp → 서버가 agent에게 정보를 줄 때 10051 포트 허용
firewall-cmd --permanent --reload → 재시작
systemctl start zabbix-server && systemctl enable zabbix-server → zabbix-server 시작
sestatus → selinux 상태 확인
setsebool -P httpd_can_connect_zabbix 1 → http와 zabbix를 연결이 가능하도록 secure 리눅스 값의 bool값 설정
*여기서 1은 enable 개념, 0은 disable 개념
Selinux 활성화/비활성화
selinux 상태 수정이 필요한 경우 vi /etc/sysconfig/selinux 로 진입하여 편집할 수 있다.
줄이 그어진 부분을 enforcing으로 수정하면 활성화, disabled로 수정하면 비활성화이다.
수정 후에는 웬만하면 머신 reboot를 추천
zabbix를 구축한 IP주소/zabbix
를 웹에 입력하면 zabbix 설정 페이지가 위와 같이 출력된다.
두 단계를 Next Step 누르면 위와 같은 입력란들이 뜬다.
다른건 건드릴 것 없고
Database port는 따로 지정해두지 않았기 때문에 그냥 0을 썼다.
DB name과 User이름은 자동으로 zabbix로 올라와있었고
DB 비밀번호만 입력해주면 된다.
여기도 Host와 Port는 자동입력되어 있어서 건드릴 것 없고,
이름만 원하는 것을 입력해주면 된다.
요약 정보이다. 간단히 확인하고 Next Step.
모든 설정이 완료 됐다. Finish.
로그인을 해야한다.
기본적으로 주어지는 Username은 Admin / Password는 zabbix 이다.
추후 변경 가능하다.
로그인을 하게 되면 위와 같이 대쉬보드를 열람할 수 있는데, zabbix server is running 부분이 Yes로 출력되어야 한다.
즉 잘 돌아가고 있다는 소리이다.
만약 돌아가지 않고 NO라는 메시지가 뜬다면 selinux 설정 변경으로 다시 연결할 수 있다.
Selinux 설정 변경은 위에도 설명했지만
selinux 설정 변경이 필요한 경우 vi /etc/sysconfig/selinux 로 진입하여 편집할 수 있다.
줄이 그어진 부분을 enforcing으로 수정하면 활성화, disabled로 수정하면 비활성화이다.
수정 후에는 웬만하면 머신 reboot를 추천
'정보보안실무 > 서버, 클라우드' 카테고리의 다른 글
S-Part. 15 Linux CentOS 7 root 패스워드 분실 대처 - [인스테도뷰] (2) | 2023.03.20 |
---|---|
S-Part. 14 utmp, wtmp, btmp와 각종 명령어들 - [인스테도뷰] (0) | 2023.03.20 |
S-Part. 12 Loganalyzer 구축하기 - [인스테도뷰] (0) | 2023.03.19 |
S-Part. 11 DNS 구축하기 - [인스테도뷰] (0) | 2023.03.19 |
S-Part. 10 Log서버와 클라이언트 구축하기(rsyslog, loganalyzer) - [인스테도뷰] (0) | 2023.03.18 |