Zabbix监控数据库连通性所遇问题
Zabbix配合db2bp监控DB2数据库能否远程连接问题分析:所遇问题,有时监控一直获取不到数据,原因是connect to连接超时了,zabbix默认监控脚本获取数据时间是3s,但最多支持30s,而connect to会超时一分多钟,并且db2 connect to时,我并没有找到控制连接超时的参数:
Zabbix Server连接数据库时,重新分析情况:
1、connect to 立即返回结果,可能服务端口不通,可能连接成功。
1.1服务端口不通时再次判断
1.2 连接成功时再次判断
2、connect to 连接超时,肯定异常。
于是修改脚本如下:
#连接数据库测试
db2 connect to $1 user ${USER} using ${PASS} &> /dev/null &
#给出5s连接时间
sleep 5
#判断是否连接进程是否还在
kill -0 $! &> /dev/null
#立即返回结果,说明进程不在,有可能服务端口不通,有可能连接成功
if [ $? -ne 0 ]; then
db2 connect reset &> /dev/null
#再次测试时,已经排除连接超时的可能性,所以不给连接时间
db2 connect to $1 user ${USER} using ${PASS} &> /dev/null
#连接成功
if [ $? -eq 0 ]; then
echo "1"
db2 connect reset &> /dev/null
#连接失败
else
echo "0"
fi
#5s后进程还在,说明连接超时
else
echo "0"
eval 'kill -9 $!' &> /dev/null
fi
Zabbix修改超时时间:
zabbix_agentd.conf
### Option: Timeout
#Spend no more than Timeout seconds on processing
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=9
zabbix_server.conf
### 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=10
重启zabbix_agentd和 zabbix_server
页:
[1]