Linux(centos6)環境zabbix 3.4監控安裝部署及zabbix agent配置
監控的範疇php
監控工具應具有采集信息、存儲信息、展現信息、報警通知等功能,Zabbix 是由 Alexei Vladishev 開發的一種網絡監視、管理系統,基於 Server-Client 架構。可用於監視各類網絡服務、服務器和網絡機器等狀態,實現集中監控管理的應用程序。html
zabbix agent:部署在被監控主機上,負責被監控主機的數據,並將數據發送給zabbix server。mysql
zabbix server:負責接收agent的報告信息,並組織配置信息、統計信息、操做數據等。nginx
zabbix database:用於存儲所遇到zabbix的配置信息、監控數據的數據庫。使用如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 儲存資料。web
zabbix web:zabbix的web界面是基於 PHP 的,管理員經過web界面管理zabbix配置以及查看zabbix相關監控信息,能夠單獨部署在獨立的服務器上。sql
部署zabbix服務端
部署zabbix服務端須要LNMP環境(nginx,mysql,php)數據庫
環境
[root@nginx ~]# cat /etc/redhat-release
CentOS release 6.10 (Final)
[root@nginx ~]# uname -r
2.6.32-754.el6.x86_64vim
添加用戶
對於全部Zabbix的守護進程,須要一個無特權的用戶。若是Zabbix守護進程以一個無特權的用戶帳戶啓動,那麼它會使用該用戶運行。然而,若是一個守護進程以‘root’用戶啓動,它會切換爲‘zabbix’用戶帳戶,且這個用戶必須存在。centos
[root@nginx ~]# groupadd -r zabbix
[root@nginx ~]# useradd -r -g zabbix -s /sbin/nologin zabbixbash
安裝
安裝依賴
[root@nginx zabbix-3.4.14]# yum install -y unixODBC-devel mysql-devel net-snmp-devel libxml2-devel libcurl-devel libevent-devel OpenIPMI OpenIPMI-devel mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml libssh2*
編譯安裝
[root@nginx download]# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.14/zabbix-3.4.14.tar.gz/download -O zabbix-3.4.14.tar.gz
[root@nginx download]# tar -zxf zabbix-3.4.14.tar.gz
[root@nginx download]# cd zabbix-3.4.14
[root@nginx zabbix-3.4.14]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-ipv6 --with-mysql --with-libxml2 --with-net-snmp --with-libevent --with-openssl --with-libcurl --with-libpcre --with-iconv --with-ssh2 --with-ladp --with-openipmi
編譯過程當中也許會出現報錯,缺乏某些依賴庫,對應安裝缺乏的庫而後從新編譯,知道出現下面這個提示
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
[root@nginx zabbix-3.4.14]# make && make install
配置zabbix環境變量
[root@nginx zabbix-3.4.14]# vim /etc/profile.d/zabbix.sh
export PATH=/usr/local/zabbix/bin:/usr/local/zabbix/sbin:$PATH
建立zabbix數據庫
[root@nginx zabbix-3.4.14]# mysql -uroot -p -h localhost
Enter password:
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test01 |
| test02 |
| test03 |
| test04 |
+--------------------+
6 rows in set (0.02 sec)
mysql>
mysql> create database zabbix character set utf8; #建立zabbix數據庫,並設置utf8格式
Query OK, 1 row affected (0.00 sec)
mysql> grant all on *.* to zabbix@'127.0.0.1' identified by '111'; #賦予zabbix用戶管理權限
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on *.* to zabbix@'localhost' identified by '111';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on *.* to zabbix@'192.168.10.18' identified by '111';
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> use mysql; #鏈接mysql數據庫
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
mysql>
mysql> select user,host,password from user; #查看用戶信息
+--------+---------------+-------------------------------------------+
| user | host | password |
+--------+---------------+-------------------------------------------+
| root | localhost | *832EB84CB764129D05D498ED9CA7E5CE9B8F83EB |
| root | nginx | |
| root | 127.0.0.1 | |
| | localhost | |
| | nginx | |
| tongbu | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| zabbix | 127.0.0.1 | *832EB84CB764129D05D498ED9CA7E5CE9B8F83EB |
| zabbix | localhost | *832EB84CB764129D05D498ED9CA7E5CE9B8F83EB |
| zabbix | 192.168.10.18 | *832EB84CB764129D05D498ED9CA7E5CE9B8F83EB |
+--------+---------------+-------------------------------------------+
9 rows in set (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
Bye
[root@nginx zabbix-3.4.14]# mysql -u zabbix -p #使用zabbix登陸數據庫
mysql> use zabbix; #連接建立的zabbix數據庫
Database changed
mysql>
mysql> source /root/download/zabbix-3.4.14/database/mysql/schema.sql; #導入schema.sql數據到zabbix數據庫中
mysql> source /root/download/zabbix-3.4.14/database/mysql/images.sql; #導入images.sql數據
mysql> source /root/download/zabbix-3.4.14/database/mysql/data.sql; #導入data.sql數據
mysql>
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[root@nginx zabbix-3.4.14]#
查看和編輯zabbix_server配置文件,啓動zabbix_server進程
[root@nginx ~]# ln -sv /usr/local/zabbix/etc/ /usr/local/etc/ #連接zabbix server及agentd配置文件
`/usr/local/etc/etc' -> `/usr/local/zabbix/etc/'[root@nginx ~]# cp /root/download/zabbix-3.4.14/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
#拷貝zabbix server啓動腳本
[root@nginx ~]# mkdir /var/run/zabbix/
[root@nginx ~]# mkdir /var/lock/zabbix/
[root@nginx ~]# chown zabbix.zabbix /var/run/zabbix/ #爲zabbix pid文件目錄設置zabbix用戶讀寫權限
[root@nginx ~]# chown zabbix.zabbix /var/lock/zabbix/ #爲zabbix sock文件目錄設置zabbix用戶讀寫權限
[root@nginx ~]# mkdir /var/log/zabbix/
[root@nginx ~]# chown zabbix.zabbix /var/log/zabbix/ #爲zabbix log文件目錄設置zabbix用戶讀寫權限
# 調整zabbix_server 配置文件
[root@nginx ~]# cp /usr/local/zabbix/etc/zabbix_server.conf /usr/local/zabbix/etc/zabbix_server.conf.bak
[root@nginx ~]# echo > /usr/local/zabbix/etc/zabbix_server.conf
[root@nginx ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #指定數據庫名稱zabbix
DBUser=zabbix #指定訪問數據庫的用戶名zabbix
Timeout=4 #指定等待代理、SNMP設備或外部檢查的時間(秒)
LogSlowQueries=3000 #記錄數據庫查詢可能須要多長時間(以毫秒爲單位)。
ListenPort=10051 #啓動zabbix_server監聽端口
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=1024
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/lock/zabbix
DBHost=locahost #指定DBhost主機
DBPassword=111
DBSocket=/var/lock/mysql/msyql.sock
DBPort=2206
#調整zabbix_server啓動腳本
[root@nginx ~]# vim /etc/init.d/zabbix_server
#!/bin/bash
#
# chkconfig: - 90 10
# description: Starts and stops Zabbix Server using chkconfig
# Tested on Fedora Core 2 - 5
# Should work on all Fedora Core versions
#
# @name: zabbix_server
# @author: Alexander Hagenah <hagenah@topconcepts.com>
# @created: 18.04.2006
#
# Modified for Zabbix 2.0.0
# May 2012, Zabbix SIA
#
# Source function library.
. /etc/init.d/functions
# Variables
# Edit these to match your system settings
# Zabbix-Directory
BASEDIR=/usr/local/zabbix # 調整zabbix安裝路徑
# Binary File
BINARY_NAME=zabbix_server
# Full Binary File Call
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
# PID file
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid # 調整zabbix_server啓動pid文件
# Establish args
ERROR=0
STOPPING=0
#將服務加入開機自啓,啓動zabbix_server
[root@nginx ~]# chkconfig --add zabbix_server
[root@nginx ~]# chkconfig zabbix_server on
[root@nginx ~]# service zabbix_server start
Starting zabbix_server: [ OK ]
查看和編輯zabbix_agentd配置文件,啓動zabbix_agentd進程
[root@nginx ~]# cp /usr/local/zabbix/etc/zabbix_agentd.conf /usr/local/zabbix/etc/zabbix_agentd.conf.bak
[root@nginx ~]#
[root@nginx ~]# echo > /usr/local/zabbix/etc/zabbix_agentd.conf
[root@nginx ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/var/run/zabbix/zabbix_agentd.pid
Server=192.168.10.18
ListenPort=10050
ServerActive=127.0.0.1
Hostname=Zabbix server
[root@nginx ~]# vim /etc/init.d/zabbix_agentd
#!/bin/bash
#
# chkconfig: - 90 10
# description: Starts and stops Zabbix Agent using chkconfig
# Tested on Fedora Core 2 - 5
# Should work on all Fedora Core versions
#
# @name: zabbix_agentd
# @author: Alexander Hagenah <hagenah@topconcepts.com>
# @created: 18.04.2006
#
# Modified for Zabbix 2.0.0
# May 2012, Zabbix SIA
#
# Source function library.
. /etc/init.d/functions
# Variables
# Edit these to match your system settings
# Zabbix-Directory
BASEDIR=/usr/local/zabbix
# Binary File
BINARY_NAME=zabbix_agentd
# Full Binary File Call
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
# PID file
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid
# Establish args
ERROR=0
STOPPING=0
#
[root@nginx ~]# chkconfig zabbix_agentd on
[root@nginx ~]# chkconfig --add zabbix_agentd
[root@nginx ~]# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]
[root@nginx ~]#
安裝zabbix web界面
複製php文件
# 把zabbix web主頁拷貝到nginx html目錄
[root@zabbix zabbix]# cp /root/download/zabbix-3.4.14/frontends/php /usr/local/nginx/html/zabbix -af
[root@zabbix zabbix]# service nginx restart # 重啓nginx服務
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
經過web頁面對zabbix進行配置