zabbix監控配置與郵件告警


添加主機與主機組

  1. 進入web頁面,在 配置-主機群組創建主機群組
  2. 配置-主機新建主機
    • 在可見的名稱中建議填寫為類似 主機類型-主機名-IP或域名 的格式,如Web-Hyrule001-192.168.233.247
    • 在 群組 中選擇之前新建的群組
    • agent代理程序的接口 填寫agent端的IP和端口
  3. 創建完成后,如果創建成功,將可以看到下面出現了我們之前創建的主機,並且 狀態 提示為綠色的 已啟用 字樣

配置監控項模板

  1. 配置-主機,點擊自己需要配置的主機,如我們上文新建的主機Web-Hyrule001-192.168.233.247。
  2. 在出現的頁面中,切換到模板標簽頁,
    1. 鏈接指示器 中選擇Template OS Linux
    2. 點擊添加
    3. 點擊更新
  3. 可以看到在我們的主機后面的應用集、監控項、觸發器等后面出現了數字,此時zabbix已經開始對該主機進行監控

添加監控項

  1. 配置-主機,點擊自己需要配置的主機后面的 監控項,如Web-Hyrule001-192.168.233.247。

  2. 點擊右上角的 創建監控項,修改一下內容,其余保持默認

  3. 填寫表單

    • 名稱 為你希望這個監控項的名字
    • 類型 為你希望使用的監控模式,如默認的 zabbix客戶端
    • 鍵值 為你希望使用的監控工具,如 vfs.file.cksum[file],"[file]"字段修改為文件位置。如 vfs.file.cksum['/Hyrule/zelda']
    • 信息類型 為返回值的類型
    • 更新間隔 為多長時間收集並更新一次數據,太短會對服務器產生負擔,一般推薦為30s~60s或5min。改為0可以禁用
    • 自定義時間間隔 可以自定義數據在哪一天進行收集,使用自定義需要禁用 更新間隔。如希望周一到周五每天六點到二十四點每隔一分鍾更新一次數據,為 靈活模式 60s 1-5,6:00-24:00
    • 歷史數據保留時長 為收集到的數據的保留時間,超過這個時間的數據將會被清除
    • 應用集 為監控的類型,用於對監控項分類,比如可以分類為filesystems
    • 新的應用集 為當 應用集 中沒有希望分的類的時候,可以自定義一個分類。
  4. 手動刷新

[root@lynk ~]# zabbix_get -s 目標主機的ip地址 -k 監控項鍵值

添加觸發器

如果僅僅是添加了監控項,zabbix並不會在出現問題的時候提醒我們,我們需要添加一個觸發器才能實現讓zabbix提醒我們。

  1. 配置-主機,點擊自己需要配置的主機后面的 觸發器,如Web-Hyrule001-192.168.233.247。

  2. 點擊右上角的 創建觸發器,修改以下內容,其余保持默認

    • 名稱 為報警時的提示信息
    • 嚴重性 為顯示的顏色
    • 表達式 為觸發器的公式,點開add
      • 監控項 為需要要對哪個監控項進行告警
      • 功能 為使用的函數
  3. 重啟zabbix服務

#重啟服務端
[root@lynk ~]# pkill zabbix
[root@lynk ~]# zabbix_server
[root@lynk ~]# zabbix_agentd
#重啟客戶端
[root@Hyrule001 ~]# pkill zabbix
[root@Hyrule001 ~]# zabbix_agentd

自定義監控

進程監控

  1. 修改agent端的配置文件
[root@localhost Hyrule]# vim /usr/local/etc/zabbix_agentd.conf
#修改UnsafeUserParameters=1
#在最后添加UserParameter=<key>,<shell command>,如
UserParameter=check_apache,/scripts/check_process.sh httpd

#重啟客戶端
[root@Hyrule001 ~]# pkill zabbix
[root@Hyrule001 ~]# zabbix_agentd
  1. 編寫腳本
[root@Hyrule001 Hyrule]# mkdir /scripts
[root@Hyrule001 Hyrule]# vim /scripts/check_process.sh
[root@Hyrule001 Hyrule]# chown zabbix.zabbix /scripts/check_process.sh 
[root@Hyrule001 Hyrule]# chmod 777 /scripts/check_process.sh 

腳本示例

#!/bin/bash
a=$(ps -ef|egrep -v "grep|$0"|grep $1|wc -l)
if [ $a -eq 0 ];then
    echo 1
else
    echo 0
fi
  1. 在服務端手動刷新測試是否能檢測到
[root@lynk ~]# zabbix_get -s 192.168.233.247 -k check_apache
  1. 添加監控項

  2. 添加觸發器

  3. 重啟服務

郵件告警

#關閉postfix服務
[root@lynk ~]# systemctl stop postfix
[root@lynk ~]# systemctl disable postfix
#安裝mailx
[root@lynk ~]# yum install -y mailx
#配置mailx
[root@lynk ~]# cat >> /etc/mail.rc <<EOF
set from=發送方郵箱地址,如youxiang@xxx.com
set smtp=smtp服務器地址,如smtp.youjian.com
set smtp-auth-user=登錄郵箱用的用戶名
set smtp-auth-password=登錄郵箱用的密碼或授權碼
set smtp-auth=login
EOF

[root@lynk ~]# echo 'zabbix mail test'|mail -s 'zabbix' 接收郵件用的郵箱地址
  1. 管理-報警媒介類型創建報警媒介類型
  2. 管理-用戶,選擇 報警媒介 標簽頁,添加
  3. 配置-動作創建動作
    1. 填寫內容
    2. 選擇 操作 標簽頁,添加 操作
    3. 選擇 恢復操作 標簽頁,配置當問題被解決后發送的郵件,添加 操作
    4. 選擇 更新操作 標簽頁,配置當問題發生更新后發送的郵件,該內容可以不進行配置。
  4. 配置腳本
[root@lynk ~]# mkdir /usr/local/etc/alertscripts
[root@lynk ~]# vim /usr/local/etc/zabbix_server.conf
#搜索AlertScriptsPath,按如下內容添加
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lcoal/etc/alertscripts
#編寫之前在報警媒介類型中設置的mail.sh
[root@lynk ~]# vim /usr/local/etc/alertscripts/mail.sh
#!/bin/bash
message=$3
subject=$2
echo "$message"|mail -s "$subject" $1
#給腳本運行權限
[root@lynk ~]# chmod +x /usr/local/etc/alertscripts/mail.sh
[root@lynk ~]# chown -R zabbix.zabbix /usr/local/etc/alertscripts
#重啟zabbix
[root@lynk ~]# pkill zabbix
[root@lynk ~]# zabbix_server
[root@lynk ~]# zabbix_agentd
  1. 測試觸發告警


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM