Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-6151

Cross-host reference in LLD trigger prototype ignored

    Details

      Description

      I have 2 hosts (A and B) configured with LLD rule for discovery of some object collection, for example host file systems. I need to compare some attributes of corresponding objects, for example free disk space, and trigger an event if there's a mismatch or if difference is out of range.

      When an LLD trigger prototype created under host A that references LLD item prototype of host B is instantiated, reference to host B is substituted with a reference to host A. Consequently trigger expression that was meant to compare values of LLD discovered item on host A and host B compares value of this item on host A to itself. Instantiated triggers only get listed under host A in the GUI in this case.

      If LLD is not involved, this kind of trigger works as expected, hosts A and B are correctly referenced and values of respective items are compared. In addition, trigger that references both hosts gets listed under each host in the GUI. I'd expect LLD trigger functionality to be the same in this respect as a regular trigger, so I'm filing this as a bug.

      While this kind of cross-host references could be prone to mismatches (e.g. if a certain LLD item is discovered only on host A, but not on host B), these mismatches shouldn't be harmful, a trigger referencing non-existent item will not initialize until each referenced item is available/discovered under each host involved.

      Steps to reproduce:
      1. Create (or use standard) template with FS LLD rule (#FSNAME, #FSTYPE), add an LLD item prototype (vfs.fs.size[

      {#FSNAME},pfree] )
      2. Add 2 hosts (hostA and hostB), associate with this template
      3. Go into LLD rule on host A, add trigger prototype with the following expression:
      {hostA:vfs.fs.size[{#FSNAME}

      ,pfree].last(0)} # {hostB:vfs.fs.size[

      {#FSNAME}

      ,pfree].last(0)}
      4. After next LLD cycle review instantiated triggers based on the prototype above. Instantiated trigger expression does not match prototype expression:

      {hostA:vfs.fs.size[/,pfree].last(0)}

      #

      {hostA:vfs.fs.size[/,pfree].last(0)}

      5. If hostA:vfs.fs.size[/,pfree].last(0) and hostB:vfs.fs.size[/,pfree].last(0) are different, trigger is not activated as hostB:vfs.fs.size[/,pfree].last(0) is never evaluated.

        Attachments

          Activity

            People

            • Assignee:
              iivs Ivo Kurzemnieks
              Reporter:
              rchgn Roman Chapurny
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: