Эй, что-то происходит ...

Текущее состояние дел

Итак, вы так далеко зашли в сериал, хорошо. У вас есть кластер Elasticsearch, ваши биты, отправляющие данные, и у вас есть Kibana, все настроено с красивыми панелями мониторинга. Все в порядке, но это субботняя ночь, и из-за плохого обновления системы один из ваших узлов вышел из строя, а два других едва справляются с нагрузкой.

Сначала немного предыстории

ODFE поставляется с предустановленным плагином оповещения. Это позволяет нам настраивать оповещения при выполнении определенных условий.

Существует три способа настройки предупреждений в ODFE: визуальные графики, запросы извлечения и детектор аномалий.

Первый довольно понятен, поэтому мы сосредоточимся на запросах извлечения. Детектор аномалий - тема интересная, но выходящая за рамки этой серии.

У предупреждений есть три важных раздела: мониторы, триггеры и действия. Монитор - это запрос, который выполняется каждые определенное время, у каждого монитора есть несколько триггеров. Триггер - это условие, которое оценивается на основе ответа на запрос извлечения монитора. Когда условие триггера оценивается как истинное, будет выполнен ряд действий.

Проще говоря:

  • Монитор: Сколько у меня непрочитанных писем?
  • Триггер: электронные письма> 5
  • Действие: отправить сообщение о резерве

Прежде чем мы начнем, нам нужно настроить место назначения для уведомлений. В разделе Другая полезная информация вы найдете ссылку для добавления приложения Incoming Webhook в Slack. Обратите внимание на URL-адрес веб-перехватчика.

Перейдите в раздел «Оповещения», перейдите на вкладку «Назначения» и нажмите «Добавить место назначения». Дайте ему имя, выберите «Slack» в качестве типа и вставьте туда URL-адрес веб-перехватчика.

ODFE недавно выпустил уведомления по электронной почте, а также поддерживает настраиваемые веб-книги для других приложений для обмена сообщениями, таких как команды.

Как только вы закончите, нажмите «Создать».

Настройка монитора

Для начала нам нужен запрос. Базовый запрос Elastcsearch выглядит примерно так:

Среднее использование памяти за последние 5 минут

К счастью, вам не нужно писать все это для каждого запроса. Раздел визуализации - это в основном визуальный редактор запросов.

Поскольку нам нужно простое число, мы можем использовать визуализацию показателей. Измените агрегирование на «среднее», выберите «system.memory.actual.used.pct» в качестве поля, нажмите «Обновить», и все готово.

Теперь нам нужно получить запрос. Рядом с кнопкой «Сохранить» будет кнопка «Проверить». Щелкните по нему и измените верхний правый параметр с названием «Просмотр: данные» на «Просмотр: запросы», щелкнув его и выбрав параметр из раскрывающегося списка. Kibana покажет вам три вкладки: Статистика (очень полезна для измерения производительности запросов), Запрос и Ответ. Щелкните Запрос, а затем значок копии в правом верхнем углу вкладки запроса.

Вставьте этот запрос в свой любимый редактор кода.

Теперь мы можем приступить к созданию оповещения. Перейдите в раздел «Оповещения» и перейдите на вкладку «Мониторы». Щелкните создать монитор, дайте ему имя и выберите «Определить с помощью запроса извлечения» из раскрывающегося списка «Метод определения».

В раскрывающемся списке индекса введите «metricbeat- *» и нажмите клавишу ВВОД. Это разделит пространство внизу на две части. Слева вы определите запрос, а справа вы увидите ответ после того, как нажмете «Выполнить».

Замените существующий запрос тем, который вы получили из визуализации, и нажмите кнопку «Выполнить» в правом верхнем углу.

Ваш ответ должен выглядеть примерно так:

Проблема в том, что если вы запустите его через час, результат будет таким же. Это связано с тем, что в нашем запросе на извлечение даты статичны.

Вот наша проблема:

Статическое время

Чтобы исправить это, измените запрос, чтобы он выглядел примерно так:

Динамическое время

