Zabbix

Zabbix API를 이용한 Host 관리 - 1

김모우 2020. 12. 4. 15:57
728x90
반응형

 

이번 포스팅에서는 Zabbix Host 관리를 위한 Zabbix API 사용법에 대해서 다루며, Zabbix API를 활용한 간단한 Host 등록을 진행해보겠습니다. Zabbix 서버는 이전 Zabbix 관련 포스팅에서 사용했던 미리 구축된 서버를 이용하였습니다.

( 참조: usheep91.tistory.com/31?category=887203 )

 

1.  Zabbix API 구조 확인

 

저는 Zabbix API 구조 확인을 위해 Zabbix 공식 Docu를 참조하였습니다.

 

기본적으로 HTTP POST 요청으로 JSON 데이터를 보내는 형태로 동작하므로 동작을 편하게 적용하기 위한 POST 요청을 보내는 기본적인 Form 함수를 먼저 작성해보겠습니다.

 

- post_api_request 함수 작성
- HTTP 요청을 보내기 위해 request 라이브러리 사용
- JSON 형태로 데이터 변경을 위해 json 라이브러리 사용

 

2. Login 작업 및 Auth Token 획득

HTTP POST 요청에 필요한 auth 토큰을 획득하기 위해 로그인 작업을 진행하였습니다.

 

- get_credentials 함수 작성
- login에 필요한 기본 정보 입력 받고 리턴


- login 함수 작성
- Zabbix login 후에 auth 토큰 리턴

- main 함수에서 실행

 

3. Host 생성에 필요한 기본 정보 확인

 

- 아래 그림과 같이 Host 등록 시 Hostname, Groups, IP, Proxy, Template, Macro 등의 정보가 생성 시 필요합니다.

- 이 중에서 Hostname, Groups, IP, Template 정보를 포함한 Host 생성을 진행해보겠습니다.

 

 

- Zabbix Docu에서 예시를 보니 대략 이런 식의 정보가 필요하네요

- 그러므로, 추가적으로 Hostname, IP 이외에 등록에 필요한 groupid, templateid를 획득하는 함수를 작성해보겠습니다.

 

 

4. Hostgroupid, Templateid 획득

 

- get_groupid, get_templateid 함수 작성


- main 함수에서 실행 및 확인


- 출력 결과
: Linux servers(groupid=2)
: Template OS Linux(templateid=10001)
: 위와 같이 ID를 가지고 있네요


 

5. Host 생성

 

- 위에서 받은 정보(auth, groupid, templateid)를 토대로 Host 생성 함수를 작성해 보겠습니다.
- create_host 함수 작성

- main 함수에서 실행


- 결과 확인

 

- 다음 포스팅에서는 위 내용을 응용하여 CSV 파일 등을 연동하여 Host 대량 등록 및 수정 작업을 진행하는 방법에 대해서 다루겠습니다.

 

** 참고 사이트: www.zabbix.com/documentation/4.4/manual/api

 

19. API [Zabbix Documentation 4.4]

 

www.zabbix.com

 

728x90
반응형

'Zabbix' 카테고리의 다른 글

Zabbix API를 이용한 Zabbix 운영 - 1  (0) 2020.12.25
Zabbix API를 이용한 Host 관리 - 2  (0) 2020.12.11
Zabbix Windows LDAP 서버 연동  (0) 2020.11.22
Zabbix Source 설치  (0) 2020.11.04
Zabbix Agent 설치 및 Host 등록  (0) 2020.11.03