개요
- 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 권한이 있어야함
- 유저 > 유저 그룹에서 > 유저그룹명을 눌러보면 호스트 권한 탭이 있는데 이부분에 호스트 그룹의 권한을 부여해야 함
반응형
'인프라 > 리눅스' 카테고리의 다른 글
ubuntu 22.04 php8.2 설치 (0) | 2023.06.20 |
---|---|
[linux] sudo : PAM authentication error : Module is unknow (0) | 2023.05.31 |
[redis] rocky8 redis 7.0 설치 (0) | 2023.02.11 |
[redis] redis DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user. (0) | 2023.02.10 |
[mysql] lower_case_table_names 테이블 이름 대소문자 (0) | 2023.02.07 |
댓글