Обновление данных

Событие, которое срабатывает, когда обновляются Данные мониторинга определённой сущности.

Имя события

stat

Запрос

Этот запрос требует указания сущности, чьи данные нужно получить. Данные указываются в следующем формате: entityType:entityId. Тип сущности – 1 для объекта, 2 для связи.

Также, нужно использовать события add-filtered-topic и remove-filtered-topic вместо add-topics and remove-topics, чтобы подписаться на это событие.

  • Подписка

  • Отписка

cn.emit('add-filtered-topic', 'stat', '1:634023d414d3e37c5d8c865b')
cn.emit('remove-filtered-topic', 'stat', '1:634023d414d3e37c5d8c865b')

Ответ

Ответ содержит следующие поля:

Поле Тип Описание

entityId

String

ID сущности.

entityType

Integer

Тип сущности.

timestamp

String

Время получения данных.

payload

Данные мониторинга

Значение данных, которые были получены.

Пример

Запрос

const comet = require('socket.io-client');

// Comet settings
const COMET_CONNECT_TIMEOUT = 5000;
const sessionId = "..."
const conf = {
    cometHost: 'https://example.com',
    cometPort: '1234',
};

const url = `${conf.cometHost}` + (conf.cometPort ? `:${conf.cometPort}` : '');
const cn = comet.connect(url, {
    query: { forceNew: true, sessionId },
    timeout: COMET_CONNECT_TIMEOUT,
});

cn.emit('add-filtered-topic', 'stat', '1:634023d414d3e37c5d8c865b')

cn.on('stat', msg => {
      console.log(msg);
});

Ответ

{
  "entityId":"634023d414d3e37c5d8c865b",
  "entityType":1,
  "timestamp":1667386124534,
  "payload":{
    "taskType":"ping",
    "period":1000,
    "timestamp":1667386124534,
    "agentId":"625439c60db03e3f4504b548",
    "payload":{
      "packetsTransmitted":5,
      "packetsReceived":5,
      "packetLossPercentile":0,
      "numberOfErrors":0,
      "numberOfDuplicates":0,
      "roundTripMinimal":15.341,
      "roundTripAverage":15.408,
      "roundTripMaximum":15.453,
      "exitCode":0
      }
    }
}