일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Automation
- ubuntu
- airflow
- module
- DB
- API
- 시스템자동화
- 데이터 분석
- 자동화
- powershell
- AWS
- tcp
- kibana
- elasticsearch
- EC2
- zabbix
- ELK
- python
- Selenium
- 5.0
- apt
- GIT
- Linux
- MySQL
- crawling
- GCP
- EKS
- 8.0
- 크롤링
- ansible
Archives
- Today
- Total
Oops - IT
Zabbix API를 이용한 Host 관리 - 2 본문
반응형
지난 번에 포스팅 했던 내용을 응용하여 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와 연동하는 작업을 진행해보겠습니다.
반응형
'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 |