Observability as Code
Обзор
Grafana предоставляет набор инструментов для Observability as code, которые помогают управлять ресурсами Grafana программно и в масштабе. Такой подход позволяет определять дашборды, источники данных и другие конфигурации в виде кода, обеспечивая контроль версий, автоматизированное тестирование и надёжные развёртывания через конвейеры CI/CD. Вы можете применять лучшие практики управления кодом к своим ресурсам наблюдаемости и интегрировать их в существующие рабочие процессы infrastructure-as-code.
Исторически управление Grafana как кодом опиралось на различные инструменты сообщества и Grafana Labs, но не имело единого целостного подхода. Grafana 12 вводит основополагающие улучшения, включая новые версионируемые API и официальный инструментарий, чтобы предложить более понятный путь развития:
- Такой подход требует обработки HTTP-запросов и ответов, но даёт полный контроль над управлением ресурсами.
gcx, Git Sync и Foundation SDK построены поверх этих API.- Чтобы понять схемы дашбордов (Dashboard Schemas), принимаемые API, обратитесь к документации по моделям JSON.
Изучение
gcx) is a command-line tool designed to simplify interaction with Grafana instances using the new REST APIs. You can authenticate, manage multiple environments, and perform administrative tasks from the terminal. It’s suitable for CI/CD pipelines, local development, or free-form tasks.gcx to push your programmatically generated resources.Дополнительные инструменты Observability as code
Если вы уже используете устоявшиеся инструменты Infrastructure as code или другие средства управления конфигурацией, Grafana предлагает интеграции для управления ресурсами в рамках ваших существующих рабочих процессов.
- Terraform
- Используйте провайдер Grafana Terraform для управления дашбордами, алертами и многим другим.
- Разберитесь, как определять и развёртывать ресурсы с помощью конфигураций HCL/JSON.
- Ansible
- Научитесь использовать коллекцию Grafana Ansible для управления ресурсами Grafana Cloud, включая папки и облачные стеки.
- Пишите плейбуки для автоматизации выделения ресурсов через API Grafana.
- Grafana Operator
- Используйте управление в стиле Kubernetes с помощью Grafana Operator.
- Управляйте дашбордами, папками и источниками данных через пользовательские ресурсы Kubernetes.
- Интегрируйтесь с рабочими процессами GitOps для бесшовного контроля версий и развёртывания.
- Crossplane позволяет управлять ресурсами Grafana с помощью манифестов Kubernetes и провайдера Grafana Crossplane.
- Grafonnet — это библиотека Jsonnet для программной генерации JSON-определений дашбордов Grafana. Grafonnet официально не поддерживается Grafana. Вместо него используйте Foundation SDK для создания дашбордов как кода.