@skbkontur/monitoring-clientdeprecated

Библиотека для отправки метрик в мониторинг

Usage no npm install needed!

<script type="module">
  import skbkonturMonitoringClient from 'https://cdn.skypack.dev/@skbkontur/monitoring-client';
</script>

README

Клиент для отправки сообщений в мониторинг

MonitoringClient(slugs, address)

Клиент сервиса мониторинга

slugs {Array <string>} = ['fooNode']

Начало префикса для всех метрик

address {string|required}

Адресс графита для агрегации метрик

async send(metricName, value)

metricName {string|required}

Имя метрики для отправки

value {number|required}

Значение метрики

Monitor(monitoringClient, intervals)

класс для проверки состояния приложения. Класс отправляет системные метрики о состоянии процесса node приложения.

Список:

  • heapUsed - использованный хип в мегабайтах
  • cpuUsage - использованное cpu в процентах
  • rpm - количество запросов в минуту
  • avgLatency - среднее время ответа в мс
  • maxLatency - максимальное время ответа в мс
monitoringClient {MonitoringClient|required}

Клиент мониторинга для отправки метрик.

intervals {number|required} = {}

Интервалы отправки системных метрик в мс. Если значение интервала -1 то метрика не отправляется.

const DEFAULT_INTERVALS = {
  updateMetrics: 5000,
  cpu: 7000,
  heap: 7000,
  rpm: 60000,
  latency: 30000
}

Пример использования:

const MonitoringClient = require('monitoring-client')
const Monitor = require('monitoring-client/lib/Monitor')

const monitoringClient = new MonitoringClient(
  ['ExpertNode', 'instance1'],
  'graphite-relay.skbkontur.ru:2003/'
)

monitoringClient.send('MetricName', 20)

const monitor = new Monitor(monitoringClient)