配置和管理Zabbix(二)

7、自定義監控項
例如:監控客戶端的用戶數
一、在客戶端啓動自定義監控項功能html

# vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/*.conf  #默認監控命令的配置文件目錄,可自定義
UnsafeUserParameters=1              #啓用自定義監控項功能

二、在客戶端定義監控命令
在/etc/zabbix/zabbix_agentd.d目錄默認有一個配置模板,能夠參考裏面的格式修改
自定義配置文件:shell

# vim /etc/zabbix/zabbix_agentd.d/customize_usernums.conf
#UserParameter=\<key\>,\<shell command\>
UserParameter=user_nums,wc -l /etc/passwd | awk '{print $1}'

說明:
UserParameter:自定義命令的關鍵字
user_nums:命令名稱
wc -l /etc/passwd | awk '{print $1}':shell命令
重啓客戶端agent:service zabbix-agent restartvim

三、在監控端測試客戶端自定義的監控命令
zabbix_get -s 10.100.2.200 -k user_nums
35 #結果爲35,表示有35個用戶安全

四、在監控端調用自定義命令
建立模板:配置-->模板-->建立模板
配置和管理Zabbix(二)
建立應用集:配置-->模板-->應用集-->建立應用集
配置和管理Zabbix(二)
建立監控項:輸入名稱、鍵值(自定義的監控命令),選擇應用集,添加便可。
配置和管理Zabbix(二)
五、調用自定義的模板
配置-->主機,選擇要添加模板的主機-->模板,輸入custom搜索模板,添加、更新。
配置和管理Zabbix(二)
此時,在主機的監控項便可看到自定義的監控項目了
配置和管理Zabbix(二)
在監測中-->最新數據,能夠看到監控數據了。
配置和管理Zabbix(二)
例如:監控FTP服務器服務和端口
一、一個一個服務(端口)的去監控,如ntp服務,端口號UDP:123
1> 修改配置文件:# vim /etc/zabbix/zabbix_agentd.conf
啓用自定義監控項:UnsafeUserParameters=1
修改監控項:使用服務名
UserParameter=mon_ntpd,ps -ef|grep -w ntpd|grep -v grep|wc -l
等同於:使用端口號
UserParameter=mon_udp123, netstat -unpl|grep -w 123|awk '{print $4}'|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|uniq|wc -l
注:若有多個監控服務,分多行便可。
2>重啓zabbix-agent:# service zabbix-agent restart
3>在監控端測試:# zabbix_get -s 10.100.2.5 -p 10050 -k mon_ntpd
結果爲1表示服務正常。
4>建立應用集:Services #在Template OS Linux模板建立
5>建立監控項:#在對應的主機監控項中建立
名稱:如Monitor_ntpd
鍵值:mon_ntpd
應用集:Services
6>建立觸發器:#在對應的主機監控項中建立
名稱:ntpd process not running
嚴重性:如警告
表達式:{ftp-server:mon_ntpd.last()}<>1
7>測試:# service ntpd stop,查看是否報警。bash

二、經過腳本批處理監控全部端口
1>建立shell腳本
vim /usr/local/zabbix_agent/zabbix_tcp.sh
輸入如下腳本:服務器

#!/bin/bash
portarray=(`sudo netstat -tnlp|egrep -i "$1"|awk '{print $4}'|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort -n|uniq`)
length=${#portarray[@]}
printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$length;i++))
  do
     printf '\n\t\t{'
     printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}"
     if [ $i -lt $[$length-1] ];then
                printf ','
     fi
  done
printf  "\n\t]\n"
printf "}\n"

保存並授予執行權限:# chmod +x /usr/local/zabbix_agent/zabbix_tcp.sh網絡

