Использование API
Для того, чтобы иметь доступ к выполнению API запросов необходимо аутентифицироваться в системе аутентификации (Keycloak).
При этом будет получен токен доступа (access_token), обеспечивающий дальнейшую работу с API:
export USER_NAME="<your_user_name>"
export USER_PASSWORD="<your_user_password>"
export ADMINUI_ENDPOINT="<url_to_your_admin_ui>"
curl --silent -k -X POST \
-d "grant_type=password&username=${USER_NAME}&password=${USER_PASSWORD}&client_id=admin-ui" \
-H "Content-Type:application/x-www-form-urlencoded" ${ADMINUI_ENDPOINT}/oauth/login | jq
{
"token_type": "Bearer",
"access_token": "******",
"id_token": "******",
"refresh_token": "******",
"expires_in": 300,
"scope": "openid audience-admin-ui profile email"
}
После получения токена можно выполнять запросы к API, например:
export USER_NAME="<your_user_name>"
export USER_PASSWORD="<your_user_password>"
export ADMINUI_ENDPOINT="<url_to_your_admin_ui>"
export access_token=`curl --silent k -X POST \
-d "grant_type=password&username=${USER_NAME}&password=${USER_PASSWORD}&client_id=admin-ui" \
-H "Content-Type:application/x-www-form-urlencoded" ${ADMINUI_ENDPOINT}/oauth/login | \
jq -r '.access_token'`
curl --silent -k -H "Authorization: Bearer ${access_token}" ${ADMINUI_ENDPOINT}/api/endpoints | jq
[
{
"id": 19,
"instance": "<ip_address>:9100",
"fqdn": "<fqdn_host>",
"tags": [
{
"id": 16,
"name": "group",
"value": "ald-pro",
"color": "#5aafed",
"endpoint_count": null
},
{
"id": 20,
"name": "subsystem",
"value": "controller",
"color": "#f7afb0",
"endpoint_count": null
}
],
"type": {
"id": 4,
"name": "Astra Linux",
"agent_config": "",
"template_url": "http(s)://astra-monitoring.server/d/rYdddlPWkwwkkD453/node-exporter-full",
"default_port": 9100
},
"deleted_at": null,
"url": "http(s)://astra-monitoring.server/d/rYdddlPWkwwkkD453/node-exporter-full"
},
...
]
Примечание
С документацией в формате swagger можно ознакомиться на запущенном сервере используя адрес: http(s)://astra-monitoring.server/api/v1/docs/index.html