Оповещение New Relic при остановке приложения

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

Редактировать: у меня нет доступа к инфраструктуре New Relic


person shasha    schedule 08.05.2018    source источник


Ответы (3)


Хотя условие оповещения «приложение не сообщает» не встроено в оповещения New Relic, его можно сфальсифицировать с помощью оповещений NRQL. Вот шаги:

  1. Перейдите в New Relic Alerts и начните создавать условие оповещения NRQL:

  2. Запросите свое приложение с помощью:

    • SELECT count(*) FROM Transaction WHERE appName = 'foo'
  3. Set your threshold to :
    • Static
    • sum of query results is below x
    • at least once in y minutes

Запрос выполняется раз в минуту. Если приложение перестанет сообщать, count превратит null значений в 0, а затем мы sum их. Когда число становится ниже любого вашего порога, вы получаете уведомление. Я рекомендую использовать график предварительного просмотра, чтобы определить, насколько низкими должны быть ваши транзакции до получения уведомления. Вот хорошая информация:

person Gene Johnson    schedule 26.10.2018

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

Событие Host not report инициируется, когда данные от агента инфраструктуры не достигают коллектора New Relic в течение указанного вами периода времени.

person user7294900    schedule 08.05.2018
comment
Я не покупал новую реликтовую инфраструктуру. Есть ли работа вокруг этого. Возможно через NRQL - person shasha; 08.05.2018
comment
@shasha добавьте метрику, которую вы можете проверить, и добавьте порог, который вы ожидаете от нее, например, если проверка работоспособности не возвращается через 60 секунд, вы предполагаете, что приложение не работает. - person user7294900; 08.05.2018
comment
Но я не думаю, что это будет отправлять оповещения - person shasha; 08.05.2018
comment
@shasha добавить оповещение, которое проверяет метрику - person user7294900; 08.05.2018

Для процессов (!) вы можете сделать это:

// ...
critical {
  operator              = "below"
  threshold             = 0.0001
  threshold_duration    = 600
  threshold_occurrences = "ALL"
}
nrql {
  query             = "SELECT percentage(uniqueCount(entityAndPid), WHERE commandLine LIKE 'yourExecutable.exe') FROM ProcessSample FACET hostname"
}

Это рассчитает долю вашего процесса по сравнению со всеми другими процессами.

Если процесс не запущен, процент изменится на 0. Если в вашей системе запущено огромное количество процессов, она может упасть ниже 0.0001, но это очень маловероятно.

Преимущество здесь в том, что у вас все еще может быть активное оповещение, даже если процесс выскользнет из вашего окна оповещения о текущем времени после его остановки. Таким образом вы предотвращаете автоматическое восстановление оповещения (по сравнению с простой фильтрацией с помощью WHERE).

person holzkohlengrill    schedule 30.04.2021