Итак, если вы несколько раз нажмете кнопку «Выполнить», вы увидите, что значение изменилось.

Прокрутите вниз и нажмите «Создать», это приведет вас к экрану «Создать триггер».

Создание триггера

Для начала задайте имя триггера и выберите уровень серьезности (это произвольно). Ниже вы увидите ответ на запрос монитора , а сразу под ответом вы увидите условие запуска . По умолчанию условием запуска будет «ctx.results [0] .hits.total.value> 0».

А пока мы сосредоточимся на всем, что идет после «ctx.results [0]». Запрос по умолчанию оценивает, превышает ли количество документов, прочитанных запросом, 0. Это бесполезно для нас, нам нужно использование памяти. Как видите, в нашем ответе есть поле aggregations.1.value, которое нам и нужно, поэтому измените условие триггера на это:

«Ctx.results [0] .aggregations.1.value> 0»

Прокрутите немного вниз и нажмите кнопку «Выполнить» и посмотрите, как ответ условия триггера изменится на «истина». Теперь установите значение после знака «>» примерно на 0,8 для 80%, потому что память всегда будет больше 0%.

Настройка действия

Под кнопкой «Выполнить» вы сможете настроить действия. Здесь вы можете уведомить Пункт назначения с помощью сообщения.

Сначала дайте действию имя и выберите пункт назначения, который вы создали ранее. Введите тему сообщения и немного прокрутите вниз. Здесь вы увидите предварительный просмотр сообщения.

Мы хотим включать переменные в наши сообщения, поэтому нам не нужно создавать триггер для каждого сервера, который у нас есть. Чтобы включить переменную из ответа в сообщение, используйте следующий шаблон:

Пример сообщения об использовании памяти

В правой части экрана есть кнопка «Отправить тестовое сообщение», чтобы проверить пункт назначения.

Наконец, чтобы избежать переполнения уведомлений, когда что-то пойдет не так, установите флажок «Включить регулирование действий» и введите разумное количество минут для ожидания перед отправкой следующего уведомления.

В завершение нажмите «Создать».

Следующие шаги

В следующей и последней части этой серии мы рассмотрим некоторые настройки производительности и доступности, и я поделюсь некоторыми вещами, которые я усвоил на собственном горьком опыте.

См. Другие статьи по теме .

Другая полезная информация

Входящие веб-перехватчики Slack

Suggested posts

Миграция Solr на Opensearch

Миграция 100 миллионов документов из solr в opensearch

Миграция Solr на Opensearch

Мы использовали solr для поиска/потока/автоматических предложений/персонализации в электронной коммерции. Проблемы с solr-кластером ELK теперь поставляется с гибкой премиальной лицензией.

Создание крупномасштабной системы обнаружения аномалий неконтролируемой модели — часть 2

Построение моделей машинного обучения с возможностью наблюдения в масштабе

Создание крупномасштабной системы обнаружения аномалий неконтролируемой модели — часть 2

Автор Раджив Прабхакар, Хан Ванг, Аниндья Саха В нашем предыдущем блоге мы обсудили различные проблемы, с которыми мы столкнулись при мониторинге моделей, и нашу стратегию решения некоторых из этих проблем. Мы кратко упомянули об использовании z-показателей для выявления аномалий.

Related posts

Обучение на рабочей неделе важнее, чем вы думаете

Обучение на рабочей неделе важнее, чем вы думаете

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

3 проверенных способа улучшить свои навыки письма

Преимущества письма и стратегии, которые помогут вам в этом

3 проверенных способа улучшить свои навыки письма

В 2022 году, с выпуском GPT-3, навыки письма, кажется, стали менее важными. С помощью ИИ люди с плохим письмом также могут генерировать качественный персонал.

Сетевое телевидение Твиттер

Сетевое телевидение Твиттер

То, что было старым, теперь снова новое, а то, что раньше было блестящим, теперь кажется скучным. Я не говорю о джинсах JNCO, которые вернулись среди крутых парней в центре города вместе с другими моделями конца 1990-х годов.

Как спасти планету и заработать деньги

Как спасти планету и заработать деньги

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