728x90
UserParameter는 Zabbix 에이전트에서 사용자 정의 스크립트를 실행하여 그 결과를 Zabbix 서버에 전송하는 방법입니다.
curl과 jq를 사용하여 API로부터 JSON 데이터를 가져와 Zabbix 트리거로 사용할 수 있도록 하는 예제를 설명합니다.
[OS/Linux] - Linux - jq 명령어란? (JSON 데이터 처리기)
설정 과정
1. Zabbix UserParameter 설정
Zabbix 에이전트 설정 파일(/etc/zabbix/zabbix_agentd.d/userparameter.conf)에 사용자 정의 파라미터를 추가합니다. 이 파라미터는 Zabbix 서버가 해당 키로 요청을 보냈을 때 실행할 스크립트를 지정합니다.
UserParameter=check_bizm_balnace,"/etc/zabbix/checkBizM_Balance.sh"
Zabbix 서버는 check_bizm_balance라는 키를 통해 특정 API의 데이터를 가져올 수 있습니다.
2. 사용자 정의 스크립트(UserParameter) 작성
해당 스크립트는 API 호출을 하고, jq로 원하는 값을 추출하여 Zabbix에 전달하는 역할을 합니다.
checkBizM_Balance.sh
#!/bin/bash
curl -s -H "userid:[user]" -H "userkey:[userkey]" -X GET 'https://alimtalk-api.bizmsg.kr/v1/user/balance' | jq '.data.balance'
- curl: API를 호출하여 JSON 데이터를 가져옵니다.
- jq '.data.balance': JSON 데이터에서 .data.balance 필드만 추출하여 출력합니다.
{"code":"success","data":{"balance":348547.0},"message":""} // 파싱 전 JSON 데이터
3. Zabbix 트리거 설정
Zabbix 서버에서 UserParameter로 설정한 키를 기반으로 트리거를 생성하여 모니터링 할 수 있습니다.
아이템에 트리거를 설정해, 잔액이 20만원 이하일 때 경고 알림을 받을 수 있습니다
- Configuration > Hosts로 이동해 해당 호스트 선택.
- Triggers 탭에서 Create trigger 클릭.
- Trigger information 입력:
- Name: BIZM_잔액_20만원이하
- Expression: last(/[Zabbix_Host]/check_bizm_balance.last()}<200000
- Severity: 원하는 심각도 선택
728x90
반응형
'Monitoring Tools' 카테고리의 다른 글
Monitoring Tools - Zabbix 로그 파일 모니터링 설정 시 "Accessible only as active check" 에러 해결 방법 (0) | 2024.10.15 |
---|---|
Monitoring Tools - Zabbix Agent 모드 비교와 호스트 자동 등록 설정 (4) | 2024.10.03 |
Monitoring Tools - Zabbix MariaDB 모니터링 및 UserParameter 설정 (0) | 2024.09.29 |
Monitoring Tools - Zabbix Server 설치 매뉴얼 (0) | 2024.07.04 |
Monitoring Tools - Zabbix Agent 서비스 등록 (0) | 2024.06.20 |