[Zabbix] 서버 모니터링 Zabbix

2015. 12. 16. 13:50기타 & 임시분류

    목차

설치 환경

CentOS 6.2 64비트


다운로드

http://www.zabbix.com/download.php

위 사이트에서 알맞은 버전을 다운로드 한다.
[ zabbix-2.0.6.tar.gz 설치 했음.]

관련 패키지 설치

yum -y install php-mbstring

yum install php-dom 
yum -y install ntp php php-bcmath php-gd php-mysql httpd mysql gcc mysql-server mysql-devel net-snmp net-snmp-utils net-snmp-devel net-snmp-libs curl-devel mak


서비스 등록

# mysql
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
service mysqld start

# apache
chkconfig --add httpd
chkconfig --level 2345 httpd on
service httpd start


fping 설치

http://pkgs.repoforge.org/fping/ 에서 알맞은 버전을 다운로드 한다.
rpm -Uvh fping-3.4-1.el6.rf.x86_64.rpm
chmod 755 /usr/sbin/fping


user 생성

groupadd zabbix
useradd -g zabbix zabbix


Zabbix Compile

cd ${zabbix 압축푼 경로}
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make
make install (root 권한으로 실행)


SeLinux 설정 변경

/etc/selinux/config 변경 후, OS 재시작 필요.

1
2
3
4
5
6
7
8
9
10
11
12
# vi /etc/selinux/config
 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

php.ini 설정 변경

1
2
3
4
5
# vi /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = "Asia/Seoul"

apache 재 시작

service httpd restart


DB 생성

1
2
3
4
5
6
7
8
9
10
11
mysql -u root -p
 
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@localhost identified by '패스워드'
mysql> flush privileges;
mysql> quit;
 
cd ${zabbix 압축푼 폴더}/database/mysql
mysql -u zabbix -p zabbix < schema.sql
mysql -u zabbix -p zabbix < images.sql
mysql -u zabbix -p zabbix < data.sql

방화벽 등록

1
2
3
4
5
6
# vi /etc/services
 
zabbix-agent    10050/tcp               # Zabbix Agent
zabbix-agent    10050/udp               # Zabbix Agent
zabbix-trapper  10051/tcp               # Zabbix Trapper
zabbix-trapper  10051/udp               # Zabbix Trapper

Zabbix 환경 파일 수정

1
2
3
4
5
6
# vi /usr/local/etc/zabbix_server.conf
 
DBUser=userid
DBPassword=userpw
DBSocket=/var/lib/mysql/mysql.sock
FpingLocation=/usr/sbin/fping
1
2
3
4
5
# vi /usr/local/etc/zabbix_agentd.conf
 
Server=zabbix_server ip
ServerActive=zabbix server ip
Hostname=zabbix agentd 식별 이름

Zabbix 구동

zabbix_server
zabbix_agentd


Zabbix 로그 확인

/tmp/zabbix_server.log
/tmp/zabbix_agentd.log
(zabbix_server.conf, zabbix_agentd.conf 에 정의 되어 있음)

처음에 구동을 하면 아래와 같은 오류 메세지가 찍힌다.

6341:20130321:192207.549 cannot send list of active checks to [127.0.0.1]: host [zabbix agentd 식별 이름] not found

이걸 해결하는 방법은 아래 기술 하겠다.


WEB 설치

설치 관련 파일을 Zabbix 압축푼 파일 내에서, apache DocumentRoot 로 가지고 온다. 
(기본 설정 경로는 /var/www/html/ 이다)

mkdir /var/www/html/zabbix/
cp -a ${Zabbix 압축푼 경로}/frontends/php/. /var/www/html/zabbix/
chmod -R 777 /var/www/html/zabbix/

http://127.0.0.1/zabbix/

위 사이트에 접속 하면 아래 이미지와 같은 설치 화면이 뜨며, 순서대로 진행하면 된다.


zabbix 공식 홈페이지에서 참고 이미지를 가져 옴.


문제점 해결

6341:20130321:192207.549 cannot send list of active checks to [127.0.0.1]: host [zabbix agentd 식별 이름] not found

위에서 언급한, 오류 로그가 남는 이유는 해당 host 를 등록하지 않아서 그렇다.

"zabbix agentd 식별 이름" 에 해당하는 host 의 status 를 monitored 로 변경한다.