Ad Widget

Collapse

Как в шаблоне в названии элемента заменить {#SNMPINDEX} на слово?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Astar
    Member
    • Jul 2022
    • 36

    #1

    Как в шаблоне в названии элемента заменить {#SNMPINDEX} на слово?

    первое что приходит на ум - preprocessing -- JavaScript -- return value.replace(/1/g, 'GDN');

    но не работает. подробнее что имею и что хочу получить:
    имею LLD rule:
    Code:
    discovery[{#STATIONINDEX}, .1.3.6.1.4.1.46056.1.1.1.1]
    возвращающий
    Code:
    [{"{#SNMPINDEX}":"1","{#STATIONINDEX}":"1"},{"{#SNM PINDEX}":"2","{#STATIONINDEX}":"2"}]
    {#STATIONINDEX} - это по сути {#SNMPINDEX}, в ЛЛД правиле просто нельзя указывать сам {#SNMPINDEX}, он там присутсвует по умолчанию
    принимаемые значения
    1 - локальная станция
    2 - удаленная станция

    в дискавери прописываю item prototype в имени можно не {#STATIONINDEX} ставить а тот же {#SNMPINDEX}​ но думю так проще будет, менять макрос {#SNMPINDEX} на что то другое нельзя, он фигурирует в формулах​:

    Code:
    Name
    mx block Status {#STATIONINDEX}
    Type
    SNMP agent
    Key
    cctm.mxTable.mxStatus[{#SNMPINDEX}]
    Select
    Type of information
    Numeric (unsigned)
    SNMP OID
    .1.3.6.1.4.1.46056.1.2.1.2.{#SNMPINDEX}​
    в значениях это видится вот так

    Я хочу чтобы вместо 1 и 2 в названии элемента фигурировало например GDN и PRES :
    mx block Status GDN
    mx block Status PRES


    и, так как эти слова я по SNMP не получаю, хотелось бы чтобы в шаблоне как то работала подстановка вместо 1 в {#STATIONINDEX} подставлялся макрос {$LOCALST} = 'local', вместо 2 - {#REMOTEST} = 'remote' а уже при создании конкретного хоста я бы ему эти макросы менял на реальные названия станций

    ни preprocessing как написал выше, нее помогает, ни вот попробовал подстановку:

    {#STATIONINDEX}
    Mappings
    Type Value Mapped to Action
    equals 1 ⇒ {$LOCALST}
    equals 2 ⇒ {$REMOTEST}

    zabbix гибчайшая система, уверен что скорее можно сделать что хочу, но не понимаю ка
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    До пятой версии включительно в такой ситуации можно было использовать пользовательские макросы с контекстом, но при переходе к шестой версии поддержку всех пользовательских макросов в именах элементов данных, к сожалению, убрали (в том числе и макросов с контекстом). Подробнее можно почитать в некоторых тикетах (например: раз, два, три). По второй из этих ссылок можно даже найти какие-то идеи для "костылей". Вот здесь (ссылка три) - тикет с просьбой вернуть этот функционал хотя бы для макросов с контекстом, раскрывая их во время работы правила LLD (с почти тремя десятками проголосовавших). Можно добавить свой голос для повышения вероятности того, что этот тикет будет когда-нибудь реализован: для этого надо один раз зарегистрироваться на support.zabbix.com, и тогда при просмотре тикета в графе "Votes" (справа вверху) будет доступна ссылка для голосования.

    Comment

    • Astar
      Member
      • Jul 2022
      • 36

      #3
      Спасибо! попробую костыли

      Comment

      Working...