SAP 시스템을 Zabbix에서 모니터링합니다. (Linux 버전)
8882 단어 ShellScriptzabbixBashSAP
소개
전회 투고로부터 반년이 지났습니다. . . 반성.
Zabbix를 사용하여 SAP 시스템의 가동 감시를 할 때 간단한 쉘 스크립트를 작성하여 감시할 수 있도록 한 이야기입니다.
이 논문의 SAP는 "SAP Netweaver ABAP/JAVA"를 나타냅니다.
개요
Zabbix는 UserParameter
를 사용하여 모든 OS 명령, 쉘 스크립트 표준 출력을 모니터링 할 수 있습니다. 따라서 SAP의 작동 상태를 나타내는 값을 표준 출력으로 출력하는 쉘 스크립트를 작성하고 모니터링합니다.
SAP 가동 상태란?
이 논문에서 SAP의 작동 상태는 sapcontrol
명령의 GetProcessList
함수로 출력되는 dispstatus
로 정의됩니다.
아래의 표는 dispstatus
에 출력되는 값과 그 값이 나타내는 가동 상태, 스크립트의 출력치입니다.
dispstatus
상태
스크립트의 출력값
그린
작동 중
3
YELLOW
부팅 중
2
RED
장애
1
그레이
정지중
0
구현
전제
Zabbix는
UserParameter
를 사용하여 모든 OS 명령, 쉘 스크립트 표준 출력을 모니터링 할 수 있습니다. 따라서 SAP의 작동 상태를 나타내는 값을 표준 출력으로 출력하는 쉘 스크립트를 작성하고 모니터링합니다.SAP 가동 상태란?
이 논문에서 SAP의 작동 상태는
sapcontrol
명령의 GetProcessList
함수로 출력되는 dispstatus
로 정의됩니다.아래의 표는
dispstatus
에 출력되는 값과 그 값이 나타내는 가동 상태, 스크립트의 출력치입니다.dispstatus
상태
스크립트의 출력값
그린
작동 중
3
YELLOW
부팅 중
2
RED
장애
1
그레이
정지중
0
구현
전제
sapcontrol
명령으로 작동 상태를 얻을 수 없기 때문에) 쉘 스크립트의 흐름
다음의 흐름으로 처리합니다.
saphostctrl
명령의 ListInstances
함수로 서버에 설치된 SAP 인스턴스의 인스턴스 번호를 가져옵니다. sapcontrol
명령의 GetProcessList
함수로 SAP 인스턴스의 작동 상태를 가져옵니다. GREEN
> YELLOW
> RED
> GRAY
의 순서로 가장 하위의 상태를 호스트 전체의 SAP 가동 상태로서 표준 출력에 출력한다. 모니터링 쉘 스크립트 소스 코드
check_sap_status.sh
#!/bin/bash
readonly SAPHOSTCTRL="/usr/sap/hostctrl/exe/saphostctrl"
readonly SAPCONTROL="/usr/sap/hostctrl/exe/sapcontrol"
readonly CNS_INITIAL=4
readonly CNS_GREEN=3
readonly CNS_YELLOW=2
readonly CNS_RED=1
readonly CNS_GRAY=0
### Functions ####
function check_status() {
local sys_status="${CNS_INITIAL}"
for nr in `"${SAPHOSTCTRL}" -function ListInstances | awk '{print $6}'`
do
sys_status="$(check_instance_status "${sys_status}" "${nr}")"
done
echo "${sys_status}"
}
function check_instance_status() {
local status="${1}"
local nr="${2}"
while read dispstatus
do
case "${dispstatus}" in
GREEN) test "${status}" -ge "${CNS_GREEN}" && status="${CNS_GREEN}"
;;
YELLOW) test "${status}" -ge "${CNS_YELLOW}" && status="${CNS_YELLOW}"
;;
RED) test "${status}" -ge "${CNS_RED}" && status="${CNS_RED}"
;;
GRAY) test "${status}" -ge "${CNS_GRAY}" && status="${CNS_GRAY}"
;;
esac
done < <("${SAPCONTROL}" -format script -nr "${nr}" -function GetProcessList | grep dispstatus|awk '{print $3}')
echo "${status}"
}
### Main Proc ####
check_status
UserParameter 설정
/etc/zabbix/zabbix_agentd.d/userparameter_sap.conf
UserParameter=sap.status[*],/etc/zabbix/plugin/sap/check_sap_status.sh
항목 설정 (Zabbix Server)
트리거 설정 (Zabbix Server)
GREEN
를 나타내는 3
이외를 장애라고 판단하도록 조건식을 설정Reference
이 문제에 관하여(SAP 시스템을 Zabbix에서 모니터링합니다. (Linux 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mato-599/items/6f1517f0abb59d8646ed텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)