━━━━ ◇ ━━━━
정보보안실무/서버, 클라우드

S-Part. 13 Zabbix 구축하기 - [인스테도뷰]

728x90
반응형

구축환경

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를 추천

 

 

728x90
반응형
COMMENT