Zabbix設置自定義監控項之——監控tcp連接狀態



在實際監控中,除了官方自帶的一些監控項,我們很多時候有一些定制化監控,比如特定的服務、TCP 連接狀態等等,這時候就需要自定義監控項。自定義監控項的就是要通過用戶自定義的參數來執行監控獲取數據。本文將講講用戶自定義參數和一個用戶自定義參數的示例(監控 TCP 連接狀態)。

一、用戶自定義參數

官方文檔

用戶定義參數可以用來幫助用戶實現通過 Zabbix agent 執行非 Zabbix 原生的 agent check

在 agent 的配置文件中配置參數設置 UserParameter

一條用戶自定義參數配置應當使用以下語法:

UserParameter=<key>,<command>

key 是對應監控項鍵值的值,command 是獲取 監控項的值的命令,可以是腳本。

key 可以傳遞參數,形如 key[*],表示接受監控項傳來的所有參數,在 command 可以使用 $@,$1, $2 等獲取傳入的參數。

Zabbix agent 執行的命令最多可以返回 512KB 的數據給 zabbix server。但是,請注意,最終可以存儲在數據庫中的文本值,在 MySQL 上的限制為 64KB 。

用戶自定義參數示例

UserParameter=ping,echo 1

代理將始終使用'ping'鍵為一個監控項返回'1'。

一個更復雜的例子:

UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive

如果MySQL服務器是活動狀態,代理將返回'1',否則為0。

UserParameter=tcp.status[*],/bin/bash /opt/scripts/tcp_status.sh $1

二、配置 監控 TCP 連接狀態

配置 zabbix agent

更改 zabbix agent 配置文件

sudo echo "UserParameter=tcp.status[*],/bin/bash /opt/scripts/tcp_status.sh \$1 "  >>/etc/zabbix/zabbix_agentd.conf

下載監控腳本

# 創建目錄
sudo mkdir /opt/scripts/
# 下載腳本,該鏈接有時間期限,github地址:https://github.com/tobewithyou1996/LinuxGuide/tree/master/Shell
sudo wget   'https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8&Expires=1561404848&Signature=Si3RT4GdkEVKHrIgR7UaayPYcdU%3D' -O /opt/scripts/tcp_status.sh
# 更改腳本的所有者和所屬組
sudo chown  zabbix:zabbix  /opt/scripts/tcp_status.sh
# 更改腳本的權限
sudo chmod  744 /opt/scripts/tcp_status.sh
### 重啟zabbix agent
# centos6
sudo service zabbix-agent restart  
# centos7
sudo systemctl  restart  zabbix-agent

導入監控模板

xml 文件: https://github.com/tobewithyou1996/LinuxGuide/blob/master/Zabbix/zabbix-tcp-connection.xml

選擇導入該模板,該模板包含 一個應用集、11個監控項、1個觸發器、一個圖形。

然后將該模板鏈接到主機,這樣就可以監控對應的tcp連接狀態數據。

監控數據

監控圖表


免責聲明!

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



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