zabbix實戰
參考:
http://www.rzrgm.cn/clsn/p/7885990.html#auto_id_15
https://my.oschina.net/logmm/blog/1844724#h1_14
一、監控平臺介紹
1、常見的開源監控軟件
cacti、nagios、zabbix、smokeping、open-falcon等
catcti、nagios、zabbix服務端監控,需要php環境支持,其中cacti、zabbix需要mysql作為數據存儲;nagios不需要存儲歷史數據,注重服務或者監控項的狀態;zabbix會獲取服務或者監控項目的數據,并把它記錄到數據庫。
open-falcon是小米公司開發的。
2、zabbix
Zabbix是一個基于WEB界面的提供分布式系統監控以及網絡監控功能的企業級開源運維平臺,也是目前國內互聯網用戶中使用最廣的監控軟件。
Zabbix易于管理和配置,能生成比較漂亮的數據圖,其自動發 現功能大大減輕日常管理的工作量,豐富的數據采集方式和API接口可以讓用戶靈活進行數據采集,而分布式系統架構可以支持監控更多的設備。理論上,通過 Zabbix提供的插件式架構,可以滿足企業的任何需求。
工作流程:
Agent安裝在被監控的主機上,Agent負責定期收集客戶端本地各項數據,并發送到Zabbix server端,Zabbix server端收到數據,將數據存儲到數據庫中,用戶基于Zabbix Web可以看到數據在前端顯示的圖像。
zabbix監控部署,5個常見的程序:
- zabbix_server:服務端守護進程,其中,zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy的數據最終提交給zabbix_server。
- zabbix_agentd:客戶端守護進程,負責收集客戶端數據,比如cpu負載、內存、磁盤使用情況等
- zabbix_get:zabbix數據獲取工具,單獨使用的命令,通常在server端或proxy端執行獲取遠程客戶端信息的命令
- zabbix_sender:zabbix數據發送工具,用于發送數據給server端或proxy端,通常用于耗時比較長的檢查,很多檢查非常耗時,導致zabbix超時,于是需要在腳本中執行完畢之后,使用sender主動提交數據
- zabbix_proxy:zabbix分布式代理守護進程,分布式監控架構需要部署zabbix_proxy
二、安裝配置
1、環境
zabbix服務端服務器版本
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
zabbix使用目前最新版本:Zabbix 4.0 LTS
zabbix官網下載以及配置說明:https://www.zabbix.com/download_sources
2、安裝-服務端
因為程序運行需要連接數據庫,我們先安裝數據庫軟件,MySQL和mariadb都可以
2.1、安裝-數據庫
yum安裝mariadb
# yum install -y mariadb-server
# systemctl start mariadb.service
創建初始數據庫
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
后面可能需要重置登錄密碼
mysql>update zabbix.users set passwd=md5('123456') where alias='Admin';
mysql>flush privileges;
2.2、yum形式安裝zabbix rpm
配置yum源
阿里yum配置
#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.rep #curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
zabbix yum安裝
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
開始yum安裝zabbix服務
依賴包安裝
# yum install gcc curl curl-devel libcurl-devel pcre-devel net-snmp-devel net-snmp -y
安裝服務端
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent //服務端也安裝zabbix-agent用于監控自己和使用客戶端的工具
安裝成功 Installed: zabbix-agent.x86_64 0:4.0.3-1.el7 zabbix-server-mysql.x86_64 0:4.0.3-1.el7 zabbix-web-mysql.noarch 0:4.0.3-1.el7 Dependency Installed: OpenIPMI-libs.x86_64 0:2.0.23-2.el7 OpenIPMI-modalias.x86_64 0:2.0.23-2.el7 dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7 fontpackages-filesystem.noarch 0:1.44-8.el7 fping.x86_64 0:3.10-4.el7 iksemel.x86_64 0:1.4-2.el7.centos libXpm.x86_64 0:3.5.12-1.el7 libevent.x86_64 0:2.0.21-4.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3 libxslt.x86_64 0:1.1.28-5.el7 libzip.x86_64 0:0.10.1-8.el7 net-snmp-libs.x86_64 1:5.7.2-37.el7 php.x86_64 0:5.4.16-46.el7 php-bcmath.x86_64 0:5.4.16-46.el7 php-cli.x86_64 0:5.4.16-46.el7 php-common.x86_64 0:5.4.16-46.el7 php-gd.x86_64 0:5.4.16-46.el7 php-ldap.x86_64 0:5.4.16-46.el7 php-mbstring.x86_64 0:5.4.16-46.el7 php-mysql.x86_64 0:5.4.16-46.el7 php-pdo.x86_64 0:5.4.16-46.el7 php-xml.x86_64 0:5.4.16-46.el7 t1lib.x86_64 0:5.1.2-14.el7 unixODBC.x86_64 0:2.3.1-11.el7 zabbix-web.noarch 0:4.0.3-1.el7
加入開機啟動:
Linux6系列:chkconfig zabbix_server on
Linux7系列:systemctl enable zabbix_server
導入數據:
#zcat /usr/share/doc/zabbix-server-mysql-4.0.1/create.sql.gz|mysql -uzabbix -pzabbix zabbix
修改zabbix服務主配置文件
編輯文件/etc/zabbix/zabbix_server.conf
#vim /etc/zabbix/zabbix_server.conf
DBPassword=password
添加時區 修改/etc/httpd/conf.d/zabbix.conf
#vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
啟動服務
# systemctl start zabbix-server
# systemctl start httpd
寫入開機自啟動
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF
2.3、編譯安裝zabbix
說明:
編譯安裝步驟分為:編譯安裝zabbix-server>添加服務>配置主配文件>將web主文件放到web程序目錄下
添加客戶端zabbix用戶:
#groupadd zabbix
#useradd -g zabbix zabbix
下載源碼包:
# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
解壓
#tar -zxvf zabbix-4.0.3.tar.gz
安裝過程
安裝依賴:
#yum install libevent-devel pcre* -y
配置
同時安裝server和agent,并支持將數據放入MySQL數據庫中,可使用如下配置命令
#./configure --enable-server --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --prefix=/usr/local/zabbix
如果僅安裝sever,并支持MySQL數據庫,可使用如下配置命令
#./configure --enable-server --with-mysql --with-net-snmp --prefix=/usr/local/zabbix
如果僅安裝proxy,并支持MySQL數據庫,可使用如下配置命令
#./configure --enable-proxy --with-mysql --with-net-snmp --with-ssh2 --prefix=/usr/local/zabbix
如果僅安裝客戶端agent,可使用如下配置命令
#./configure --prefix=/usr/local/zabbix --enable-agent
編譯安裝
#make && make install
#ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系統軟連接
#ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系統軟連接
導入數據:
源碼形式安裝的:zabbix源碼包解壓后的database/mysql/目錄中有zabbix的模版數據,導入即可
zabbix-4.0.1]# cd database/mysql/ [mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql [mysql]# mysql -uzabbix -pzabbix zabbix < images.sql [mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
修改zabbix服務主配置文件
編譯安裝的zabbix配置目錄:/usr/local/zabbix/etc/zabbix_server.conf
#vim /usr/local/zabbix/etc/zabbix_server.conf
DBhost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
加入開機自啟動
在zabbix源碼包解壓后的目錄中的misc/init.d/fedora/core/目錄下有zabbix_agentd、zabbix_server兩個文件,這兩個文件就是zabbix服務端、客戶端的服務文件。
# cd zabbix-4.0.1
# ls misc/init.d/fedora/core/
zabbix_agentd zabbix_server
zabbix_agentd、zabbix_server就是服務端和客戶端的服務文件,復制到/etc/rc.d/init.d/目錄中。分別設置可執行權限并添加到系統服務管理中。
# cp misc/init.d/fedora/core/* /etc/rc.d/init.d/ # chmod +x /etc/rc.d/init.d/zabbix_server # chmod +x /etc/rc.d/init.d/zabbix_agentd # chkconfig --add /etc/rc.d/init.d/zabbix_agentd # chkconfig --add /etc/rc.d/init.d/zabbix_server
修改zabbix_agentd、zabbix_server文件的BASEDIR:
# vim /etc/rc.d/init.d/zabbix_server
BASEDIR=/usr/local/zabbix/# vim /etc/rc.d/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix/
BASEDIR就是zabbx的安裝目錄。
復制zabbix的Web應用程序到網站目錄中
# cd zabbix-4.0.1 # cp -r frontends/php/* /htdocs/zabbix/ # chown -R nginx.nginx /htdocs/
編譯安裝 nginx和php參考:http://www.rzrgm.cn/zengchunyun/p/5555997.html
使用瀏覽器訪問http://zabbix_ip:port/setup.php
3、初始化配置WEB界面
1、使用瀏覽器訪問http://zabbix_ip:port
2、檢測頁面需要全部通過

