Перейти к основному содержимому
Версия: 7.9

Шаблоны конфигурации потоков

Для потоков данных доступны предустановленные шаблоны конфигурации:

НазваниеНазначениеПримечание
Default templateПолучение первичных событий JSON (push)Есть возможность добавления обработчиков своих и предустановленных.
Zabbix defaultПолучение алертов из Zabbix (pull)Проверена совместимость с Zabbix версий 2.4+.
SCOM defaultИнтеграция с Microsoft System Center Operations Manager (pull)Проверена совместимость с SCOM v.1806-1809.
Prometheus defaultПолучение событий из Prometheus (push)Получение данных через публичный API Monq Collector.
ntopng defaultПолучение событий из ntopng (push)Получение данных через публичный API Monq Collector. Версии 4.0+
Nagios defaultПолучение событий из Nagios XI (pull)Проверена совместимость с Nagios 4.3.x-4.4.x
vCenter defaultПолучение данных об изменениях топологии (pull)Проверена совместимость с vCenter 6.7

Default template

Шаблон конфигурации "Default template" используется для подключения внешних источников, шаблон для которых отсутствует в Monq.

Принцип передачи событий основан на авторизованном POST-запросе к Публичному API Monq используя API-ключ.

Шаблон конфигурации "Default template" доступен пользователю для построения собственных интеграций путем написания сценариев Заданий и правил Обработчиков, а также возможностью выбора Заданий и Обработчиков из предложенного списка.

Задания

Предустановленные задания у данного шаблона конфигурации отсутствуют. Пользователю доступно добавление новых заданий.

Обработчики

Предустановленные обработчики у данного шаблона конфигурации отсутствуют.

Пользователю доступно создание новых сценариев обработки входящих событий (документация).

Конфигурация Zabbix default

Шаблон конфигурации предназначен для интеграции "Monq Collector" с системой мониторинга Zabbix

Задания

  • "Zabbix - Version Check" - получение актуальной версии подключенного сервера Zabbix
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 5 мин
  • "Zabbix - Api Connection Check" - проверка состояния соединения с API Zabbix
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 30 сек
  • "Zabbix - Events Data Flow" - получение данных из Zabbix
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 10 сек

Пользователю доступно добавление новых заданий к предустановленным.

Обработчики

В шаблоне "Zabbix default"Пользователю доступно редактирование сценария обработки входящих событий (документация). добавляет событию метки:

  • Метку type:Zabbix.
  • Метку postRouting:cl.stream-ready-event.zabbix.new для дальнейшей маршрутизации события.

Пользователю доступно редактирование сценария обработки входящих событий (документация).

Конфигурация SCOM default

Шаблон конфигурации предназначен для интеграции с системой мониторинга Microsoft SCOM.

Задания

  • "Scom - Events Data Flow" - получение данных из SCOM
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 10 сек
  • "Scom - Database Connection Check" - проверка соединения с БД SCOM
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 30 сек

Пользователю доступно добавление новых заданий к предустановленным.

Обработчики

В шаблоне "SCOM default" по умолчанию инициализируется сценарий обработчика, который добавляет событию метки:

  • Метку type:SCOM.
  • Метку postRouting:cl.stream-ready-event.new для дальнейшей маршрутизации события.

Пользователю доступно редактирование сценария обработки входящих событий (документация).

Конфигурация Prometheus default

Шаблон конфигурации предназначен для интеграции с системой мониторинга Prometheus - AlertsManager

Задания

Предустановленные задания у данного шаблона конфигурации отсутствуют. Пользователю доступно добавление новых заданий.

Обработчики

В шаблоне конфигурации "Prometheus default" по умолчанию инициализируется сценарий обработчика, который

  • парсит входящий поток в удобный для Monq формат
  • добавляет необходимые метки для дальнейшей маршрутизации события

Исходный код стандартного парсера Prometheus

