Linux下Zabbix5.0 LTS新增自定義監控項

上古南城發表於2021-11-24

自定義監控項

zabbix本身提供了很多可選的監控項,可以滿足絕大部分的監控需求。有時候由於業務需求,需要自定義監控項。 下面以建立mysql自定義監控項為例,分享如何建立zabbix自定義監控項。

例一:監控3306埠。

ZabbixClient-01上操作。

[root@ZabbixClient-01 ~]# cat >> /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf <<EOF
> UserParameter=mysql.port_3306[*], HOME=/etc/zabbix netstat -nutl | grep -c -w '3306'
> EOF
[root@ZabbixClient-01 ~]# systemctl restart zabbix-agent

ZabbixServer-01上操作。

[root@ZabbixServer-01 ~]# yum install -y zabbix-get
[root@ZabbixServer-01 zabbix]# zabbix_get -s 172.16.70.171 -k "mysql.port_3306"
1

Zabbix Web設定,新增MySQL埠3306監控項。

 

 例二:用於專們管理日常的一些服務等,在新建的模板上面建立對應服務的監控項、觸發器、動作等。

ZabbixClient-01上操作。

# 修改配置檔案
[root@ZabbixClient-01 ~]# cat >> /etc/zabbix/zabbix_agentd.conf << EOF
> EnableRemoteCommands=1   #允許接收遠端命令
> LogRemoteCommands=1   #把接收的遠端命令記入日誌
> EOF

# 建立新目錄
[root@ZabbixClient-01 ~]# mkdir /etc/zabbix/zabbix_script

# 新增獲取服務狀態指令碼
[root@ZabbixClient-01 ~]# cat /etc/zabbix/zabbix_script/service_status.sh
#!/bin/bash
#zabbix 遠端執行命令、重啟應用 ssh、mysql、ntp、等

case $1 in
    sshd)
        result=`pidof sshd  |wc -l`
        echo $result
        ;;
    ntpd)
        result=`pidof ntpd  |wc -l`
        echo $result
        ;;
    mysqld)
        result=`pidof mysqld  |wc -l`
        echo $result
        ;;
    *)
        echo "Usage:$0(sshd|ntpd|mysqld)"
        ;;
esac

# 新增監控服務子配置檔案
[root@ZabbixClient-01 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_service.conf
# 獲取服務執行狀態
UserParameter=service.status[*], sh /etc/zabbix/zabbix_script/service_status.sh $1

# 賦予指令碼執行許可權
[root@ZabbixClient-01 ~]# chmod +x /etc/zabbix/zabbix_script/service_status.sh

[root@ZabbixClient-01 ~]# systemctl restart zabbix-agent

 ZabbixServer-01上操作。

# 用命令進行測試
[root@ZabbixServer-01 ~]# zabbix_get -s 172.16.70.171 -k "service.status[sshd]"
1
[root@ZabbixServer-01 ~]# zabbix_get -s 172.16.70.171 -k "service.status[ntpd]"
1
[root@ZabbixServer-01 ~]# zabbix_get -s 172.16.70.171 -k "service.status[mysqld]"
1

 

相關文章