Ad Widget

Collapse

Автовосстановление службы Windows

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Vladimir Vlasov
    Junior Member
    • Jan 2019
    • 1

    #1

    Автовосстановление службы Windows

    [RESOLVED]

    Доброго времени.

    Столкнулся с задачей автовосстановления работы службы Windows.
    Есть определенный набор служб, мегаважных, остановка которых недопустима.
    Есть дискавери этих служб, создающие Итемы и Триггеры.
    При остановке службы срабатывает триггер, на него создан Action с условиями:
    "Trigger name contain <service name_1>" OR
    "Trigger name contain <service name_2>" OR
    "Trigger name contain <service name_3>"

    Вкладка Operations содержит:
    Operation type: Remote command
    Target host: Current host
    Execute on: Zabbix agent
    и вот дальше надо бы как-то так:
    Commands: cmd /c net start {ИМЯ СЛУЖБЫ}
    но:
    {SERVICE.NAME} - просто не работает, поскольку не существует в данном контексте
    {TRIGGER.NAME} - содержит в себе кроме названия службы кучу текста типа "Service "sppsvc" (Защита программного обеспечения)"
    {ITEM.NAME} - содержит в себе правило проверки "service.info[sppsvc,state]".
    (EVENT.NAME} - содержит в себе полное описание проблемы "Problem: Service "sppsvc" (Защита программного обеспечения) is not running (startup type automatic delayed) on..."

    Городить отдельный ACTION на каждый критичный сервис это как-то "не кошерно". Кто-нибудь делал подобное?

    P.S. костыль для выхода из ситуации нарисован, но вдруг есть человеческое решение.
    Last edited by Vladimir Vlasov; 30-01-2019, 19:44.
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Originally posted by Vladimir Vlasov
    но вдруг есть человеческое решение.
    Тег {#SERVICE.NAME} в прототипе триггера и net start "{EVENT.TAGS}"

    Comment


    • Vladimir Vlasov
      Vladimir Vlasov commented
      Editing a comment
      Именно так и сделал )
      думал просто не нашел функционала и нарукожопил, ан нет, оказывается норм ))
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #3
    Я в прототипах засовывал LLD-макрос, где имя службы, в поле "Description" нужного айтема или триггера. Потом в Action-е использовал макрос {ITEM.DESCRIPTION1} или {TRIGGER.DESCRIPTION}.
    Работало даже в версии 3.0, где никаких тегов ещё не было.

    Comment

    • Semiadmin
      Senior Member
      • Oct 2014
      • 1625

      #4
      Kos, хорошая мысль. {TRIGGER.DESCRIPTION} у меня всегда занят детальным описанием проблемы для оповещений, а вот использование {ITEM.DESCRIPTION} в качестве тега айтема, чего пока нет и в 4.0, интересно. Немного смущает, что в таблице применимости сказано "Trigger-based notifications", а не "Trigger-based notifications and commands", но этому не всегда можно верить.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #5
        Originally posted by Semiadmin
        Немного смущает, что в таблице применимости сказано "Trigger-based notifications", а не "Trigger-based notifications and commands", но этому не всегда можно верить.
        Хм, действительно. Хотя в прежней таблице для версий до 2.4 включительно они перечислялись в одной и той же графе "Trigger-based notifications and commands". Собственно, у нас это и работает ещё с версии 2.2. На всякий случай переспросил в техподдержке. Вдруг перестало, а мы и не знаем, мало ли. Но, вроде, работает :-)

        Comment

        Working...