본문 바로가기
인프라/리눅스

[zabbix] zabbix api 사용법

by IT맥구리나스 2023. 4. 5.

개요

- zabbix api 처음 사용해본다.

- 대략적으로 맨처음 인증키를 받고 해당 인증키값을 이용하여 json 요청을 하여 응답을 받는 형태

- 쉘스크립트로 작성

 

세부내용

- 쉘 크립트로 작성함

- AUTH_TOKEN 변수에 인증키값을 받는다.

- | jq -r '.result'은 결과값만 출력할 수 있도록 해줌

- 해당스크립트 동일한 위치에 action_update.json을 실행시켜 결과값을 받는다.

#!/bin/bash

# Zabbix API URL and authentication
ZABBIX_URL="https://zbx.test.com/api_jsonrpc.php"

# Authenticate and get auth token
AUTH_TOKEN=`curl --request POST   --url 'https://zbx.test.com/api_jsonrpc.php'   --header 'Content-Type: application/json-rpc'   --data '{"jsonrpc":"2.0","method":"user.login","params":{"username":"test","password":"test123"},"id":1}' | jq -r '.re
sult'`

echo "$AUTH_TOKEN"

curl -s -X POST -H 'Content-Type: application/json-rpc' -H "Authorization: Bearer $AUTH_TOKEN" -d @action_update.json "$ZABBIX_URL"

 

action_update.json

- 해당파일에 공식 메뉴얼의 json 을 넣으면 된다.

https://www.zabbix.com/documentation/current/en/manual/api

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 2
}

 

참고사항

- 유저 > api토큰에서 api 계정을 만들어야 함

- api에 계정에 연결된 유저의 권한은 api access 권한이 있어야함

- 유저 > 유저 그룹에서 > 유저그룹명을 눌러보면 호스트 권한 탭이 있는데 이부분에 호스트 그룹의 권한을 부여해야 함

반응형

댓글