해당 포스트에서는 제가 운영하는 Zabbix의 전체 Trigger에 대한 Disable 해제 요청에 따라 API를 활용하여 작업한 내용을 정리해두었습니다.
1. Trigger 목록 출력
- 우선적으로, 전체 Host의 Trigger 목록을 출력해보았습니다. - host.get 함수 사용 - select.Triggers 옵션을 활성화 시켜주었습니다.
host.get의 selectTrigger 옵션 - post_api_request 함수 작성
- get_hostid_all 함수 작성 : args 인자는 함수 실행 시 입력되는 인자는 배열 형태로 받아옵니다. ex) get_hostid_all(auth, test) --> args[0] = auth, args[1] = test // 이런 식으로 인자를 가지게됩니다.
- 메인 함수 작성 : 아래와 같이 작성한 함수를 실행해주고 결과를 출력하였습니다.
- 결과 값
2. Disabled Trigger 분리
- Enable 작업을 위해 Disabled된 Trigger 만 분리해보겠습니다. : 메인 함수에 status 상태를 체크하는 로직을 추가하였습니다. : status 값이 string 형태로 들어오므로 비교 구문 작성 시 " " 표시를 반드시 해주세요!!
- 결과 값
3. Trigger Enable 처리를 위한 함수 작성
- trigger.update 함수 사용 : triggerid로 필터링 후 status 값을 변경해줍니다.