Как подружить Zabbix с eXpress

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет! На связи Ситуационный Центр Московской биржи. Сегодня мы расскажем, как наводили красоту и удобство в процессе интеграции Zabbix с новым корпоративным мессенджером eXpress, и покажем, как сделать так же (или еще лучше).

1. Дано

В конце 2023го года в рамках работ по импортозамещению основным корпоративным мессенджером Московской Биржи вместо MS Teams стал eXpress.

На корпоративный мессенджер завязано множество интеграций и рабочих процессов, в частности - интеграция системы мониторинга Zabbix Ситуационного Центра. С помощью этой интеграции мы имели возможность оповещать инженеров в чатах о возникновении и устранении событий с помощью бота.

Перед командой Ситуационного Центра Московской Биржи встала задача: перенести все настроенные интеграции, рабочие процессы и оповещения Zabbix в eXpress

2. Первый подход

Мы решили не придумывать велосипед и воспользоваться самым простым и очевидным решением:

  • Создали чаты по каждой из систем

  • Добавили в эти чаты заинтересованных инженеров

  • Добавили в чаты бота 

  • Настроили бота писать сообщения по событиям разных систем в разные чаты

 

Выглядело это примерно так (верхнее сообщение - событие произошло, нижнее событие - событие устранено

Пример сообщений в чате eXpress
Пример сообщений в чате eXpress

Технически - задача решена, интеграция работает, инженеры оповещаются. Но что-то было не так..

3. Что было не так

Основная проблема такого подхода - полное отсутствие читаемости и наглядности.

Сложно сходу понять приоритет события.

Сложно понять, какие события уже устранены, а какие нет

Для решения этих проблем мы немного поковырялись в шаблонах и пришли к новому виду оповещений.

4. Как стало

В новом шаблоне оповещений полностью изменился формат сообщений.

  • Появился цветовой индикатор статуса события (зеленый - хорошо, красный - плохо), который меняется при изменении статуса в заббикс.

  • Использована маркдаун маркировка

  • Добавлен цветовой индикатор приоритета события

Получили:

При возникновении события:

Сообщение о возникновении события по новому шаблону
Сообщение о возникновении события по новому шаблону

При решении редактируется сообщение. Меняется цветовой индикатор, добавляется строка с информацией о времени решения

Сообщение об устранении события по новому шаблону
Сообщение об устранении события по новому шаблону

5. Почему это хорошо

Плюсы такого шаблона сообщений понятны:

  • Повышена читаемость - сразу виден статус события, его описание, приоритет

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

6. Как сделать так же

6.1. Изменить скрипт отправки

·       Изменить метод с reply на edit

Метод отправки уже добавляет тег с ключом сообщения для того, чтобы отправлять ответное сообщение при восстановлении проблемы. Все, что нужно для того, чтобы менять текст оригинального сообщения -  endpoint для ответного сообщения

//Было
url = 'api/v3/botx/events/reply_event';
//Стало
url = 'api/v3/botx/events/edit_event';

·       Добавить цветовые индикаторы в тело скрипта

Добавление цветовых индикаторов несколько неочевидно. Если попробовать добавить их в шаблон сообщения, то получим ошибку. Zabbix не может сохранить эмоджи в шаблон сообщения. Однако может сохранить их в скрипте отправки. Для добавления индикатора состояния достаточно просто отправлять его вместе с сообщением

if (is_problem) {
            data = {
                group_chat_id: Express.params.send_to,
                notification: {
                    status: 'ok',
                    body: "						
Источник: https://habr.com/ru/companies/moex/articles/834434/


Интересные статьи

Интересные статьи

Недавно на одном из проектов для телекоммуникационной компании нам пришлось дополнительно (не без помощи коллег из ИБ J) проработать вопрос безопасного использования паролей для подключении к базе дан...
Привет, HABR!Все те кто пользуются системой мониторинга Zabbix, с большой вероятностью, уже использовали UserParameter. Это, безусловно, очень полезный инструмент позволяющий значительно расширить баз...
Многие из вас прекрасно знают, что такое Google Ассистент. Это голосовой помощник, подобный Siri, Алисе, Алексе и другим. Когда пользователь что-то говорит, Google Ассистент понимает это с помощью nat...
Автор: Алексей ГришинПредставьте картину. Февраль 1915 года, где-то на Западном фронте. Немецкий снайпер методично «работает» по окопам британцев, укрывшись за толстым бр...
Недавно я с удивлением обнаружил, что, оказывается, толковых туториалов по Oracle Application Express (он же APEX, он же апекс, но не путать с языком apex, который используется в Salesforce) в пр...