本文將介紹如何使用Zabbix自定義鍵值指令碼方式監控AIX 系統IBM CICS中介軟體程序服務以及日誌檔案等資訊。
Customer Information Control System (CICS) Transaction Server 是 IBM 針對 z/OS 的多用途事務處理軟體。這是一個功能強大的應用程式伺服器,用於大型和小型企業中的事務處理,能夠以快速且一致的響應時間處理大量事務。CICS Transaction Server for z/OS V4.1 還支援事件處理,它引入了與 IBM® Business Monitor 的整合功能。
CICS 事件處理提供非侵入式方法來增強業務應用程式。事件在定義和控制時不依賴於業務邏輯,無需任何修改即可擴充套件或監控業務應用程式。您可以使用此事件處理支援來監控 CICS 系統中的業務流程。IBM Business Monitor 可監控這些 CICS 業務事件,
- 首先要在AIX主機上安裝Zabbix_Agent服務
- 檢視CICS服務命令是否執行正常
- 編寫自定義監控指令碼,主要以bash、ksh指令碼為主。
自動發現規則指令碼
#!/bin/bash
INDEX=0
COUNT=$(cat /tmp/cicscp.txt | wc -l)
echo '{"data":['
while read -r APPNAME AREA SERVER; do
echo -n '{"{#APPNAME}":"'$APPNAME'", "{#SERVER}":"'$SERVER'", "{#AREA}":"'$AREA'"}'
INDEX=$((INDEX+1))
if [ $INDEX -lt $COUNT ]; then
echo ','
fi
done < /tmp/cicscp.txt
echo ']}'
監控項原型指令碼一
#!/usr/bin/ksh
NAME=$1
state=$(awk -v name="$NAME" '{gsub(/^[[:space:]]+|[[:space:]]+$/, "")} $1 == name {getline; print $2}' /tmp/cicslssrc.txt)
while [[ -z "$state" ]]
do
state=$(awk -v name="$NAME" '{gsub(/^[[:space:]]+|[[:space:]]+$/, "")} $1 == name {getline; print $2}' /tmp/cicslssrc.txt)
done
echo "$state" | awk 'NR==1{print $1}'
監控項原型指令碼二
#!/usr/bin/ksh
NAME=$1
state=$(awk -v name="$NAME" '{gsub(/^[[:space:]]+|[[:space:]]+$/, "")} $1 == name {getline; print
$3}' /tmp/cicslssrc.txt)
while [[ -z "$state" ]]
do
state=$(awk -v name="$NAME" '{gsub(/^[[:space:]]+|[[:space:]]+$/, "")} $1 == name {getline; pri
nt $3}' /tmp/cicslssrc.txt)
done
echo "$state" | awk 'NR==1{print $1}'
- 新增zbx自定義鍵值
- 重啟Agent服務
#ps -ef |grep zabbix_agentd |awk '{print $2}' |xargs kill -9 #kill 掉agent程序
#
/opt/lw_zbx/sbin/zabbix_agentd -c /opt/lw_zbx/conf/zabbix_agentd.conf #手動啟動
- 建立監控項
- 建立自動發現規則
- 建立監控原型
監控項原型一
監控項原型二
- 建立觸發器型別
表示式:
last(/LW_Template Agent IBM CICS/cicslssrc.state[{#NAME}])<>"active"
- 新增日誌檔案監控(監測ERROR關鍵字)
鍵值:log[
/var/cics_regions/XXXX/console.msg,error|ERROR,skip,]
- 設定日誌觸發器
表示式:
nodata(/LW_TemplateIBM_CICS/log[/var/cics_regions/XXXX/console.msg,error|ERROR,skip,],120)=0 and find(/LW_TemplateIBM_CICS/log[/var/cics_regions/XXXX/console.msg,error|ERROR,skip,],,,"error|ERROR")=1
十二、等待資料採集檢視指標是否正常
監控其他詳細指標資訊請參考IBM官網: Monitoring and reporting - IBM Documentation