2>修改配置文件:# vim /etc/zabbix/zabbix_agentd.conf
增長一行:UserParameter=mon_tcpport,/root/shell/zabbix_tcp.sh "$1"
3>重啓zabbix-agent:# service zabbix-agent restart
4>在監控端測試:# zabbix_get -s 10.100.2.5 -k mon_tcpport
配置和管理Zabbix(二)
若是提示如下錯誤:表示沒有權限
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)
解決辦法:在腳本中使用sudo netstat命令,並修改sudoers文件:
vim /etc/sudoers
#Defaults requiretty #註釋掉此行
zabbix ALL=(ALL) NOPASSWD: ALL #添加此行
5>建立自動發現規則:在Template OS Linux模板建立
名稱:tcp port discovery
鍵值:mon_tcpport
6>建立監控項原型:在自動發現規則中建立
名稱:tcp port {#TCP_PORT} status
鍵值:net.tcp.listen[{#TCP_PORT}]
應用集:Services
7>建立觸發器原型:在自動發現規則中建立
名稱:tcp port {#TCP_PORT} status
嚴重性:警告
表達式:{Template OS Linux:net.tcp.listen[{#TCP_PORT}].count(#3,0,"eq")}>2
注:{.count(#3,0,」eq」)}>2,表示最近3個值中等於0的個數大於2時則報警。
8>測試
9>在監測中-->最新數據狀態以下:
配置和管理Zabbix(二)
注:net.tcp.listen[port] 檢查 TCP 端口 是否處於偵聽狀態。返回 0 - 未偵聽;1 - 正在偵聽tcp

8、圖形管理
同(配置和管理Zabbix(一))監控項管理,能夠根據須要添加想查看的圖形。ide

9、Zabbix歷史(history)和趨勢(trends)數據
歷史數據:即每一、五、15分鐘的數據。
趨勢數據:即每小時的平均數據,每小時收集一次,佔用的資源很小。
保留歷史和趨勢數據:以下圖,在監控項裏設置。通常保存歷史記錄14天,趨勢數據5年就能夠了。根據磁盤空間來定義。超過保留時間的數據會被刪除。
能夠看到默認的監控項爲歷史數據7天(7d即1w一週),趨勢數據1年(365d)
配置和管理Zabbix(二)
注:時間單位後綴
s - 秒(通常不寫s,即表示默認爲s)
m - 分、h - 小時、d - 天、w - 周post

10、報警媒介
在觸發器觸發了一條報警信息後,須要經過報警媒介發送給用戶,Zabbix支持Email、Jabber、SMS、自定義腳本等媒介。
經過Email發報警信息給用戶:
一、配置sendmail或postfix:
報警信息將會使用系統自帶的sendmail發送,CentOS7默認沒有安裝sendmail,而是安裝和啓用了postfix。若要使用sendmail還須要禁用postfix並安裝sendmail。但可使用postfix來代替sendmail發送郵件,效果是同樣的,不過都要安裝mailx。
yum install mailx
因爲郵箱服務器有多個不一樣的域名服務器,能夠修改main.cf,指定轉發服務器

# vim /etc/postfix/main.cf
relayhost = [10.100.2.103]
systemctl restart postfix

二、配置Email:
管理-->報警媒介類型-->Email,以下圖:
SMTP服務器:郵件服務器域名或IP地址,如exchange hub
SMTP HELO:通常爲郵件服務器頂級域名
SMTP電郵:收件人From看到的郵件地址
注:可根據須要選擇是否開啓安全驗證,如使用經過驗證的帳號密碼發郵件。另外Exchange服務器,還要在服務器配置集線器傳輸中,修改接收鏈接器(若有限制),在網絡中添加容許匿名發送郵件的服務器或設備的IP地址。
配置和管理Zabbix(二)
三、配置用戶
使用定義的媒介:管理-->用戶-->報警媒介
配置和管理Zabbix(二)
點擊添加,在彈出的頁面輸入收件人地址,根據須要選擇觸發級別。
配置和管理Zabbix(二)
點擊添加後再更新便可
配置和管理Zabbix(二)
四、配置動做:
配置-->動做-->建立動做:定義名稱和條件(可定義多個條件)
配置和管理Zabbix(二)
定義操做:添加操做細節,發送對象、發送方式、發送類型等
配置和管理Zabbix(二)
恢復操做和確認操做相似:
配置和管理Zabbix(二)
配置和管理Zabbix(二)
動做配置完成:
配置和管理Zabbix(二)
測試:
例如# systemctl stop zabbix-agent
將收到如下告警郵件提醒
配置和管理Zabbix(二)
故障恢復後郵件提醒:
配置和管理Zabbix(二)
在儀表板能夠看到問題的描述:
配置和管理Zabbix(二)
使用自定義腳本和sendEmail發送郵件:
Zabbix默認Email使用系統自帶的sendmail發送郵件,但有郵件會被當成垃圾郵件。更簡單和自由的方式,可使用自定義腳本和sendEmail(或外部郵件服務器)。
一、安裝sendEmail軟件

# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
# cp sendEmail-v1.56/sendEmail /usr/local/bin/

測試發送郵件
/usr/local/bin/sendEmail -f zabbix@test.com -t xxxx@test.com -s 10.100.2.103 -u "測試郵件" -o message-charset=utf8 -m "測試郵件內容"
發送成功,將收到如下提示。
Mar 19 18:16:54 zabbix sendEmail[22980]: Email was sent successfully!
配置和管理Zabbix(二)
命令說明:
/usr/local/bin/sendEmail 命令主程序
-f zabbix@test.com 發件人郵箱
-t xxxx@test.com 收件人郵箱
-s 10.100.2.103 發件人郵箱的smtp服務器
-u "測試郵件" 郵件的主題
-o message-charset=utf8 郵件內容編碼
-o message-content-type=html 郵件內容的格式,html表示它是html格式
-xu senduser@test.com 發件人郵箱的用戶名(SMTP驗證的用戶名)
-xp 123456 發件人郵箱密碼(SMTP驗證的密碼,注意特殊符號)
-m 「測試郵件內容" 郵件的具體內容
-cc xxx@xx.com 抄送地址
-bcc yyy@yy.com 暗送地址

二、檢查告警腳本路徑
egrep -v '^#|^$' /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

三、建立郵件發送腳本

# vim /usr/lib/zabbix/alertscripts/send_mail.sh
#!/bin/sh
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -f zabbix@test.com -t "$to" -s 10.100.2.103 -u "$subject" -o message-content-type=html -o message-charset=utf8 -m "$body" 2>>/tmp/stderr2.log

賦於執行權限:
chmod +x /usr/lib/zabbix/alertscripts/send_mail.sh
四、配置自定義腳本媒介
管理-->報警媒介類型-->建立媒體類型,輸入名稱,選擇類型爲腳本,輸入腳本名稱,添加便可。
配置和管理Zabbix(二)
五、使用自定義腳本媒介
管理-->用戶-->選擇用戶-->報警媒介-->添加
選擇類型爲自定義的sendEmail,輸入收件人,添加便可。
配置和管理Zabbix(二)
添加了報警媒介,更新完成。
配置和管理Zabbix(二)
六、配置動做
同Email配置,只是在配置操做時,選擇發送到sendEmail便可。
配置和管理Zabbix(二)
11、拓撲圖
添加拓撲圖:
監測中-->拓撲圖-->Local network-->編輯拓撲圖-->(圖標)添加,點擊新增圖標進行編輯,輸入標籤,選擇主機和圖標,應用。
配置和管理Zabbix(二)
應用後,點擊更新,完成拓撲圖編輯。
配置和管理Zabbix(二)
點擊右上角的星號,添加到經常使用。在儀表板顯示,便於從儀表盤查看。
配置和管理Zabbix(二)

相關文章
相關標籤/搜索