Ad Widget

Collapse

Обнаружение "зависшего" процесса

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • csf
    Senior Member
    • Nov 2007
    • 154

    #1

    Обнаружение "зависшего" процесса

    Добрый день !

    Может кто подскажет, моей логики не хватает :<(
    Опишу, что хочу, сначала без Zabbix, мне кажется так будет понятнее.
    На клентской Linux-машине с Zabbix-агентом периодически запускается и заканчивается (если все нормально) процесс. С консоли, для контроля я даю ps -ef|grep ftam и вижу или он/они работают (процессов может быть несколько), через одну-пять минут опять запускаю и смотрю или они работают с новым ID и новым временем старта или они в данный момент не запущены (это тоже нормально, ничего не передается). Но вот я вижу, что у одного/нескольких процесса/ов ID и время старта не меняется. Это ошибка, один или несколько процессов ftam "зависли".
    Теперь к Zabbix-у. Настраиваю событие proc.num[ftam], получаю колличество запущенных процессов 0,1,3,7 и т.д. Но я получаю именно их общее число, без ID или времени старта.
    Вопрос: как настроить логику триггера (или нескольких по цепочке), чтобы отследить описанную проблему. В мою голову приходит только за период "T" значение ftam > 0, но это же приведет к куче ложных срабатываний, т.к., например 2-процесса зависло, а 3 отлично работают.
    Буду ооооочень сильно благодарен за совет :>))
  • ugh
    Senior Member
    • Jun 2009
    • 296

    #2

    тут есть ответ

    Comment

    • csf
      Senior Member
      • Nov 2007
      • 154

      #3
      Originally posted by ugh
      Прочитал. Потом еще раз прочитал. И какое это отношение имеет к моей проблеме ?

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Можно реализовать любой механизм проверки в скрипте prog.pl
        /etc/zabbix/zabbix_agentd.conf
        UserParameter=check_proc,prog.pl
        Если нужно анализировать результаты предыдущих запусков, используйте временный файл для записи PID и времени старта процесса. При следующем запуске проверяете, есть такой процесс или нет и обновляете данные во временном файле. В Zabbix передаются коды из скрипта, которые выдаёт программа prog.pl в stdout.
        P.S. Данные из временного файла можно использовать для корректной обработки таких ситуаций как перевод времени, рассинхронизация времени на машине с последующей корректировкой и т.д. Также можно добавить suid программу для завершения зависших процессов и т.д., если нужно.
        Last edited by dima_dm; 30-04-2010, 08:01.

        Comment

        Working...