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 |