Zabbix API/Stream
Zabbix API/Stream 방식을 통해 Zabbix 모니터링 데이터를 수집합니다
설치 및 설정¶
Zabbix는 두 가지 방식으로 데이터를 전송할 수 있습니다
- Zabbix API: 버전 요구사항
≥ 5.0 - Zabbix Stream: 버전 요구사항
≥ 6.4
Guance는 두 가지 방식으로 Zabbix 모니터링 데이터를 수집할 수 있습니다
- DataKit
- DataFlux Function
DataKit 방식¶
pythond 설정 파일 구성¶
DataKit의 설정 파일 디렉터리 conf.d로 이동한 뒤, samples 디렉터리에서 pythond.conf.sample을 pythond.conf로 복사하고 아래와 같이 설정을 수정합니다
[[inputs.pythond]]
# Python 입력 이름
name = 'zabbix_collect' # required
# Python을 실행할 시스템 환경 변수
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]
envs = ['ZABBIX_HOST=http://127.0.0.1/zabbix', 'ZABBIX_USER=Admin', 'ZABBIX_PASSWD=zabbix', 'ZABBIX_VERSION=7.0', 'COLLECT_TYPE=api']
# Python 경로(recomment abstract Python path)
cmd = "python3" # required. python3 is recommended.
# Python 스크립트 상대 경로
dirs = ["zabbix"]
ZABBIX_HOST,ZABBIX_USER,ZABBIX_PASSWD,ZABBIX_VERSION에는 실제Zabbix의 주소, 사용자명, 비밀번호, 버전, 타입을 입력합니다.COLLECT_TYPE에api를 입력하면 이후 Zabbix API를 호출하여 데이터를 가져오고, 그렇지 않고stream을 입력하면 Zabbix Stream을 호출하여 데이터를 가져옵니다.- 버전 요구사항상 Zabbix는
6.4이상 버전에서만stream방식을 사용할 수 있습니다.
스크립트 복사¶
DataKit 디렉터리로 이동한 뒤 python.d 디렉터리에서 zabbix 디렉터리를 생성하고, 아래 링크를 클릭해 스크립트를 zabbix 디렉터리에 다운로드합니다
디렉터리 구조는 다음과 같습니다:
설정이 끝나면 DataKit을 다시 시작합니다.
DataFlux Function 방식¶
Func 설치¶
Guance 통합 - 확장 - 호스팅 버전 Func를 개설하는 것을 권장합니다. 모든 사전 조건이 자동으로 설치되므로, 스크립트 설치를 계속 진행하면 됩니다
직접 Func를 배포하는 경우 Func 직접 배포를 참고하세요
Zabbix API 방식으로 지표 가져오기¶
-
Func 콘솔에 로그인한 뒤, 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 이동하고,
integration_zabbix를 검색합니다 -
【설치】를 클릭한 뒤, 해당 파라미터를 입력합니다:
- zabbix host
- zabbix user
- zabbix password
-
zabbix version
-
【배포 및 시작 스크립트】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 설정합니다. -
활성화한 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 주기 실행을 기다릴 필요 없이 즉시 한 번 실행됩니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
Zabbix Stream 방식으로 지표 가져오기¶
Zabbix Stream 방식으로 지표를 가져오려면 Zabbix 서버에 실행 가능한 stream url을 설정해야 하며, 현재는 Function에서 API를 생성하는 방식으로 이 url을 만듭니다.
-
Func 콘솔에 로그인한 뒤, 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 이동하고,
integration_zabbix_stream을 검색한 다음 설치합니다. -
API를 생성합니다. func에 로그인한 뒤
관리 -> 동기 API (비동기 API 사용 권장)-> 새로 만들기를 클릭하고, 실행 항목에서 방금 가져온 스크립트의Zabbix Receiver메서드를 선택합니다. 파라미터 지정에서는 수집 작업과 관련된 설정을 구성해야 하며, 아래 파라미터 정보가 필요합니다: - zabbix_host
- zabbix_user
- zabbix_passwd
- zabbix_version은 실제 값으로 설정
- base64는 Zabbix 입력 파라미터이며, 여기는
INPUT_BY_CALLER를 입력 -
Zabbix 커넥터를 생성합니다
Zabbix에 로그인한 뒤
관리 -> 일반 -> 커넥터를 클릭하고 커넥터 생성을 클릭합니다. URL에는 앞 단계에서 생성한 url을 입력하고, 정보 유형은 숫자와 부동소수점을 선택한 뒤 추가를 클릭합니다. -
zabbix_server.conf를 수정하고StartConnectors를10으로 변경한 뒤 저장하고zabbix-server서비스를 재시작합니다.
toml
StartConnectors=10