3、選擇mysql數據庫,填寫連接信息

4、host與port不需要修改,name自定義

5、確認信息,正確點擊下一步

6、完成
進入登陸界面 賬號Admin密碼zabbix 注意A大寫
4、安裝-客戶端
4.1.Linux zabbix_agent客戶端
安裝配置步驟很簡單:創建zabbix用戶和組-→安裝(yum/編譯)-→修改配置文件中監控機ip-→安裝后配置(開機啟動、防火墻)
1、yum安裝
#yum install zabbix-agent -y
2、編譯安裝
需要監控的客戶端往往是企業內部的所有服務器,所以數量較多,如果沒有訪問外網權限,可以使用源碼編譯安裝方式,
ansible批量安裝zabbix-agentd
# ansible zbx -m raw -a 'groupadd zabbix && useradd -g zabbix zabbix' //設置客戶端zabbix用戶
# ansible zbx -m copy -a "src=/tools/zabbix-4.0.3.tar.gz dest=/tools/" //傳輸軟件包 # ansible zbx -m raw -a 'tar -zxvf /tools/zabbix-4.0.3.tar.gz -C /tools/' //解壓 # ansible zbx -m raw -a 'cd /tools/zabbix-4.0.3 && ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install' //編譯安裝 # ansible zbx -m raw -a 'sed -n 94p /usr/local/zabbix/etc/zabbix_agentd.conf' //查看客戶端配置 # ansible zbx -m raw -a 'sed -i "94s/127.0.0.1/192.168.12.120/" /usr/local/zabbix/etc/zabbix_agentd.conf' //修改客戶端配置 # ansible zbx -m raw -a 'ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/' //添加系統軟連接 # ansible zbx -m raw -a 'ln -s /usr/local/zabbix/bin/* /usr/local/bin/' //添加系統軟連接
3、安裝過程中的問題解決:
若編譯安裝報錯:
configure: error: Unable to use libpcre (libpcre check failed)
我們需要安裝依賴包:yum -y install pcre*
4、啟動zabbix-agentd。
# ansible zbx -m raw -a '/usr/local/zabbix/sbin/zabbix_agentd'
# ansible zbx -m raw -a 'netstat -lnp | grep 10050'
5、加入到開機啟動
# ansible linux -m raw -a 'echo "/usr/local/zabbix/sbin/zabbix_agentd" >> /etc/rc.d/rc.local'
6、檢查服務端和客戶端的聯通性
如果防火墻未開放
#iptables -A INPUT -s 192.168.12.120 -p tcp --dport 10050 -j ACCEPT
工具zabbix_get:yum install zabbix_get -y
# zabbix_get -s x.x.x.x -p 10050 -k "system.cpu.load[all,avg1]" //x.x.x.x 是客戶端的ip 0.000000
4.2.windows zabbix_zgent客戶端
軟件獲?。?a target="_blank" rel="noopener nofollow">https://www.zabbix.com/download_agents,下載zabbix_agents-4.0.0-win-i386.zip
1、解壓后進行配置:編輯配置文件zabbix_agentd.win
EnableRemoteCommands=1 #允許在本地執行遠程命令 LogRemoteCommands=1 LogFile =D:\Program Files\zabbix_agents-4.0.0-win-i386\zabbix.log #執行遠程命令是否保存操作日志 Server = 192.168.12.120 #填寫zabbix服務器IP地址 Hostname=win-server13.39 #zabbix_agent客戶端計算機名 (被監控主機)
2、安裝并啟動:dos下運行注冊服務和啟動
c:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.win.conf #安裝zabbix客戶端
C:\ zabbix\ zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf #啟動zabbix服務
3、win安裝zabbix-agent的問題
【0X0000005】

