Ad Widget

Collapse

Шаблон VMWare. Ошибка. Не срабатывает триггер.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • miwka
    Junior Member
    • Jan 2025
    • 3

    #1

    Шаблон VMWare. Ошибка. Не срабатывает триггер.

    Всем привет. Мой первый пост.
    Я - новичок. Использую Zabbix для слежки в сети. Недавно поднял с нуля сервер 7.0 (сейчас 7.0.8) на Debian и сразу подключил vSphere Server. Все подцепилось, все виртуалки увиделись обнаружением. Заметил, что на машинах с Windows очень мало триггеров. Они не хотели создаваться из-за ошибки:
    Code:
    Cannot create trigger: failed to expand LLD macros in expression: quoted context "C:\" cannot end with '\' character
    Так как эта ошибка затронула все виртуалки, я копнул в сторону Прототипа триггера VMWare Guest. Вот его выражение:
    Code:
    [{#FSNAME}]: Disk space is critically low. Space free: {ITEM.LASTVALUE}
    max(/VMware Guest/vmware.vm.vfs.fs.size[{$VMWARE.URL},{$VMWARE.VM.UUID},{#FSNAME},pfree],5m)<{$VMWARE.VM.FS.PFREE.MIN.CRIT:"{#FSNAME}"} and {$VMWARE.VM.FS.TRIGGER.USED:"{#FSNAME}"}=1
    Погуглил. На русском решения не нашел. Однако, у соседей есть. Вот ссылка на англоязычный форум. Собственно решение мне помогло. Ошибка ушла. Но (!) ни один из триггеров, касающихся места на Дисках, не срабатывает. Попробовал на одной из виртуалок заполнить диск под завязку (оставалось ~1.0%) и ничего. Ни проблем, ни уведомлений. Панели работают хорошо и Данные я получаю, но вот триггеры не срабатывают.
    Что было сделано: собственно, как и писалось в Топике по ссылке, я экранировал в Родительском триггере (Прототипе) переменную. Еще я добавил предобработку Правила обнаружения Mounted filesystem discovery на JS, обрезающую "" в конце "C:".

    Триггеры в списке выглядят так:
    Click image for larger version  Name:	Err_vmWare.png Views:	8 Size:	10.5 KB ID:	497955
    Есть догадки, что красный шрифт не с проста. Заранее спасибо, Коллеги
    Last edited by miwka; 28-01-2025, 07:39.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Красный цвет шрифта - это нормально, признак того, что триггер был создан правилом LLD.

    Насчёт того, что LLD-макрос {#FSNAME} в данном правиле обнаружения раскрывается в значение, которое имеет обратный слэш на конце, - это одновременно забавно и обидно, т.к. это мешает использованию такого макроса в качестве контекста для пользовательских макросов с контекстом (ссылка, см. в конце подраздел "Важные замечания"). Использование дополнительных внутренних апострофов, наверное, эту проблему решает, но тогда и конкретные значения для таких макросов с контекстом должны содержать в своём имени эти апострофы (но, похоже, что с таким же успехом можно вместо обрамления апострофами просто добавлять в конце перед.закрывающей кавычкой какой-либо символ - например, прямую косую черту или двоеточие).

    Что же касается того, почему не срабатывают ваши триггеры, то нужно видеть, чему равны фактические значения пользовательских макросов {$VMWARE.VM.FS.PFREE.MIN.CRIT} и {$VMWARE.VM.FS.TRIGGER.USED} на уровне конкретных узлов сети (хостов); хотя, скорее всего, они там будут унаследованы от тех же макросов с уровня шаблона.

    Comment

    • miwka
      Junior Member
      • Jan 2025
      • 3

      #3
      Originally posted by Kos
      но, похоже, что с таким же успехом можно вместо обрамления апострофами просто добавлять в конце перед.закрывающей кавычкой какой-либо символ - например, прямую косую черту или двоеточие.
      Я нашел в Известных Багах обсуждение данной проблемы еще 2016 года. Воспользовался советом и вставил $ в конце макроса, перед закрывающей кавычкой.
      Code:
      max(/50154e43-42bf-5379-9044-9b6bbf19b893/vmware.vm.vfs.fs.size[{$VMWARE.URL},{$VMWARE.VM.UUID},{#FSNAME},pfree],5m)<{$VMWARE.VM.FS.PFREE.MIN.WARN:"{#FSNAME}$"} and {$VMWARE.VM.FS.TRIGGER.USED:"{#FSNAME}$"}=1
      Но После внесенных изменений со знаком $ он все равно не дает никаких реакций. На одной из Win VM-машин заполнил диск и ждал 5-7 мин

      Originally posted by Kos
      Что же касается того, почему не срабатывают ваши триггеры, то нужно видеть, чему равны фактические значения пользовательских макросов {$VMWARE.VM.FS.PFREE.MIN.CRIT} и {$VMWARE.VM.FS.TRIGGER.USED} на уровне конкретных узлов сети (хостов); хотя, скорее всего, они там будут унаследованы от тех же макросов с уровня шаблона.
      Можете пояснить? Возможно провести отладку, то есть хоть как-то увидеть значения выражения из триггера?
      Last edited by miwka; 28-01-2025, 08:51.

      Comment

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

        #4
        Originally posted by miwka
        Можете пояснить? Возможно провести отладку, то есть хоть как-то увидеть значения выражения из триггера?
        Есть макросы, раскрывающие значения выражений из триггера при его срабатывании. К сожалению, в вашем случае они бесполезны, т.к. именно срабатывания-то и нет.

        Про посмотреть фактические значения - ссылка на документацию (поиск по фразе "Макросы (Macros)").

        заполнил диск и ждал 5-7 мин
        А с каким интервалом собираются данные для метрики vmware.vm.vfs.fs.size?

        Comment

        Working...