接上一篇,安裝好zabbix客戶端和服務端、初始化完web前端後,接下來的就是將監控主機、設備加入監控,監控的目的是及時得到運維場景的各類告警,並及時採起各類挽救措施。
整個運維流程大體是:首先按項目角色新建zabbix用戶羣組,其次新建對應用戶並設置報警媒介,隨後按應用服務和項目名稱新建主機羣組;再就是新建模版、監控項和觸發器,或者導入各類應用模版;最後加入監控主機並設置告警動做。
下面逐一實現:
1,新建op用戶羣組
單擊 新建用戶羣組
輸入組名ops,單擊添加便可
2,新建用戶
安全起見,禁用guest用戶
新建用戶如上圖
3,新建報警媒介
報警媒介有四種,如上圖,用的最多的就是電子郵件和腳本,腳本很是靈活,微信、QQ、郵件均可實現。
這裏用腳本實現郵件告警
|
4,在zabbix server端設置與上圖對應的告警腳本html
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz前端
tar zxf sendEmail-v1.56.tar.gz -C /usr/srcweb
cd /usr/src/sendEmail-v1.56centos
cp -a sendEmail /usr/local/bin安全
yum install perl-Net-SSLeay perl-IO-Socket-SSL -ybash
# /usr/local/bin/sendEmail -f from@163.com -t to@qq.com -s smtp.163.com -u "我是郵件主題" -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp 123456 -m "我是郵件內容" -l /var/log/sendMyEmail.log服務器
命令說明:微信
/usr/local/bin/sendEmail 命令主程序 -f from@163.com 發件人郵箱 -t to@163.com 收件人郵箱 -s smtp.163.com 發件人郵箱的smtp服務器 -u "我是郵件主題" 郵件的標題 -o message-content-type=html 郵件內容的格式,html表示它是html格式 -o message-charset=utf8 郵件內容編碼 -xu from@163.com 發件人郵箱的用戶名 -xp 123456 發件人郵箱密碼 -m "我是郵件內容" 郵件的具體內容app
-l /var/log/sendMyEmail.log 非必輸項,郵件發送日誌記錄到日誌文件運維
報錯:
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
at /usr/bin/sendEmail line 1906.
invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415.
centos7.2默認perl的版本是5.16,centos6.5的是5.10,把7上perl的版本換成5.10,就能夠正常發郵件了
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
perl -v
修改/usr/local/etc/zabbix_server.conf
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/etc/alertscripts
cd /usr/local/etc/
mkdir alertscripts
vi ./alertscripts/sendEmail.sh
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -f from@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp password -m "$body"
chmod +x sendEmail.sh
chown zabbix.zabbix -R ./alertscripts
service zabbix_server restart
5,在zabbix web端,爲告警用戶monitor設置報警媒介
隨後在ops組設置權限,選擇全部組,讀寫
6,設置告警動做
新建動做
設置具體操做:默認的步驟是1-1,也便是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給ops組和monitor用戶
設置恢復時操做後,單擊更新
操做和恢復操做的‘默認信息’框,官方默認的格式發到郵件裏會疊加在一起,不便於查看,最好如圖寫成HTML格式的:
告警主機: {HOSTNAME1}<br/> 告警時間: {EVENT.DATE} {EVENT.TIME}<br/> 告警等級: {TRIGGER.SEVERITY}<br/> 告警信息: {TRIGGER.NAME}<br/> 告警項目: {TRIGGER.KEY1}<br/> 問題詳情: {ITEM.NAME}: {ITEM.VALUE}<br/> 當前狀態: {TRIGGER.STATUS}: {ITEM.VALUE1}<br/> 事件ID: {EVENT.ID}<br/> 1,CPU Load(webserver:system.cpu.load):$1 2,...
至此告警動做設置完成,要動做生效需下一篇添加主機、設置監控項、觸發器