Zabbix 新增自定義監控

2021-09-11 06:15:03 字數 2860 閱讀 7519

可以使用shell,python等

1. 建立通過輸出傳遞結果值。

1.1 監控指令碼

1.1.1 echo / print

vim test_count_echo.sh

psql=/usr/local/pgsql/bin/psql

dbname=$1

result=`$psql -u dbadmin -d $dbname -aqt -c "select count(*) from test01;"`

echo $result

1.2. 配置檔案

# cd /etc/zabbix/zabbix_agentd.d

# vim userparameter_test.conf

userparameter=test_echo.get.count[*],/data/zabbix_scripts/test_count_echo.sh "$1"

修改之後要重啟

# service zabbix-agent restart

測試# zabbix_get -s 192.168.3.51 -p10050 -k"test_echo.get.count[db1]"

1.3. 新增監控項

可以將監控項新增至普通的item或discovery中的item。

新增至dsicovery中 item prototypes

name: test_count

key: test_echo.get.count

2. 通過zabbix_sender傳送結果值,可以包含多個資訊。

這個通過pg_monz中的自動發現資料庫名稱列表來做實驗。

2.1 監控指令碼

vim test_count_sender.sh

#!/bin/bash

pgshell_confdir="$2"

host_name="$3"

zabbix_agentd_conf="$4"

dbname="$5"

timestamp_query='extract(epoch from now())::int'

# load the psql connection option parameters.

source $pgshell_confdir/pgsql_funcs.conf

test_sender)

sending_data=$(psql -a --field-separator=' ' -t -h $pghost -p $pgport -u $pgrole $dbname -c \

"select '\"$host_name\"', 'psql.test01[$dbname]', $timestamp_query, (select count(*) from test01) \

union all \

select '\"$host_name\"', 'psql.test02[$dbname]', $timestamp_query, (select count(*) from test02) "

exit

esac

if [ $? -ne 0 ]; then

echo "$sending_data"

exit

fi#echo $sending_data

result=$(echo "$sending_data" | zabbix_sender -c $zabbix_agentd_conf -v -t -i - 2>&1)

response=$(echo "$result" | awk -f ';' '$1 ~ /^info/ && match($1,/[0-9].*$/) end ')

if [ -n "$response" ]; then

echo "$response"

else

echo "$result"

fi2.2 配置檔案

# cd /etc/zabbix/zabbix_agentd.d

# vim userparameter_test.conf

userparameter=test_sender[*],/data/zabbix_scripts/test_count_sender.sh test_sender "$2" "$3" "$4" "$5"

修改之後要重啟

# service zabbix-agent restart

測試客戶端測試:

./test_count_sender.sh test_sender /usr/local/etc/ dbw21as.daodao.com /etc/zabbix/zabbix_agentd.conf db2

輸出發了幾行內容到服務端

服務端測試

# zabbix_get -s 192.168.3.51 -p10050 -k"test_sender.[test_sender,/usr/local/etc,dbw21as.daodao.com,/etc/zabbix/zabbix_agentd.conf,db1]"

2.3 新增監控項

可以將監控項新增至普通的item或discovery中的item。

2.3.1 建立中間級item

當新增多個返回值時,需要先建乙個中轉的item。

建 test_sender ,

name: test_count

key: test_sender[,,,,]

2.3.2 建立監控項中的返回值item

新增至dsicovery中 item prototypes。

key中的值為返回值的

name: test_count sender test01

key: psql.test01

name: test_count sender test02

key: psql.test02

Zabbix新增自定義監控項

在zabbix的監控系統中通常是由zabbix server與zabbix agent一起配合實現監控。在zabbix agent內建了很多監控基礎的監控項,參見這些監控項都是cpu,檔案系統,網路,磁碟等基礎的監控項。對於自己開發服務的監控,zabbix提供了良好框架為使用者實現監控和報警。下面將...

zabbix自定義監控

1 監控資料備份情況 主動模式 1 資料備份及傳送成功 1 2 資料匯入成功 1 2 在zabbix agent客戶端配置如下 root zagent zabbix cat etc zabbix zabbix agentd.conf startagents 0 設定該值為0,則agent不會監聽本地...

zabbix 使用者自定義監控引數新增

1.item key的新增 key可以帶引數,該引數為乙個陣列列表,可以同時傳遞多個引數,key的格式如下 key parameters 例如 vfs.fs.size vfs.fs.size opt key的可接引數分為引號字串 非引號字串和陣列 quoted string unquoted str...