zabbix 執行自定義key腳本超時
報錯如下:
[root@master scripts]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k web.site.code[www.baidu.com]
timeout while executing a shell script
解決:
vim zabbix_server.conf
中調整如下超時時間即可(再重啟server)
### Option: Timeout
# Specifies how long we wait for agent, SNMP device or external check (in seconds).
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=30
vim zabbix_agentd.conf
### Option: Timeout
# Spend no more than Timeout seconds on processing
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=30
當腳本執行時間確實操作了最大的timeout時間的呢?
解決方案:使用zabbix_send直接定期主動的發送的zabbix server不通過zabbix server去采集。
操作選項:
agent.version
-z --zabbix-server server Hostname or IP address of Zabbix server or proxy
to send data to.
-s --host host
-k --key key
-o --value value
-i --input-file input-file
-v --verbose
註意
1:
-z 選項一定要指定,可以使用server name(可解析)或者server name的IP地址
-s 指定agent的主機名,不能使用IP地址,且不能使用dnsname,一定要使用zabbix 前端設定的那個Hostname。如果-c指定了config配置文件,則配置文件中的Hostname將覆蓋-s 指定的。也就是說知道了
-c,就可以不用指定-s
-k 要發送個那個key數據的。item key
-o value key的值。
2 每執行一次send,數據就會被傳說到zabbix server,就會被立馬展示在server端下的這個主機的key value中。
3 使用這種send方式更新的zabbix item key一定要是主動方式監控的key。被動的item項目是不支持這個方式的。
如:【針對某一個key item做測試】
zabbix_sender -z 10.59.74.33 -s dev-vhost012 -k system.swap.size[,pfree] -o 3
或者
zabbix_sender -v -c /data1/env/zabbix30/etc/zabbix_agentd.conf -z 10.59.74.33 -k system.swap.size[,pfree] -o 4
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000072"
sent: 1; skipped: 0; total: 1
【如何針對批量主動發送key -value 到zabbix server】
-i --input-file 的用法
# cat zabbix_send_test.txt
dev-vhost012 system.swap.size[,free] 32
dev-vhost012 system.swap.size[,pfree] 5
dev-vhost012 system.cpu.util[,idle] 11
註意格式是<host> <key> <value> 以空白符隔開。
# /data1/env/zabbix30/bin/zabbix_sender -v -c /data1/env/zabbix30/etc/zabbix_agentd.conf -z 10.59.74.33 -i zabbix_send_test.txt
info from server: "processed: 3; failed: 0; total: 3; seconds spent: 0.000140"
sent: 3; skipped: 0; total: 3
zabbix 執行自定義key腳本超時