zabbix的簡單操作(查看監控,自定義監控和釘釘監控報警)

zabbix是一種監控軟件,我用的是centos7.5版本

一:我已經添加好主機了,接下來就是看看怎麼查看監控內容的

1.打開zabbix服務的web網頁

 

 2.檢測最新數據,要在最新數據中篩選

 

 3.查看圖像

 

二: 上面只是最簡單的查看客戶機的方法,接下來演示一下自定義監控

1.zabbix自帶模板Template OS Linux (Template App Zabbix Agent)提供CPU、內存、磁 盤、網卡等常規監控, 只要新加主機關聯此模板,就可自動添加這些監控項

自定義監控項,在zabbix server上創建監控項前可以先使用zabbix_get來判斷腳本是否正確。
在zabbix server端使用yum安裝zabbix_get

命令:cd /etc/yum.repos.d/

配置yum源

命令:rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

命令:yum -y  install zabbix-get.x86_64

可以使用zabbix_get -help查看用法

注意:zabbix_只能在服務端操作

然後繼續操作

命令:zabbix_get -s 192.168.175.102 -p 10050 -k "system.uname"

註釋:-s 客戶端的IP      -p 客戶端端口,默認10050          -k 監控項的key

 

 

2.實現自定義監控

自定義語法

UserParameter=<key>,<shell command>

UserParameter=login-user,who|wc -l

UserParameter=login-user,/bin/sh /server/scripts/login.sh

 

3.agent註冊(客戶端)

命令:cd /etc/zabbix/zabbix_agentd.d/

命令:vim userparameter_login.conf

UserParameter=login-zabbix1,who|wc -l
UserParameter=login-zabbix2,who|wc -l
UserParameter=login-zabbix3,who|wc -l

 注意:key名字要唯一

然後重啓服務

命令:systemctl restart zabbix-agent.service

然後在服務端進行測試

命令:zabbix_get -s 192.168.175.103 -p 10050 -k "login-zabbix1"

命令:zabbix_get -s 192.168.175.103 -p 10050 -k "login-zabbix2"

命令:zabbix_get -s 192.168.175.103 -p 10050 -k "login-zabbix3"

 

 因爲在客戶端就註冊了三個用戶,所以沒有login-zabbix4,就會報錯

 

4.在服務端註冊(網頁操作)

(1)點擊配置------>點擊模板------>點擊創建模板

 

 

(2)按照操作要求填寫

ceshi login-zabbix

 

 

 

 

(3)創建應用集

點擊應用集----->創建應用集

 

 

 

 

 

 

(4)創建監控項

點擊監控項------>創建監控項

 

 

 

 

 

(5)創建觸發器

 

 

 

 

 

 

 

 

 

(6)創建圖形

點擊圖形------>創建圖形

 

 

 

 

 

 

(7)主機關聯模板

點擊配置---->主機

一個主機可以關聯多個模板

 

 

 

 

 

 

測試一下,在瀏覽器上同時開啓四個zabbix網頁

 

 我用火狐瀏覽器添加了四個,谷歌瀏覽器上就報警了,這樣就配置成功了

 

 

三:監控報警

(1)第三方報警平臺(釘釘)

先指定要發送的羣,在羣裏創建機器人

 

 添加機器人

 

 

 

 可以參考   “說明文檔”

創建測試文檔

vim   ceshi.sh

curl 'https://oapi.dingtalk.com/robot/send?access_token=a462c4d7c2e095d182721c352b77cae4bc76ce4903efe876a08386668e451c51' \    #添加自己的webhook
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text",
        "text": {
             "content": "告警"
        }
      }'
然後執行測試,如果成功會在釘釘上發送消息

 

 

(2)查看默認腳本存放位置

命令:cat /etc/zabbix/zabbix_server.conf|grep AlertScriptsPath

 

命令:cd /usr/lib/zabbix/alertscripts        #進入默認腳本目錄

注意:這次腳本是用python寫的所以需要配置python環境纔行

命令:yum -y  install python-pip             #安裝python

命令:pip install requests              #安裝依賴包

注意:如果安裝失敗,請配置阿里雲yum源

命令:mkdir ~/.pip        #創建阿里雲pip

命令:vim /root/.pip/pip.conf #寫入下以內容

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

 

 看見這些說明安裝成功,然後開始寫腳本

命令:vim /usr/lib/zabbix/alertscripts/dingding.py         #內容如下

curl 'https://oapi.dingtalk.com/robot/send?access_token=a462c4d7c2e095d182721c352b77cae4bc76ce4903efe876a08386668e451c51' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text",
        "text": {
             "content": "告警"
        }
      }'
[root@localhost alertscripts]# cat dingding.py
#!/usr/bin/env python
#coding:utf-8
#zabbix釘釘報警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=a462c4d7c2e095d182721c352b77cae4bc76ce4903efe876a08386668e451c51"
user=sys.argv[1]
text=sys.argv[3]
data={
    "msgtype": "text",
    "text": {
        "content": text
    },
    "at": {
        "atMobiles": [
            user
        ],
        "isAtAll": False
    }
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/usr/local/zabbix/logs/dingding.log"):
    f=open("/usr/local/zabbix/logs/dingding.log","a+")
else:
    f=open("/usr/local/zabbix/logs/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
    f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"發送成功"+"\n"+str(text))
    f.close()
else:
    f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "發送失敗" + "\n" + str(text))
    f.close()

命令:chown zabbix.zabbix dingding.py        #添加權限

命令:mkdir -p  /usr/local/zabbix/logs       #添加消息文件

命令:touch /usr/local/zabbix/logs/dingding.log    #添加消息文檔

命令:chown -R zabbix.zabbix /usr/local/zabbix/logs/dingding.log       #給消息文檔添加權限

命令:chown -R zabbix.zabbix /usr/local/zabbix/logs            #給消息文件添加權限

然後在測試一下,是不是在釘釘發送消息

命令:./dingding.py test 185xxxxxxxx "這個條測試信息,忽略"  

注意:這個號碼意思是你發送的羣裏有這個號碼,引號裏的內容是在釘釘的關鍵字裏設置的 

 

 

 

 

(3)在zabbix網頁裏設置

三個參數
創建報警媒介.  三個參數分別是:ALERT.SENDTO      ALERT.SUBJECT      ALERT.MESSAGE
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 接下來配置動作

點擊配置------>動作

 

 

{TRIGGER.STATUS}: {TRIGGER.NAME}

告警主機:{HOST.NAME}
主機IP: {HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}

下圖表示觸發5次動作,每隔120秒觸發一次,告警發給 admin 用戶,用釘釘媒介發送.

 

 

恢復參數

{TRIGGER.STATUS}: {TRIGGER.NAME}

告警主機:{HOST.NAME}
主機IP: {HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}

其他默認

 

 

 

測試將虛擬機關機一下,釘釘上彈出警告,ok完成

 

 

 

 

 

總結:。。。。。。。。。。。此處省略一萬字

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章