這種報錯說明需要使用管理員權限,重新用管理員權限運行cmd執行
卸載服務重新安裝
先停止服務,然后運行C:\zabbix\zabbix_agentd.exe -d -c C:\zabbix\zabbix_agentd.win.conf
三、主動和被動模式
主動或被動是相對客戶端而言。
- 被動模式:服務端會主動連接客戶端獲取監控項目數據,客戶端被動地接收連接,并把監控信息傳遞給服務端
- 主動模式:客戶端會主動把監控數據匯報給服務端,服務端只負責接收即可。
- 當客戶端數量非常多時,建議使用主動模式,這樣可以降低服務端的壓力。
- 服務端有公網ip,客戶端只有內網ip,但卻能連外網,這種場景適合主動模式。
主動模式:在agentd配置文件中定義:ServerActive=服務端ip
被動模式:在agentd配置文件中定義:Server=服務端ip
四、配置報警
1、配置郵件告警
1.1、說明
發送郵件主要思路是:觸發器 -> 動作 -> 腳本發送郵件
腳本存放位置在zabbix_server.conf里:
#vim zabbix_server.conf
#AlertScriptsPath=/etc/zabbix/script //將發送告警郵件的腳本放在這里即可
修改了配置文件需要重啟zabbix_server
使用163或qq郵箱發告警郵件,需要打開開啟POP3/SMTP服務,開啟后會生成授權碼,授權碼保存好,后面腳本中需要用到。
163郵箱為例,

1.2、具體配置:
第一步:安裝郵件服務器
#wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz #tar zxf sendEmail-v1.56.tar.gz -C /usr/src/ #cd /usr/src/sendEmail-v1.56/ #cp -a sendEmail /usr/local/bin/ #yum install perl-Net-SSLeay perl-IO-Socket-SSL -y #wget http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz #tar zxf perl-5.10.0.tar.gz #cd perl-5.10.0 #./configure.gnu -des -Dprefix=/usr/local/perl #make #make install #mv /usr/bin/perl /usr/bin/perl.bak #ln -s /usr/local/perl/bin/perl /usr/bin/perl
測試郵件發送:
/usr/local/bin/sendEmail -f 發送方郵箱地址 -t 接收方郵件地址 -s 發送方SMTP服務器 -u "test" -xu 發送方郵箱登錄用戶名 -xp 發送方郵件服務器登錄密碼 -m "test-1234567890" -l /var/log/sendmail.log

郵件測試成功,我們來寫郵件腳本:
#vim /etc/zabbix/script/sendmail.sh #!/bin/bash
#sendEmail //程序主命令
#-f //發件人郵箱
#-t //收件人郵箱
#-s //發件人郵箱的smtp服務器
#-u //郵件的標題
#-o message-content-type=html //郵件內容的格式為html
#-o message-charset=utf8 //郵件內容字符編碼
#-xu //發件郵箱的用戶名
#-xp //發件郵箱的密碼,也就是上面獲取到的授權碼
#-m //郵件的具體內容
#-l //郵件發送日志記錄文件,非必須
#以下位置變量是zabbix觸發郵件時需要傳參的
#$1 //收件人郵箱
#$2 //標題
#$3 //郵件的具體內容
to=$1 subject=$2 body=$3 user='xxx@136.com' smtp_server='smtp.136.com' password='xxxxx' /usr/local/bin/sendEmail -f $user -t "$to" -s $smtp_server -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu $user -xp $password -m "$body" >> /var/log/sendmail.log
第二步:頁面配置zabbix郵件告警
(1)添加告警媒介


{ALERT.SENDTO} //$1 收件人郵箱
{ALERT.SUBJECT} //$2 郵件標題
{ALERT.MESSAGE} //$3 郵件內容
寫完點擊更新,將其保存
我們來測試用zabbix調用腳本發送郵件


發送成功?。?!
(2)添加觸發器動作

動作

操作

恢復操作

告警郵件 主機 和 問題詳情 是紅色 恢復郵件 主機 和問題詳情 是綠色
<table border="1" bordercolor="black" cellspacing="0px" cellpadding="4px"> <tr > <td>告警主機</td> <td bgcolor="#FF3333">{HOST.CONN}</td> </tr> <tr> <td>告警時間</td> <td>{EVENT.DATE} {EVENT.TIME}</td> </tr> <tr> <td>告警等級</td> <td>{TRIGGER.SEVERITY}</td> </tr> <tr> <td>告警信息</td> <td bgcolor="#FF3333">{TRIGGER.NAME}</td> </tr> <tr> <td>告警項目</td> <td>{TRIGGER.KEY1}</td> </tr> <tr > <td>問題詳情</td> <td bgcolor="#FF3333">{ITEM.NAME}: {ITEM.VALUE}</td> </tr> <tr> <td>當前狀態</td> <td>{TRIGGER.STATUS}: {ITEM.VALUE1}</td> </tr> <tr> <td>事件ID</td> <td>{EVENT.ID}</td> </tr> </table>
<table border="1" bordercolor="black" cellspacing="0px" cellpadding="4px"> <tr > <td>告警主機</td> <td bgcolor="#14ff68">{HOST.CONN}</td> </tr> <tr> <td>告警時間</td> <td>{EVENT.DATE} {EVENT.TIME}</td> </tr> <tr> <td>告警等級</td> <td>{TRIGGER.SEVERITY}</td> </tr> <tr> <td>告警信息</td> <td bgcolor="#14ff68">{TRIGGER.NAME}</td> </tr> <tr> <td>告警項目</td> <td>{TRIGGER.KEY1}</td> </tr> <tr > <td>問題詳情</td> <td bgcolor="#14ff68">{ITEM.NAME}: {ITEM.VALUE}</td> </tr> <tr> <td>當前狀態</td> <td>{TRIGGER.STATUS}: {ITEM.VALUE1}</td> </tr> <tr> <td>事件ID</td> <td>{EVENT.ID}</td> </tr> </table>
接下來只需要給Admin用戶添加收件郵箱了

告警效果:

參考: http://www.rzrgm.cn/hukey/p/11528971.html
2、配置報警第三方平臺
1、添加報警第三方平臺
通過 OneAlert 提供的通知分派與排班策略,以及全方位的短信、微信、QQ、電話提醒服務,您可以在最合適的時間,將最重要的信息推送給最合適的人員。
第一步:web操作


可在個人中心關聯微信

第二步:按照提示安裝
報警效果展示

2、刪除onealert告警
在zabbix監控服務web端操作
第一步:刪除報警媒介中的腳本

第二步:刪除用戶

第三步:刪除用戶群組

第四步:刪除創建的動作

五、監控配置
1、添加監控host group、host
添加群組:登錄zabbix web界面,點擊:配置 -->主機群組 -->創建主機群組
根據業務或服務器類型自定義組名然后點擊添加

添加主機:登錄zabbix web界面,點擊:配置 -->主機 -->創建主機
紅色為必填項,名稱寫了客戶端ip地址,可以自定義,接口地址必須為被監控服務器的ip和監控端口(默認10050)

2、自定義模板
登錄zabbix web界面,點擊:配置 -->模板 -->創建模板
模板的作用是可以通過模板來方便的為相同的主機匹配已經定義好的監控項等,使用起來特別方便
編輯模板名稱和選擇模板對應的主機群組

新建的這個模版為空的,如何快速完善空模板有兩種方法
1、選擇其他的模版,copy
比如Template OS Linux模版,選擇一些監控項

勾選一些監控項,比如:

根據實際勾選一些監控項,選擇自定義的模板然后點擊Copy,這樣可以快速的為新模板匹配監控項、觸發器、圖形

2、鏈接其他模板,然后刪除不用的監控項
點擊模板-->鏈接的模板,然后點擊選擇,選擇需要的模版,再點擊Add,最后更新即可。如下圖:

注意:這時候再去刪除鏈接過來的項目會報錯,需要點擊“取消鏈接”
3、自定義監控項
雖然zabbix自帶了一些常用的監控項,但有時候我們還需要自定義需要的監控項,自定義監控項有助于我們學習監控項的配置和工作方式
下面是在配置文件中指定監控腳本的目錄
#cat /etc/zabbix/zabbix_agentd.conf ... Include=/usr/local/zabbix/etc/zabbix_agentd.d/*.conf //主配置文件中有監控腳本目錄 ...
---------------------------------------------------------------------------------
ansible批量修改
#ansible zbx -m raw -a "sed -i '267 s#^#Include=/usr/local/zabbix/etc/zabbix_agentd.d/*.conf\n#' /usr/local/zabbix/etc/zabbix_agentd.conf "
寫一個監控在線用戶數的例子:
# cat userparameter_login.conf UserParameter=login-user,who|wc -l //命令格式:UserParameter=<key>,<shell command> --------------------------------------------------------------------------------- ansible批量修改 #ansible zax -m raw -a "mkdir /usr/local/zabbix/etc/zabbix_agentd.d"
#ansible zax -m raw -a 'echo "UserParameter=login-user,who|wc -l" > /usr/local/zabbix/etc/zabbix_agentd.d/userparameter_login.conf'
配置完成后重啟客戶端
#ps -ef|grep zabbix_agentd |awk '{print $2}' |xargs kill -9 #/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
-----------------------------------------------------------------------------------
ansible 批量重啟
...
服務端測試
# zabbix_get -s 192.168.12.50 -p 10050 -k "login-user" //-s 指定客戶端ip -p 指定端口 -k 指定key 2
4、在web端配置為主機添加自定義監控項一條龍配置過程
第一步:創建模板
配置→模板→創建模板

創建完成的模板
![]()
第二步:創建應用級,其作用是給監控項分類
點擊應用級→創建應用級,自定義應用級名稱添加

第三步:創建監控項
監控項→創建監控項


注:選擇剛才創建的應用級
第四步:創建觸發器
觸發器→創建觸發器


第五步:創建圖像
圖形→創建圖形

第六步:主機關聯模板
一個主機可以關聯多個模板
配置→主機

查看監控的圖形效
5、自動發現
1、創建自動發現規則
zabbix可以利用discovery模塊,實現自動發現主機、自動將主機添加到主機組、自動加載模版、自動創建項目、自動創建監控圖像。具體操作如下:
依次選擇:配置-->自動發現-->創建發現規則。創建客戶端發現規則。如下圖所示:

參數解釋:
Name(名稱):規則名稱,自定義名稱 Discovery by proxy(由agent代理發現):通過代理搜索 IP range(ip范圍):zabbix_server搜索區域的IP范圍 Update interval(更新間隔):更新的間隔 Checks(檢查):檢測方式,如果用ping方式去發現主機,則zabbix_server需要安裝fping。此處使用agent方式發現。使用zabbix agentd方式的時候,要使用key,這里key為:system.uname。也可以在zabbix_agentd配置文件中自定義key。 Device uniqueness criteria(設備唯一性標準):以IP地址作為被發現主機的標識
設置好檢查之后,點”添加“,檢查添加完成后,勾選”已啟用“,最后點底部的“添加”
2、創建發現Action,即對發現的主機進行自動管理配置
zabbix發現規則創建后,被發現的IP主機不會自動添加至zabbix監控列表,必須添加發現動作。
依次選擇:配置-->動作-->事件源(自動發現)-->創建動作。如下圖:

設置好新的觸發條件主機ip后,點擊”添加“,然后點擊”操作“:

按上圖添加“操作”
3、查看監控主機
設置好之后。依次點擊:監測中-->自動發現,這樣就可以查看到發現到的主機。如下圖:

6、常用監控項添加配置
6.1、端口監控
我們通過內置zabbix內置的key(net.tcp.listen[prot])配置
在server端服務器上手動測試:
# zabbix_get -s ip地址 -p 10050 -k 'net.tcp.listen[3306]' //以MySQL端口3306為例 1 // 返回1代表正常,返回0代表故障
web端配置監控項(配置>主機/模板>監控項>創建監控項)

web端配置觸發器(配置>主機/模板>觸發器>創建觸發器)

查看結果


注:配置完成正常的話顯示“已啟用”
6.2、進程監控
我們通過內置zabbix內置的key(proc.num[<name>,<user>,<state>,<cmdline>])配置
在server端服務器上手動測試:
# zabbix_get -s ip地址 -p 10050 -k 'proc.num[keepalived]' //以keepalived進程為例 3 // 返回3代表有進程正常,返回0代表故障
web端配置監控項(配置>主機/模板>監控項>創建監控項)

web端配置觸發器(配置>主機/模板>觸發器>創建觸發器)

查看結果


6.3、監控磁盤空間
6.4、MySQL主從監控
六、問題解決
1、解決中文亂碼

發現文字的部分是不可讀的方塊,是因為zabbix字體庫中沒有中文,需要我們修改默認字體為中文
字體配置文件/usr/local/nginx/html/zabbix/include/defines.inc.php (/usr/local/nginx/html/是我網站的根目錄),下配置了字體文件的位置
# vim /htdocs/zabbix/include/defines.inc.php
define('ZBX_FONTPATH', realpath('fonts')); // where to search for font (GD > 2.0.18)
字體放在fonts目錄。也就是zabbix網站目錄的fonts目錄下:
# cd /usr/local/nginx-1.16.0/html/zabbix/assets/fonts/ ]# ll -rw-r-----. 1 nginx nginx 756072 10月 21 17:25 DejaVuSans.ttf
從windows中拷貝一個中文字體將其替換:
Windows中:C:\Windows\Fonts里面的就是字體:

-rw-r-----. 1 nginx nginx 756072 10月 21 17:25 DejaVuSans.ttf -rw-r----- 1 root root 18214472 10月 29 11:33 simsun.ttc //windows中的中文字體文件 [fonts]# mv DejaVuSans.ttf DejaVuSans.ttf_bak [fonts]# mv simsun.ttc DejaVuSans.ttf [fonts]# chown nginx.nginx DejaVuSans.ttf [fonts]# ll 總用量 18528 -rw-r----- 1 nginx nginx 18214472 10月 29 11:33 DejaVuSans.ttf -rw-r-----. 1 nginx nginx 756072 10月 21 17:25 DejaVuSans.ttf_bak
也可以
# yum -y install wqy-microhei-fonts # cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/local/nginx-1.16.0/html/zabbix/assets/fonts/DejaVuSans.ttf
七、內置變量
1、郵件告警變量表
常用變量值
默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
默認信息:
告警主機:{HOSTNAME1},IP地址:{HOST.CONN}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復信息:打鉤
恢復主旨:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
恢復信息:
告警主機:{HOSTNAME1},IP地址:{HOST.CONN}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
主機顯示名:{HOST.NAME}
ansible:playbook安裝zabbix
作者:運維·拖拉斯基
作者水平很低, 如果有錯誤及時指出, 如果你覺得本文寫的好請點一波贊~(≧▽≦)/~
出處:http://www.rzrgm.cn/-abm/
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
浙公網安備 33010602011771號