Рубріки: Новости

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

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024