namespace Automaton.Cl.Extensions
{
public static class PrometheusParserGlobalFunc
{
public static FuncResult<(Automaton.Cl.ProcessedCollectorLogEvent Result, string Error)> PrometheusParser(Automaton.Cl.RawCollectorLogEvent Event)
{
string ConvertDateTime(string date)
{
var pattern = @"(\d+)-(\d+)-(\d+)(\D)(\d+):(\d+):(\d+.\d*)(\w)";
var array = System.Text.RegularExpressions.Regex.Split(date, pattern).Where(x => x != "").ToArray();
var xyear = array[0];
var xmonth = array[1];
var xday = array[2];
var xdelimit = array[3];
var xhour = array[4];
var xminute = array[5];
var xseconds = array[6];
var xoffset = array[7];

xseconds = xseconds.Length >= 6 ? xseconds.Substring(0, 6) : xseconds;

var result = string.Format("{0}-{1}-{2}{3}{4}:{5}:{6}{7}", xyear, xmonth, xday, xdelimit, xhour, xminute, xseconds, xoffset);
return result;
}

System.Text.Json.Nodes.JsonNode ParseAlerts(System.Text.Json.Nodes.JsonArray alerts)
{
foreach (var allertsNode in alerts)
{
var startsAt = allertsNode["startsAt"].ToString();
var endsAt = allertsNode["endsAt"].ToString();
allertsNode["startsAt"] = System.Text.Json.Nodes.JsonValue.Create(ConvertDateTime(startsAt));
allertsNode["endsAt"] = System.Text.Json.Nodes.JsonValue.Create(ConvertDateTime(endsAt));
}

return alerts;
}

var processedLogEvent = new Automaton.Cl.ProcessedCollectorLogEvent()
{ _aggregatedAt = Event._aggregatedAt, _rawId = Event._rawId, _sourceType = Event._sourceType, _stream = Event._stream, _userspaceId = Event._userspaceId };
var alertsList = new List<System.Text.Json.Nodes.JsonNode>();
try
{
var jsonArray = System.Text.Json.Nodes.JsonNode.Parse(Event.source).AsArray();
foreach (var jsonNode in jsonArray)
{
var alertsNode = jsonNode["alerts"]?.AsArray();
if (alertsNode == null)
return new FuncResult<(Automaton.Cl.ProcessedCollectorLogEvent Result, string Error)>("Failed", (processedLogEvent, "The event is not a Prometheus event."));
var parsedAlerts = ParseAlerts(alertsNode);
foreach (var alert in parsedAlerts.AsArray())
alertsList.Add(alert);

}
}
catch (Exception e)
{
var source = System.Text.Json.Nodes.JsonNode.Parse(Event.source);
var alertsNode = source["alerts"]?.AsArray();
if (alertsNode == null)
return new FuncResult<(Automaton.Cl.ProcessedCollectorLogEvent Result, string Error)>("Failed", (processedLogEvent, "The event is not a Prometheus event."));
var result = ParseAlerts(alertsNode).AsArray();
foreach (var alert in result)
alertsList.Add(alert);
}

var json = System.Text.Json.JsonSerializer.Serialize(alertsList);
processedLogEvent.source = json;
return new FuncResult<(Automaton.Cl.ProcessedCollectorLogEvent Result, string Error)>("Ok", (processedLogEvent, ""));
}
}
}

Конфигурация ntopng default

Шаблон конфигурации предназначен для интеграции с системой мониторинга ntopng

Задания

Предустановленные задания у данного шаблона конфигурации отсутствуют. Пользователю доступно добавление новых заданий.

Обработчики

В шаблоне "ntopng default" по умолчанию инициализируется сценарий обработчика, который добавляет событию метки:

  • Метку type:Ntop.
  • Метку postRouting:cl.stream-ready-event.new для дальнейшей маршрутизации события.

Пользователю доступно редактирование сценария обработки входящих событий (документация).

Конфигурация Nagios default

Шаблон конфигурации предназначен для интеграции с системой мониторинга Nagios XI

Задания

  • "Nagios - Events Data Flow" - получение данных из Nagios XI
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 10 сек
  • "Nagios - Api Connection Check" - проверка соединения с БД Nagios
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 30 сек

Пользователю доступно добавление новых заданий к предустановленным.

Обработчики

В шаблоне "Nagios default" по умолчанию инициализируется сценарий обработчика, который добавляет событию метки:

  • Метку type:Nagios.
  • Метку postRouting:cl.stream-ready-event.new для дальнейшей маршрутизации события.

Пользователю доступно редактирование сценария обработки входящих событий (документация).

Конфигурация vCenter default

Шаблон конфигурации предназначен для интеграции с системой управления VMWare vCenter

Задания

  • "vCenter - TopologySync" - обеспечивает передачу данных о состоянии всей топологии vCenter, доступной пользователю
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 24 часа
  • "vCenter - EventsDataFlow" - обеспечивает передачу событий об изменении состава топологии в vCenter
    • Агент - SharedAgents - системный агент по умолчанию, доступен для изменения на внешние агенты
    • Интервал запуска по умолчанию - 30 сек

Пользователю доступно добавление новых заданий к предустановленным.

Обработчики

В шаблоне "vCenter default" по умолчанию инициализируется сценарий обработчика, который добавляет событию метки:

  • Метку type:vcenter.
  • Метку postRouting:cl.stream-ready-event.new для дальнейшей маршрутизации события.

Пользователю доступно редактирование сценария обработки входящих событий (документация).