zabbix 監控主機並且郵箱報警
zabbix安裝不在演示,前面有文章
先監控一臺主機
被監控主機安裝Zabbix-Agent
同樣需要安裝zabbix官方源
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
安裝客戶端需要的軟體包:
yum -y install zabbix zabbix-agent zabbix-sender
修改配置檔案
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
特定情況配置zabbix_agentd.conf需改變的引數如下:
Server:被動模式,允許哪臺伺服器連線agent。
serverActive:主動模式,向哪臺伺服器傳送資料。
一個agent是可以向多個伺服器傳送資料的,多個ip用逗號分隔。例如:
Server=127.0.0.1,192.168.0.240表server的ip為127.0.0.1和192.168.0.240這兩臺zabbix-server
伺服器端可獲取次agent的監控資料。
[[email protected] ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,192.168.0.240 #被動模式:zabbix-server的ip地址
ServerActive=192.168.0.240:10051 #主動模式
#主動和被動可以同時開啟
啟動zabbix-agent
[[email protected] ~]# service zabbix-agent start
Starting Zabbix agent: [確定]
Zabbix-agent監聽埠10050
[[email protected] ~]# ss -tanlp
新增主機
檢視監控數量
郵件報警配置
郵件報警有兩種情況:
1、Zabbix服務端只是單純的傳送報警郵件到指定郵箱,傳送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號(例如:[email protected]),只能傳送,不能接收外部郵件。
2、使用一個可以在網際網路上正常收發郵件的郵箱賬號(例如:[email protected]),通過在Zabbix服務端中設定,使其能夠傳送報警郵件到指定郵箱。
第一種:使用Zabbix服務端本地郵箱賬號傳送郵件
一、安裝sendmail或者postfix
yum install sendmail #安裝
service sendmail start #啟動
chkconfig sendmail on #設定開機啟動
yum install postfix
service postfix start
chkconfig postfix on
CentOS 5.x 預設已經安裝好sendmail
CentOS 6.x 預設已經安裝好postfix
sendmail和postfix只需要安裝一個即可並開啟服務即可。
一般我們用第二種方式
先新增使用者
新增使用者一定要新增到zabbix超級使用者組
許可權一定要給超級管理員許可權
最後存檔。
用新使用者登入
自定義item
監控mysql狀態
找一個被監控主機安裝MySQL並啟動
然後命令列檢測mysql程序數:
mysqladmin -p123456 ping |grep -c alive
1
“1”說明mysql存活
在被監控的主機上修改zabbix-agentd.conf配置檔案新增下面一行(下面的密碼指的是被監控主機MySQL的登入密碼如果沒有設定密碼就不用寫)
UserParameter=mysql_alive,mysqladmin –p”123456”ping |grep -c alive
重啟zabbix-agent服務
配置完成後在zabbix-server上檢測與被監控主機上的mysql是否通訊:
zabbix_get -s 10.3.45.233 -k mysql_alive
1
自定義建立專案
再建立一個觸發器(報警觸發)
記得選擇“嚴重性”
還可以試著建立一個圖形
預覽
設定一個自定義報警型別
在zabbix-server端檢視如下儲存指令碼路徑
先在zabbix-sever本地測試傳送是否成功(我下面測試都是秒送)
echo "hahaha" |mail -s "hahaha" [email protected]
#如果不行修改下面檔案
vim /etc/mail.rc
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=Benng#這裡是郵箱客戶端授權碼
set smtp-auth=login
直到能收到郵件為準。
然後編寫指令碼
Cd /usr/lib/zabbix/alertscripts
Vim zabbix_mail.sh
#!/bin/bash
MAIL_TITLE=$2
MAIL_COM=$3
echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1
echo "$1 $2 $3" /tmp/zab_baoj
修改示警媒介型別
新增使用者示警媒介
新增動作
注意下面有一個“更新”要先點,然後存檔
記得基本資料修改
測試
關閉被監控主機的mysql:/etc/init.d/mysqld stop
檢視主面板重新整理時間為60秒
再檢視郵箱(時間和傳送次數都遵循與組態-動作-操作細節的設定)
注意:上面內容是自己多文件拆分組合總結,存在有些截圖和內容裡面對應的IP對不上,重點是原理清楚就好。
郵箱報警到此完畢。