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


免責聲明!

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



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