Обновить
2
Azat Galliamov@galazat

Senior DevOps

16,5
Рейтинг
2
Подписчики
Отправить сообщение

Учимся писать свой Prometheus exporter на Go с нуля. Часть 1

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели8.2K

Чтобы измерять нагрузку, ошибки, задержки и потребление ресурсов, осознанно поддерживать SLO и настраивать алерты, не обойтись без Prometheus. Он принимает текстовый формат на HTTP-эндпоинте. Только вот Kafka, PostgreSQL, сетевое железо и Redis метрики по HTTP не отдают, либо понимают только JMX, SNMP и собственный REST API. Так что без переводчика не обойтись.

Всем привет! Я DevOps-разработчик из MTC Web Services. Этим материалом я открываю цикл из пяти постов, благодаря которому вы шаг за шагом напишете собственный Prometheus exporter с нуля на языке Go. Но просто написать код может и ИИ. Моя же цель — дать вам не только практическую, но и теоретическую основу, чтобы в будущем вы могли легко разработать свой exporter под любую задачу. 

Если вдруг вам уже знакома теория и важнее практика — заглядывайте в оглавление за практикой. В качестве примера я выбрал kafka_exporter: он покрывает несколько типов источников, позволяет реализовать паттерн Custom Collector и его легко тестировать локально. А еще есть много популярных kafka_exporter, с которыми мы сможем сравнить наш результат. Код буду коммитить в репозиторий.

Читать дальше

Информация

В рейтинге
574-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

DevOps-инженер, Инженер по безопасности
Старший
Git
Linux
SQL
Docker
Golang
Высоконагруженные системы
Базы данных
Kubernetes
Prometheus
SRE