添加主機與主機組 1. 進入web頁面,在 配置 主機群組,新建主機群組 2. 在 配置 主機,新建主機 在可見的名稱中建議填寫為類似 主機類型 主機名 IP或功能變數名稱 的格式,如Web Hyrule001 192.168.233.247 在 群組 中選擇之前新建的群組 agent代理程式的介面 填寫a ...
添加主機與主機組
- 進入web頁面,在 配置-主機群組,創建主機群組
- 在 配置-主機,新建主機
- 在可見的名稱中建議填寫為類似 主機類型-主機名-IP或功能變數名稱 的格式,如Web-Hyrule001-192.168.233.247
- 在 群組 中選擇之前新建的群組
- agent代理程式的介面 填寫agent端的IP和埠
- 創建完成後,如果創建成功,將可以看到下麵出現了我們之前創建的主機,並且 狀態 提示為綠色的 已啟用 字樣
配置監控項模板
- 在 配置-主機,點擊自己需要配置的主機,如我們上文新建的主機Web-Hyrule001-192.168.233.247。
- 在出現的頁面中,切換到模板標簽頁,
- 在 鏈接指示器 中選擇Template OS Linux
- 點擊添加
- 點擊更新
- 可以看到在我們的主機後面的應用集、監控項、觸發器等後面出現了數字,此時zabbix已經開始對該主機進行監控
添加監控項
在 配置-主機,點擊自己需要配置的主機後面的 監控項,如Web-Hyrule001-192.168.233.247。
點擊右上角的 創建監控項,修改一下內容,其餘保持預設
- 填寫表單
- 名稱 為你希望這個監控項的名字
- 類型 為你希望使用的監控模式,如預設的 zabbix客戶端
- 鍵值 為你希望使用的監控工具,如 vfs.file.cksum[file],"[file]"欄位修改為文件位置。如 vfs.file.cksum['/Hyrule/zelda']
- 信息類型 為返回值的類型
- 更新間隔 為多長時間收集並更新一次數據,太短會對伺服器產生負擔,一般推薦為30s~60s或5min。改為0可以禁用
- 自定義時間間隔 可以自定義數據在哪一天進行收集,使用自定義需要禁用 更新間隔。如希望周一到周五每天六點到二十四點每隔一分鐘更新一次數據,為 靈活模式 60s 1-5,6:00-24:00
- 歷史數據保留時長 為收集到的數據的保留時間,超過這個時間的數據將會被清除
- 應用集 為監控的類型,用於對監控項分類,比如可以分類為filesystems
- 新的應用集 為當 應用集 中沒有希望分的類的時候,可以自定義一個分類。
- 手動刷新
[root@lynk ~]# zabbix_get -s 目標主機的ip地址 -k 監控項鍵值
添加觸發器
如果僅僅是添加了監控項,zabbix並不會在出現問題的時候提醒我們,我們需要添加一個觸發器才能實現讓zabbix提醒我們。
在 配置-主機,點擊自己需要配置的主機後面的 觸發器,如Web-Hyrule001-192.168.233.247。
- 點擊右上角的 創建觸發器,修改以下內容,其餘保持預設
- 名稱 為報警時的提示信息
- 嚴重性 為顯示的顏色
- 表達式 為觸發器的公式,點開add
- 監控項 為需要要對哪個監控項進行告警
- 功能 為使用的函數
- 重啟zabbix服務
#重啟服務端
[root@lynk ~]# pkill zabbix
[root@lynk ~]# zabbix_server
[root@lynk ~]# zabbix_agentd
#重啟客戶端
[root@Hyrule001 ~]# pkill zabbix
[root@Hyrule001 ~]# zabbix_agentd
自定義監控
進程監控
- 修改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
- 編寫腳本
[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
- 在服務端手動刷新測試是否能檢測到
[root@lynk ~]# zabbix_get -s 192.168.233.247 -k check_apache
添加監控項
添加觸發器
重啟服務
郵件告警
#關閉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=發送方郵箱地址,如[email protected]
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' 接收郵件用的郵箱地址
- 在 管理-報警媒介類型,創建報警媒介類型
- 在 管理-用戶,選擇 報警媒介 標簽頁,添加
- 在 配置-動作,創建動作,
- 填寫內容
- 選擇 操作 標簽頁,添加 操作
- 選擇 恢復操作 標簽頁,配置當問題被解決後發送的郵件,添加 操作
- 選擇 更新操作 標簽頁,配置當問題發生更新後發送的郵件,該內容可以不進行配置。
- 填寫內容
- 配置腳本
[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
- 測試觸發告警