Перейти к содержанию

API и интеграция

InfraVision включает множество функций, обеспечивающих интеграцию с другими инструментами и ресурсами вашей сети.

REST API

REST API InfraVision, работающий на базе Django REST Framework, предоставляет надёжный и доступный интерфейс для создания, изменения и удаления объектов. Используя HTTP для передачи и JSON для инкапсуляции данных, REST API легко потребляется клиентами на любой платформе и отлично подходит для задач автоматизации.

curl -s -X POST \
-H "Authorization: Token $TOKEN" \
-H "Content-Type: application/json" \
http://netbox/api/ipam/prefixes/ \
--data '{"prefix": "192.0.2.0/24", "site": {"name": "Branch 12"}}'

REST API использует аутентификацию на основе токенов, которая сопоставляет API-клиентов с учётными записями пользователей и назначенными им правами. Endpoint-ы API полностью документированы с использованием OpenAPI, а InfraVision даже включает удобную браузерную версию API для изучения. Также доступны клиентские библиотеки API с открытым исходным кодом pynetbox и go-netbox для Python и Go соответственно.

Чтобы узнать больше об этой функции, ознакомьтесь с документацией REST API.

GraphQL API

InfraVision также предоставляет GraphQL API в дополнение к REST API. GraphQL позволяет выполнять сложные запросы для произвольных объектов и полей, позволяя клиенту получать только те конкретные данные, которые ему нужны от InfraVision. Это специализированный API только для чтения, предназначенный для эффективных запросов. Как и REST API, GraphQL API использует аутентификацию на основе токенов.

Чтобы узнать больше об этой функции, ознакомьтесь с документацией GraphQL API.

Webhook

Webhook — это механизм для передачи во внешнюю систему информации об изменениях, произошедших в InfraVision. Например, вы можете захотеть уведомить систему мониторинга при обновлении статуса устройства в InfraVision. Для этого сначала создайте webhook, указав удалённый получатель (URL), HTTP-метод и любые другие необходимые параметры. Затем определите правило события, которое срабатывает при изменениях устройства для отправки webhook.

Когда InfraVision обнаруживает изменение устройства, HTTP-запрос с деталями изменения и информацией о том, кто его сделал, отправляется указанному получателю. Webhook — отличный механизм для построения процессов автоматизации на основе событий. Чтобы узнать больше об этой функции, ознакомьтесь с документацией по webhook.

Метрики Prometheus

InfraVision включает специальное представление /metrics, которое предоставляет метрики для сборщика Prometheus, работающее на базе библиотеки с открытым исходным кодом django-prometheus. Чтобы узнать больше об этой функции, ознакомьтесь с документацией по метрикам Prometheus.