SigNoz: замена Datadog и NewRelic с открытым исходным кодом
SigNoz — это платформа для мониторинга работы приложений с открытым исходным кодом. Она использует распределенную трассировку для обеспечения прозрачности систем и передает данные с помощью Kafka и Apache Druid. Проект распространяется под лицензией MIT и набрал на GitHub одну тысячу звездочек.
Основные функции:
- Обзор метрик приложения, таких как количество запросов в секунду (RPS), задержки 50/90/99-го перцентиля и частота возникновения ошибок (Error Rate);
- Просмотр точных показателей трассировки запросов для обнаружения проблем в работе сервисов, медленных запросов к базам данных, вызовов сторонних сервисов, таких как, например, платежные шлюзы;
- Фильтрация трассировок по имени службы, операции, задержки, ошибки, тегам/аннотациям;
- Сводные показатели по отфильтрованным трассировкам. Можно получить информацию о частоте возникновения ошибок и о задержке 99-го перцентиля для
customer_type
,deployment_version: 2
илиexternal_call: paypal
; - Единый UI для метрик и трассировок. Нет необходимости переключаться с базы данных временных рядов Prometheus на Jaeger для устранения проблем;
- Встроенные рабочие процессы для снижения усилий по обнаружению распространенных проблемы, таких как сбои развертывания или сторонние медленные API-интерфейсы (функция скоро будет добавлена);
- Фреймворк для обнаружения аномалий (функция скоро будет добавлена).
Развертка приложений с помощью Docker
Для развертки приложений с помощью docker-compose
следуйте следующим инструкциям. Информация по устранению неполадок доступна здесь.
Развертка приложений в Kubernetes с помощью Helm
Helm — это пакетный менеджер для Kubernetes. Приведенный ниже код устанавливает SigNoz в пространстве имен (namespace) внутри кластера k8s
.
git clone https://github.com/SigNoz/signoz.git && cd signoz helm dependency update deploy/kubernetes/platform kubectl create ns platform helm -n platform install signoz deploy/kubernetes/platform kubectl -n platform apply -Rf deploy/kubernetes/jobs kubectl -n platform apply -f deploy/kubernetes/otel-collector
Тестирование HotROD-приложения с помощью SigNoz
HotROD-приложение состоит из четырех простых сервисов: интерфейс, клиент, драйвер и маршрут:
kubectl create ns sample-application kubectl -n sample-application apply -Rf sample-apps/hotrod/
Создание нагрузки
kubectl -n sample-application run strzal --image=djbingham/curl --restart='OnFailure' -i --tty --rm --command -- curl -X POST -F 'locust_count=6' -F 'hatch_rate=2' http://locust-master:8089/swarm
Мониторинг UI
kubectl -n platform port-forward svc/signoz-frontend 3000:3000
Остановка нагрузки
kubectl -n sample-application run strzal --image=djbingham/curl --restart='OnFailure' -i --tty --rm --command -- curl http://locust-master:8089/stop
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: