1 zabbix簡介
zabbix是一個高度集成的監控解決方案,通過C/S模式採集監控數據,通過B/S模式實現web管理。
監控服務器:通過SNMP或Agent採集數據,數據可以寫入Mysql,Oracle數據庫中,服務器使用LAMP實現web端的管理。
被監控主機:被監控主機需要安裝agent
2 搭建Zabbix監控系統
2.1 部署LAMP環境
yum -y install httpd mariadb mariadb-server mariadb-devel php php-mysql
yum -y install gcc gcc-c++
2.2 安裝zabbix
(1)useradd zabbix
tax -xf zabbix-3.2.3.tar.gz
[root@ser56 zabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent
--with-mysql #配置監控程序,客戶端程序(對本機監控),使用mysql數據庫
(--enable-proxy:開啓zabbix代理功能,此選項常用於分佈式監控
--with-net-snmp : 支持 網絡監控
--with-libcurl : 支持 curl,用於 web 監控
--with-libxml2:開啓虛擬監控)
[root@ser56 zabbix-3.2.3]#make install
[root@ser56 zabbix-3.2.3]# ls /usr/local/zabbix/
bin etc lib sbin share
bin:zabbix管理命令
etc:配置文件
lib:庫文件
sbin:服務啓動程序
share:幫助文件
(2)初始化配置
創建web頁面
[root@ser56 zabbix-3.2.3]# cp -r frontends/php/ /var/www/html/zabbix
創建存儲配置信息的庫和表,並授權用戶
create database zabbixdb;
grant all on zabbixdb.* to lisi@localhost identified by “123456”;
[root@ser56 zabbix-3.2.3]# ls database/mysql/
data.sql images.sql schema.sql #恢復數據必須從後邊的開始
[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456 zabbixdb < database/mysql/schema.sql
[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456 zabbixdb < database/mysql/images.sql
[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456 zabbixdb < database/mysql/data.sql
(3)安裝依賴的軟件包
根據web配置頁面安裝依賴包
[root@ser56 ~]# vim /etc/php.ini
878 date.timezone = Asia/Shanghai #修改時區
[root@ser56 ~]# systemctl restart httpd
[root@ser56 zabbix]# yum -y install php-gd php-xml
[root@ser56 zabbix]# rpm -ivh --nodeps php-bcmath-5.4.45-13.el7.remi.x86_64.rpm php-mbstring-5.4.45-13.el7.remi.x86_64.rpm
[root@ser56 ~]# systemctl restart httpd
訪問web頁面:firefox http://ip/zabbix
2.3 啓動zabbix監控服務
(1)創建啓動腳本
[root@ser56 zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@ser56 zabbix-3.2.3]# chmod +x /etc/init.d/zabbix_server
[root@ser56 zabbix-3.2.3]# sed -i '22s;/usr/local;&/zabbix;' /etc/init.d/zabbix_server
(2)修改配置文件
[root@ser56 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
修改數據庫庫名,用戶名,密碼
(3)啓動服務
[root@ser56 ~]# /etc/init.d/zabbix_server start
[root@ser56 ~]# netstat -anptu | grep zabbix_server #端口10051
2.4 監控linux機器
(1)監控遠端主機
tar -xf zabbix-3.2.3.tar.gz
useradd zabbix
[root@ser51 zabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-agent
[root@ser51 zabbix-3.2.3]# make install
[root@ser52 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.4.56 #允許監控服務器連接
ServerActive=192.168.4.56:10051 #指定監控服務器的ip和端口,此處爲主動模式
(注意:相對於agent而言,被動模式爲server主動獲取agent的信息,主動模式爲agent把自己的信息推送給server。一般爲了減輕服務器的壓力,會設置爲主動模式。)
[root@ser51 zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ #服務的啓動等放在該路徑下
vim /etc/init.d/zabbix_agentd #修改一下信息
BASEDIR=/usr/local/zabbix
/etc/init.d/zabbix.agented start #啓動agent
netstat -anptu | grep :10050 #驗證端口
(2) 監控本機
[root@ser51 zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
vim /etc/init.d/zabbix_agentd
2.5 監控windows機器
(1)解壓,移動到目標路徑下;有以下文件夾,\bin,\conf
(2)修改配置文件
LogFile= #日誌文件路徑
Server= # zabbix服務器ip地址
ServerActive= # zabbix服務器ip地址
Hostname= # 客戶端機器名
(3)安裝
在\bin\win64\路徑下打開cmd(shift+右鍵)
C:\bin\win64> zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf -i #安裝zabbix,安裝之後再服務裏會有
(4)啓動
C:\bin\win64> zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf -s
-c: 指定配置文件的路徑
-s: 啓動
-i :安裝
-d:卸載
-x:停止
2.6 zabbix-proxy安裝(對於分佈式而言)
(1)安裝maraiadb/mysql,創建存儲庫
(2)導入schema.sql文件到庫
(3)編譯安裝zabbix
(4)配置zabbix_proxy.conf文件
2.7 自定義監控
(1) 使用軟件自帶的命令創建新的監控項
修改被監控的httpd的端口從80改爲8090
a 創建主機
b 創建模版(配置--->模版--->創建新的模版)
c 創建新的應用集
d 創建監控項
e 監控主機時調用創建的新的模版
f 查看監控信息 ,監測中--->最新數據
(2)自定義監控命令創建新的監控項
a 被監控端啓用自定義監控命令
[root@ser51 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
263行:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1 #啓用自定義
Format: UserParameter=<key>,<shell command> #格式,第一個參數是命令名,第二個參數是命令對應的shell命令或者腳本
b 被監控端定義監控命令
[root@ser51 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/getusers.conf
UserParameter=get_login_users,grep "/bin/bash" /etc/passwd | wc -l
c 重啓服務
[root@ser51 ~]# /etc/init.d/zabbix_agentd restart
d 測試配置
/usr/local/zabbix/bin/zabbix_get --help
[root@ser51 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050
-k get_login_users #測試自定義的命令是否正確
在配置-模版-監控項-新建-鍵值-輸入get_login_users 實現圖形化監測
2.8 配置監控報警
發生錯誤如何發送郵件?
創建觸發器 : 配置--主機--模版--觸發器--添加
創建動作 : 配置--動作--添加--動作--操作
創建郵箱帳號:管理--用戶--報警媒介--添加 (指定收件人)
指定郵件服務器:管理--報警媒介類型--添加