- 스크립트 실행 시 변수를 받기 위한 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와 연동하는 작업을 진행해보겠습니다.