자빅스(Zabbix) 설치 for Ubuntu 16.04

1. Zabbix Server 설치

1.1. apt 설치

1.1.1 PPA 추가

# root 로 로그인
sudo su
cd /usr/local/src
# zabbix 최신 저장소 download
wget 'http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb'
dpkg -i zabbix-release_3.4-1+xenial_all.deb
apt update

1.1.2 apt install

apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

1.2. MySQL 설정

Mysql 대상 유저로 로그인하여, zabbix database 생성 및 user 권한 설정을 해준다.

CREATE DATABASE `zabbix` CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* to zabbix@localhost identified by 'YourDBPassword';
FLUSH PRIVILEGES;

1.2.1. Zabbix Create Query 실행

# zcat 명령어는 압축을 해제하지 않고도 압축 파일에 접근할 수 있다.
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql zabbix -uzabbix -p

1.2.2. Zabbix 설정파일 수정

vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBPassword=YourDBPassword

1.3. Zabbix 서버 실행 및 연동

1.3.1. systemctl 허용 및 실행

systemctl start zabbix-server
systemctl enable zabbix-server

1.3.2. apache 설정 및 실행

vi /etc/apache2/conf-enabled/zabbix.conf

apache 설정파일을 열어 timezone을 변경해준다.

<IfModule mod_php5.c>
    php_value date.timezone Asia/Seoul
</IfModule>
<IfModule mod_php7.c>
    php_value date.timezone Asia/Seoul
</IfModule>

apache 시작

systemctl start apache2

1.3.3. zabbix URL

http://localhost/zabbix

localhost 부분에 서버의 Domain이나 IP를 입력한다.

1.4. 기타 설정

1.4.1. 초기 계정 정보

1.4.2. zabbix 한글 설정

vi /usr/share/zabbix/include/locales.inc.php

ko_KR key를 찾아서 display의 값이 true로 확인 및 수정한다.

locale-gen ko_KR.UTF-8
vi /etc/default/locale
#  File generated by update-locale
LANG=ko_KR.UTF-8
LANGUAGE="ko_KR:ko:eu_US:en"

위와 같이 설정한다.

apache 재시작

systemctl restart apache2

zabbix 로그인 후 -> 관리 -> 유저 -> 클릭 후 언어 -> 한국어로 설정 후 갱신 버튼을 클릭한다.

2. Zabbix Agent 설치

2.1. apt 설치

2.1.1 PPA 추가

# root 로 로그인
sudo su
cd /usr/local/src
# zabbix 최신 저장소 download
wget 'http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb'
dpkg -i zabbix-release_3.4-1+xenial_all.deb
apt update

2.2.2 설치 및 설치 확인

apt install zabbix-agent
systemctl start zabbix-agent

설치를 확인한다.

apt list zabbix-agent -a
netstat -tnlp | grep zabbix

10050 포트의 여부를 확인한다.

2.3. Agent 설정

2.3.1. Agent 자동 시작 설정

apt install sysv-rc-conf
sysv-rc-conf zabbix-agent on
sysv-rc-conf --list zabbix-agent

2.3.2. Agent 파일 설정

vi /etc/zabbix/zabbix_agentd.conf
Server=Zabbix Server IP
ServerActive=Zabbix Server IP:10051
Hostname=Zabbix Agent IP
DebugLevel=4

2.3.3. 수집 확인

systemctl restart zabbix-agent
tail -f /var/log/zabbix/zabbix_agentd.log

SUCCEED를 확인 했다면, zabbix_agentd의 DebugLevel을 다시 주석 처리한다.

당신의 방화벽에서 Zabbix Server에서 Agent로의 10051 포트 Inbound 정책을 허용하고, Zabbix Agent에서 Zabbix Server로의 10050 포트 Inbound 정책을 허용한다.

Zabbix Server 의 관리툴에 로그인하여 설정 -> 호스트 탭에서 해당 Agent를 추가할 수 있다.