Шаблоны конфигурации потоков
Для потоков данных доступны предустановленные шаблоны конфигурации:
Название | Назначение | Примечание |
---|---|---|
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
для дальнейшей маршрутизации события.
Пользователю доступно редактирование сценария обработки входящих событий (документация).