網站首頁 編程語言 正文
一.監控端口
關系說明
觸發器: 根據客戶端的腳本獲取值,當客戶端的某項值達到要求后,將發出告警
監控項:根據客戶端的腳本獲取值,可設定采集值得間隔時間,將值保留記錄下來,可形成曲線圖
應用集:用來分類存放監控項,比如將監控80,8080等web服務的監控項放在WEB應用集中,將監控22,21等小服務的監控項放入SMALL應用集中。
模板:模板是一套定義好的監控項的合集,任何主機連接模板,則將模板中的監控項等等在主機上應用,但要修改這些監控項只能去模板中修改,并且修改后其他連接的主機也會跟著變動。
操作
1.創建模板,模板名稱用來表示,這里監控端口,取名為Port,模板必須加入某群組,可單獨創建群組來區分。
2.創建應用集,應用集只用取名字即可
3.創建監控項,名稱用來區分監控的哪些值,可能是監控nginx的訪問數量,也可能是mysql的讀數量。
鍵值有2種,一種是點擊選擇使用系統自帶值,另一種自定義腳本key。
這里選擇net.tcp.listen[port],通過telnet來查找某主機是否監聽某端口,[port]填寫需要監控的端口號。
4.創建觸發器,{HOST.NAME}將獲取主機名,用作報警顯示。表達式點擊添加,或復制其他自帶觸發器的值進行修改。
連接監控項,這個就是剛剛創建的監控項,其余不動。
5.選擇相應群組,從群組里找到剛建立的監控項。
6.Port是模板名,如果這里選擇寫主機名或主機ip,則會變成單個主機的監控項,而不是模板的。
二.監控服務
關系說明
腳本:執行腳本獲得值
配置文件:允許自定義key,將key的鍵值和腳本獲取值關聯起來。
服務端測試: 服務端發送指令給客戶端,客戶端運行腳本獲取值再返回給服務端。
操作
1.創建腳本,用于獲取值cd /etc/zabbix/script
vim web_status.sh
#!/bin/bash case $1 in Lian) netstat -anptu | grep 172.26.98.247:80 | wc -l ;; Ping) netstat -unltp | grep -w 80 &>/dev/null && echo 1 || echo 0 ;; *) echo "Lian | Ping" ;; esac
測試腳本 ./web_status.sh Ping
,看是否可以獲得1
2.修改客戶端配置文件,讓他允許自定義keyvim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf #加載其他配置文件 UnsafeUserParameters=1 #開啟允許自定義 Key
systemctl restart zabbix-agent
3.修改配置文件,設定鍵值的名字和腳本所在位置,這樣配置文件才能知道這個鍵值需要執行哪個腳本獲得
web.ping是自定義的鍵值名字,后面是腳本路徑vim /etc/zabbix/zabbix_agentd.d/web_status.conf
UserParameter=web.ping,/etc/zabbix/script/web_status.sh Ping UserParameter=web.lian,/etc/zabbix/script/web_status.sh Lian
如果執行的是命令要用絕對路徑,如下也能獲取值,并不一定要用腳本。
比如
UserParameter=web.shu,/bin/netstat -anptu | wc -l
4.檢測,客戶端測試zabbix_agentd -t web.ping
#返回1則正確
服務端測試:/ops/server/zabbix/bin/zabbix_get -s 192.168.1.1 -k web.ping
#獲得1則正確
5.出現(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
是因為腳本中用netstat 這個命令,但是客戶端使用zabbix這個用戶啟動腳本,沒有權限用這個命令。
客戶端執行chmod +x /bin/netstat
即可
網頁操作:
鍵值是找不到的,手動寫上,觸發器的表達式也是連接這個監控項。
三.模板的導入和導出
導入:
導出:
選擇模板拉倒最下面
原文鏈接:https://www.cnblogs.com/rxysg/p/15701080.html
相關推薦
- 2022-11-09 C及C++?基礎循環示例詳解_C 語言
- 2022-06-15 python多線程實現動態圖繪制_python
- 2022-09-10 C#中AutoResetEvent控制線程用法小結_C#教程
- 2022-09-04 k8s查看pod日志的幾種實用方法匯總_云其它
- 2023-04-10 Python中mmap模塊處理大文本的操作方法_python
- 2022-06-29 Oracle遞歸查詢connect?by用法_oracle
- 2022-04-09 數據庫連接池Driud使用JbbcUtils工具包
- 2022-12-10 Android入門之ScrollView的使用教程_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支