Zabbix

Zabbix API를 이용한 Host 관리 - 2

김모우 2020. 12. 11. 20:37
728x90
반응형

 

 

지난 번에 포스팅 했던 내용을 응용하여 CSV 파일을 연동하여 Host 대량 등록 작업을 진행할 수 있는 스크립트를 작성해보겠습니다.

 

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

 

 

1. Library 추가

 

- 스크립트 실행 시 변수를 받기 위한 sys 라이브러리 (CSV 파일 참조)
- CSV 파일 Read를 위한 csv 라이브러리

 

2.  스크립트 실행 시 추가 변수를 받기 위한 설정 추가

 

- 저는 동일 디렉토리에 zabbix_list라는 폴더를 추가 생성 후에 이 안에 csv 파일을 추가해줬습니다.
- 스크립트 실행 시 받은 변수 filename 이라는 변수에 재 할당


- CSV 파일 내용

 

3. CSV 파일 리딩 및 Hostgroup 및 Templates 분리

 

- 파일 오픈 및 csv.reader 로 읽어드림
- 데이터 가공을 위해 라인 별로 분리하여 추출
- 중간 중간 데이터 확인을 위해 print 함수를 넣었습니다.



- 출력 결과는 아래와 같습니다.

 

4. Groupid, Templateid 추출 후 배열 저장

 

- Group과 Template 정보를 바탕으로 Host 생성에 필요한 id를 추출 후 저장해줍니다.
- Group, Template은 다중 입력이 가능하므로 배열 형태로 저장해줍니다.



 

5. create_host 함수 변경

 

- Hostgroup 및 Template 다중 입력을 위해 기존에 작성한 create_host  함수를 아래와 같이 변경해줍니다.
- Hostid를 받아오는 함수를 추가해주었습니다.
- 기 등록된 Host의 경우 작업 제외를 위해 IF 문으로 체크하는 로직을 추가해주었습니다.





 

6. 실행 및 확인

 

- 준비된 데이터를 바탕으로 create_host 함수를 실행 시켜줍니다.
# create_host(auth, host, ip, groupids, templateids)
> py zabbix_host_create.py api_test_01.csv

- 스크립트 실행

- 결과 확인
 

 

다음 포스팅에서는 API를 이용하여 JSON 데이터를 받아 데이터 분석을 위해 Logstash와 연동하는 작업을 진행해보겠습니다.

728x90
반응형

'Zabbix' 카테고리의 다른 글

Zabbix MYSQL Template 적용  (0) 2021.01.14
Zabbix API를 이용한 Zabbix 운영 - 1  (0) 2020.12.25
Zabbix API를 이용한 Host 관리 - 1  (0) 2020.12.04
Zabbix Windows LDAP 서버 연동  (0) 2020.11.22
Zabbix Source 설치  (0) 2020.11.04