CentOS 7 에서 모니터링 도구 Zabbix 5.2.3 설치 및 호스트 추가하기

리눅스/OS 일반|2021. 2. 17. 15:04
반응형

OS 는 CentOS 7 이고 APM 소스 설치 전제하에 진행 하였습니다.

참고로 Zabbix 5.2.3 버전은 PHP 7.2 이상을 필요로 합니다.

 

[ Zabbix 서버 ]

 

1. 다운로드

 

# cd /usr/local/src

# wget http://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.3.tar.gz

# tar zxvf zabbix-5.2.3.tar.gz

# cd zabbix-5.2.3

# ./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp=/usr/bin/net-snmp-config --with-libcurl

# make

# make install

 

 

2. 데이터 베이스 설정

 

# mysql -p

(root 패스워드 입력후 엔터)

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '12345678'; // 계정은 알맞게 입력

mysql> flush privileges;

 

# cd /usr/local/src/zabbix-5.2.3/database/mysql

# mysql -p zabbix < schema.sql

# mysql -p zabbix < images.sql

# mysql -p zabbix < data.sql

 

 

3. 계정 생성

 

(안되어 있을 경우)

# groupadd --system zabbix

# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

 

 

4. 웹소스 복사 및 초기 구성

 

# mkdir -p /home/zabbix/public_html

# cp -arp /usr/local/src/zabbix-5.2.3/ui/* /home/zabbix/public_html

 

웹서버에 사이트를 추가로 구성 합니다.

 

# vi /usr/local/apache/conf/extra/httpd-vhost.conf

 

<VirtualHost *:80>

    DocumentRoot "/home/zabbix/public_html"

    ServerName sysdocu.tistory.com

    ErrorLog "logs/sysdocu.tistory.com-error_log"

    CustomLog "logs/sysdocu.tistory.com-access_log" combined

</VirtualHost> 

 

# /usr/local/apache/bin/apachectl restart

 

관리 UI 에서 DB 접근이 가능하도록 아래 파일을 열어 옵션을 수정 합니다.

 

# vi /usr/local/zabbix/etc/zabbix_server.conf

 

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=12345678

DBSocket=/tmp/mysql.sock

 

파일 저장 후 zabbix 를 구동합니다.

 

# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

 

구동시 아래와 같은 에러가 출력될 경우

/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

 

해결 방법입니다.

# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf    // 구동전 /usr/local/mysql/lib 디렉토리 내에 libmysqlclient.so.20 파일을 확인합니다.

# ldconfig

# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

 

 

웹브라우저를 통해 zabbix 관리 페이지에 접속합니다.

 

php 설정 상태에 따라 진행이 가능하며, 진행 완료 페이지에서 conf 가 적용되지 않을 경우 제공하는 설정파일을 다운로드 받아 아래 파일로 저장합니다.

 

/home/zabbix/public_html/zabbix.conf.php

 

이제 다시 사이트에 접속 하면 관리 UI 로 로그인이 가능합니다.

http://sysdocu.tistory.com

 

초기 패스워드 : Admin / zabbix

 

 

[ Host 추가 ]

 

모니터링 대상 서버를 관리 목록에 추가 합니다.

외부에서 대상 서버를 모니터링 하기 위해 서버 내에 agent 를 설치해야 합니다.

 

1. 패키지 설치

 

(모니터링 대상 서버에서)

# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.28-1.el7.x86_64.rpm

# rpm -Uvh zabbix-release-4.0-2.el7.noarch.rpm

# rpm -Uvh zabbix-agent-4.0.28-1.el7.x86_64.rpm

 

 

2. 설정 및 실행

 

# vi /etc/zabbix/zabbix_agentd.conf

 

Server=10.10.10.10 // 관리자 서버 IP 입력
Hostname=20.20.20.20 // 호스트 서버 IP 입력

 

# systemctl enable zabbix-agent

# systemctl start zabbix-agent

 

브라우저를 통해 관리페이지에 접속 합니다.

 

http://sysdocu.tistory.com

 

설정 > 호스트 그룹 > '호스트 그룹 작성' 클릭

- 그룹 이름 : 'Managed Group' 입력

 

설정 > 템플릿 > '템플릿 작성' 클릭

- 템플릿 이름 : 'Managed Template' 입력

- 표시명 : 'Managed Template' 입력

- 그룹 : 'Managed Group' 선택

 

설정 > 호스트 > '호스트 작성' 클릭

- 호스트명 : 'First Server' 입력

- 표시명 : 'First Server' 입력

- 그룹 : 'Managed Group' 선택

- Interfaces : '추가' 버튼 클릭 > '에이전트' 선택 > 모니터링 대상 서버 (호스트 서버) IP 와 포트 10050) 입력

- [템플릿] 탭의 'Link new templates' 에서 'Managed Template' 선택

 

 

'추가' 버튼을 누르고 리스트로 나오면 시간이 조금 걸려서 '상태'값 [ZBX] 부분이 '녹색'으로 활성화 됩니다.

 

 

 

 

반응형

댓글()