zabbix高級【二】週二

zabbix架構的工作
zabbix-server是收集信息、報警 數據庫是存儲zabbix-server收集的信息 zabbix-web展示數據
zabbix-agent是採集數據

忘記zabbix密碼時,可以使用md5反推查看密碼

MariaDB [(none)]> select * from zabbix.users;
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+
| userid | alias | name   | surname       | passwd                           | url | autologin | autologout | lang  | refresh | type | theme   | attempt_failed | attempt_ip | attempt_clock | rows_per_page |
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+
|      1 | Admin | Zabbix | Administrator | 670b14728ad9902aecba32e22fa4f6bd |     |         1 | 0          | zh_CN | 30s     |    3 | default |              0 |            |             0 |            50 |
|      2 | guest |        |               | d41d8cd98f00b204e9800998ecf8427e |     |         0 | 15m        | en_GB | 30s     |    1 | default |              0 |            |             0 |            50 |
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> exit
Bye

在這裏插入圖片描述
假設71,我已經添加了10個自定義的監控項,想在7主機上,也可以添加這10個監控項。
如果沒有include的話,我們需要每一個監控項都寫一行配置文件。
現在的話,可以在這個目錄中將定義的監控寫入一個配置文件,比如磁盤的是一個配置文件,nginx的是一個配置文件。當7主機上也想要監控這些自定義監控項時,將這些文件傳輸過去就好了。

PS注意,傳輸過去以後,看看有沒有取值的命令。
注意:將每個配置項寫入單獨單獨配置文件後,原來的總的配置文件要將自定義監控項給註釋掉

[root@lsy zabbix_agentd.d 22:02:43]# pwd
/etc/zabbix/zabbix_agentd.d

這個include是在配置文件中定義的。

[root@lsy zabbix_agentd.d 22:03:47]# grep -Ev '^$|#'  /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.71
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf

傳參數方式監控多塊硬盤,在一行配置文件中監控多個硬盤

[root@lsy zabbix_agentd.d 22:07:47]# cat tps.conf 
UserParameter=tps[*],iostat |grep $1|   awk '{print $$2}'

不完美之處就是print $2 中的$2 不再是打印第二行,而是識別成變量了。

UserPearmeter=tps[*],iostat|grep $1 |awk '{print $ $2 }'

這樣就解決了。

[root@zabbix zabbix_agentd.d]# zabbix_get  -s 10.0.0.7 -k  tps[sda] 
sda               0.87        19.97        14.90    1791724    1337270
[root@zabbix zabbix_agentd.d]# zabbix_get  -s 10.0.0.7 -k  tps[sda] 
0.87
[root@zabbix zabbix_agentd.d]# 
[root@lsy zabbix_agentd.d 22:02:20]# cat tps.conf 
UserParameter=tps[*],iostat |grep $1|   awk '{print $$2}'

頁面配置
在這裏插入圖片描述

這樣的好處就是讓配置時,傳參的方式可以讓配置文件中寫的比較少,但是在頁面配置時,每個監控項都要定義一次,只是在配置文件中不需要寫這麼多行了。

zabbix默認監控項,內置key ,直接寫死在二進制程序裏面的,沒有配置文件。

觸發器的表達式:

diff() 比較兩次取到的值
last() 最新值 監控nginx服務狀態 ,適合用最新值
avg(5m) 平均5分鐘,改值都大於>1 查看負載的情況下,容易有波動的值,使用平均。
max(5m) 大值
min(5m) 小值
nodate(5m) 沒有收到數據 報警 監控主機存活

格式
{監控主機的名稱:監控項key.函數方法()}

創建觸發器兩種方式

一種是自己手寫
另外一種就是web頁面點擊

每一個監控項都是有取值間隔的,每隔30秒監控一次
nginx已經觸發報警,修復故障,需要等待下一次監控項取值

郵件報警;
一 配置發件人
二 收件人
三 啓動報警

在這裏插入圖片描述

自定義監控項 自定義觸發器 郵件報警

微信報警
weixin.py
依賴requests模塊
安裝pip
yum install -y python-pip
pip install -i https://pypi.tuna.tsunghua.edu.cn/simple request

pip源

申請企業微信

腳本使用方法

(腳本中的內容是需要修改的)

