프로그래밍/Monitoring
Zabbix 3.4 Install Guide, 자빅스 3.4 인스톨 가이드
훈마로
2018. 1. 31. 09:38
Zabbix Server Install Manual (자빅스 서버 설치 매뉴얼)
Zabbix
- 네트워크나 서버(가상)등을 포함한 서비스들을 감시하고 실시간으로 자원을 체크하여 관리자에게 신속히 알리기위한 네트워크 관리 솔루션 소프트웨어 입니다.
- zabbix 에이전트를 Unix, Linux, Windows 등의 OS에 설치하여 CPU,MEM,파일시스템(용량),특정 TCP 등을 포함한 많은 정보를 포함하여 감시를 할수 있으며 장애대비 모니터링으로써도 탁월합니다.
설치환경
- OS: CentOS 7 64bit 1708
- Kernel: 3.10
- Zabbix: 3.4
- mariadb: 5.5.56
- php: 5.4.16
- Zabbix-server-mysql: 3.4.5
- zabbix-web-mysql.noarch: 3.4.5
Zabbix 설치
Zabbix Server
Yum 설치를 위한 EPEL 저장소 추가
# yum install epel-release -yInstalled:epel-release.noarch 0:7-9Complete!
Zabbix Package 설치
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpmUpdating / installing...1:zabbix-release-3.4-1.el7 ################################# [100%]############### webtest11.com End #################
[Zabbix-DB, Zabbix-Web / DB(mariadb) / WEB(Apache) / PHP] yum 으로 한번에 설치
# yum -y install zabbix-server-mysql zabbix-web-mysql mysql mariadb-server httpd php
DB 실행 및 설정
DB 실행 및 프로세스 확인
# systemctl start mariadb# systemctl enable mariadbCreated symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.# ps -ef | grep mysqlmysql 11918 1 0 12:09 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usrmysql 12080 11918 1 12:-0 ? 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sockroot 12134 11523 0 12:09 tty1 00:00:00 grep --color=auto mysql
기본설정 (DB 구동된 상태)
# mysql_secure_installationEnter current password for root (enter for none): (패스워드 입력)Remove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y
DB 접속 및 설정
- 프록시는 생략 가능
# mysql -u root -pEnter password: (패스워드 입력)MariaDB [(none)]> create database zabbix_server;MariaDB [(none)]> grant all privileges on zabbix_server.* to zabbix@localhost identified by 'ironman';MariaDB [(none)]> create database zabbix_proxy;MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'ironman';MariaDB [(none)]> flush privileges;MariaDB [(none)]> exit;
Zabbix 테이블값 정보 데이터베이스에 적용
# cd /usr/share/doc/zabbix-server-mysql-3.4.5# gunzip create.sql.gz# lsAUTHORS COPYING ChangeLog NEWS README create.sql (해당파일)# mysql -u root -p zbx_server < create.sqlEnter password: (DB ROOT 패스워드 입력)
Zabbix Proxy
- 프록시 생략 가능
# cd /usr/share/doc/zabbix-proxy-mysql-3.4.6# gunzip schema.sql.gz# lsAUTHORS COPYING ChangeLog NEWS README schema.sql (해당파일)# mysql -u root -p zbx_proxy < schema.sqlEnter password: (DB ROOT 패스워드 입력)
Config 설정
Zabix Config 설정
# vi /etc/zabbix/zabbix_server.conf(맨 아래 추가)DBHost=localhostDBName=zabbix_serverDBUser=zabbixDBPassword=ironman:wq (저장)
Zabbix Proxy
- 프록시 생략 가능
# vi /etc/zabbix/zabbix_proxy.conf(맨 아래 추가)# 0 - active mode# 1 - passive modeProxyMode=0Server=[서버 아이피 입력]Hostname=[원하는 호스트명 입력 예) Zabbix proxy]DBName=zabbix_proxyDBUser=zabbixDBPassword=ironman
PHP Config 설정
# vi /etc/php.inimax_execution_time = 600max_input_time = 600memory_limit = 256Mpost_max_size = 32Mupload_max_filesize = 16Mdate.timezone = Asia/Seoul (앞에 ; 주석제거후 한국시간으로 설정):wq (저장)
iptables 방화벽 포트 허용 및 재시작
# CentOS 7firewall-cmd --permanent --add-port=10050/tcpfirewall-cmd --permanent --add-port=10051/tcpfirewall-cmd --permanent --add-port=80/tcpfirewall-cmd --reloadsystemctl restart firewalld# CentOS 6vi /etc/sysconfig/iptables# Zabbix Agent Port-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT# Zabbix Server Port-A INPUT -p tcp -m tcp --dport 10051 -j ACCEPT# Zabbix Web Port-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT# 포트 변경시 그에 맞춰 변경service iptables restart
Apache & Zabbix 서버 구동
Apache Server 구동 및 재부팅시 자동시작 처리
#systemctl start httpd#systemctl enable httpd
Zabbix Server 구동 및 재부팅시 자동시작 처리
#systemctl start zabbix-server#systemctl enable zabbix-server
Zabbix 서버 웹으로 접속
- http://localhost/zabbix
- 하단의 설정 DB설정/server details 설정 후
- 관리자 페이지 로그인(admin/zabbix)
- VM일경우 ifconfig를 통해 inet 주소/zabbix, 연결이 안될경우 NAT 혹은 BRIDGE 방식 등의 관련하여 VM에서 웹서버 접속하는 법 찾기
Configure DB connection
- 웹 관리자 페이지의 DB 설정을 위의 mariaDB에서 zabbix-server 설정한 것과 동일하게 설정
- Database type: MySQL
- Database host: localhost
- Database port: 0
- Database name: zabbix_server
- User: zabbix
- Password: ironman
Zabbix server details
- Host: localhost
- Port: 10051
- Name: (웹 페이지 접속시 보여주고 싶은 메인페이지 명)
Trouble Shooting
아파치 80 Port 막혀서 웹페이지 안 뜰 경우
# 80 포트 방화벽 추가 확인# 방화벽 확인netstat -nlp | grep 80# iptables 등록 확인iptables -nL | grep 80# 등록되어있을 경우 포트 변경vi /etc/httpd/con/httpd.confListen 다른 포트# 다른 포트 방화벽 등록위의 방화벽 포트 허용 및 재시작 부분 참고
SElinux
# SElinux 해제vi /etc/sysconfig/selinuxSELINUX=disabledreboot# reboot 해도 SElinux 활성화 되어있을 경우vi /etc/grub.confkernel ..., selinux=0 # 맨뒤에 selinux=0 추가# SElinux 활성화 된 상태에서 등록vi /etc/zabbix/zabbix_agent_t.te# 아래 내용 신규 생성된 파일에 추가 후 저장/종료 (:wq)module local-zabbix 1.0;require {type zabbix_agent_t;class process setrlimit;}#============= zabbix_agent_t ==============allow zabbix_agent_t self:process setrlimit;:wqsemanage permissive -a zabbix_agent_t