腳本的放置路徑的查看方法:

[root@zabbix ~]# grep  -Ev '^$|#' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
[root@zabbix ~]# find / -name "weixin.py"
/usr/lib/zabbix/alertscripts/weixin.py
[root@zabbix ~]# 

在這裏插入圖片描述
這裏的三行內容是需要修改的。
分別是

企業微信的id
密碼
機器人的id

python weixin.py 收件人 標題 內容

自己就是因爲少了一個參數,導致出現錯誤。

在這裏插入圖片描述
zabbix使用微信來發送報警
第一個歷程:把報警腳本放在指定目錄中
第二個歷程

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

在這裏插入圖片描述

配置微信收件人
在這裏插入圖片描述

在這裏插入圖片描述
報錯信息 是因爲沒有權限

Permission denied: '/tmp/weixin.log'

看清楚是哪個服務器上進行操作/tmp/weixin.log文件,是在zabbix-server上面

解決辦法:
1.賦予屬主屬組爲zabbix
2.刪除日誌

修改一下報警發送的內容信息

在這裏插入圖片描述
內容;
默認標題

服務器:{HOST.NAME}發生: {TRIGGER.NAME}故障!

消息內容

{
告警主機:{HOST.NAME} 
告警地址:{HOST.IP} 
監控項目:{ITEM.NAME} 
監控取值:{ITEM.LASTVALUE} 
告警等級:{TRIGGER.SEVERITY} 
當前狀態:{TRIGGER.STATUS} 
告警信息:{TRIGGER.NAME} 
告警時間:{EVENT.DATE} {EVENT.TIME} 
事件ID:{EVENT.ID} 
}

恢復的消息
在這裏插入圖片描述

默認標題:

服務器:{HOST.NAME}恢復: {TRIGGER.NAME}故障!

消息內容:

{ 
告警主機:{HOST.NAME} 
告警地址:{HOST.IP} 
監控項目:{ITEM.NAME} 
監控取值:{ITEM.LASTVALUE} 
告警等級:{TRIGGER.SEVERITY}
 當前狀態:{TRIGGER.STATUS} 
告警信息:{TRIGGER.NAME} 
告警時間:{EVENT.DATE} {EVENT.TIME} 
事件ID:{EVENT.ID}
 }

一張圖可以抵過千言萬語

通過看圖的趨勢,圖形 監控項 (結果爲數據類型爲數字類型)

亂碼的原因就是因爲字體的原因

修改字符,將文件上傳到,即可

[root@zabbix fonts]# pwd
/usr/share/zabbix/assets/fonts
[root@zabbix fonts]# ll
total 7784
-rw-r--r-- 1 root root 7969108 Mar 22  2017 graphfont.ttf

隨便選中監控項出圖,臨時出圖

永久出圖

自定義出圖 grafana

grafana專業出圖軟件
使用grafana給zabbix出圖
安裝啓動grafana
在grafana安裝zabbix插件
創建一個連接zabbix的數據源
dashboard 展示面板

==yum localinstall ==

[root@zabbix ~]# ll
total 62288
-rw-------. 1 root root     1326 Mar  7 13:42 anaconda-ks.cfg
-rw-r--r--  1 root root 63775490 Apr 14 04:12 grafana-6.7.2-1.x86_64.rpm
[root@zabbix ~]# yum localinstall   -y grafana-6.7.2-1.x86_64.rpm 
 yum localinstall
[root@zabbix ~]# systemctl  start  grafana-server.service 
[root@zabbix ~]# systemctl  enable  grafana-server.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
 [root@zabbix ~]# netstat  -ntupl |grep  3000
tcp6       0      0 :::3000                 :::*                    LISTEN      81004/grafana-serve 

登錄地址 10.0.0.71:3000
grafana 默認的密碼Admin admin

命令行方式下載插件

[root@zabbix ~]# grafana-cli  plugins  install  alexanderzobnin-zabbix-app

默認存放目錄地址:(如果不能夠使命令行下載的話,使用網頁下載壓縮包)

/var/lib/grafana/plugins

zabbix 出圖 最新數據 臨時出圖 監控主機創建圖形 永久出圖
grafana:
插件
數據源
dashboard
自定義圖形
導入dashboard

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