Ad Widget

Collapse

Extend item/trigger functionality

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Andreas Bollhalder
    Senior Member
    Zabbix Certified Specialist
    • Apr 2007
    • 144

    #1

    Extend item/trigger functionality

    Hello all

    I'm on the way to replace our 1.4.6 installation with a new Zabbix server (1.6.2). I hoped that some development has been made in the case of triggers and dependency. But it seems to behave the same as before. Therefore, I have some suggestions.

    Problem 1: Customizing the configuration of items/triggers from a template

    For an efficient setup of items and triggers, we'll use the templates. But if you change an item/trigger of a host which received it by a template, you don't have to touch the template, or the configuration for the host is returned to the values of the template.

    I suggest to add a lock flag for each configuration, that will prevent the template from overwriting the customized host settings.

    For example, the template "tpl1" has the items "i1", "i2", "i3" and the triggers "t1", "t2", "t3".

    We apply "tpl1" to the host "h1" and "h2" while the host "h1" doesn't have an item "i2" and the host "h2" doesn't have to alert for the trigger "t3".

    We will customize the status of the item "h1:i2" and the trigger "h2:t3" to be disabled. But if you make a change in the template "tpl1" on "i2" or "t3", the customized configuration is lost.

    The lock flag should be settable for all configurations of the item/trigger, which can be customized for a host when using a template.

    Currently, I'm using more ore less a template for every item, but that is a nightmare to support and in the Hosts page, you have problems to see which host is monitored ore not. So, at minimum, the column "Templates" in the "Hosts" page should wrap like the column "Members" in the page "Host groups".


    Problem 2: Changing a template removes additional trigger dependencies

    When monitoring cascaded devices, you have to add dependencies by hand to reflect the topology. If the trigger on which you add the dependency comes from a template, then changing the trigger of the template removes this trigger dependency.

    This is really annoying, because Zabbix sometimes doesn't replace the template name in the trigger with the host name and the solution is to simply save again the trigger in the template.


    Problem 3: Applying templates doesn't work always correct

    See Problem 2, applying a template with trigger dependencies result often with a host trigger dependency to the template instead to the host.


    Suggestion: Reverse trigger dependency

    Allow to define trigger dependencies in a template to different other templates and only apply the ones which the host has.

    For example, template "t_iis" and "t_apache" are both using the TCP port 80.

    Make a template "t_tcp_80" and his trigger "Port 80 not reachable" dependent on "t_iis:IIS is not running" and "t_apache:Apache is not running".

    When applying to a Windows host, the trigger dependency for "t_tcp_80:Port 80 not reachable" is made to "t_iis:IIS is not running". On a Linux host, "t_tcp_80:Port 80 not reachable depend on "t_apache: Apache is not running". And if you apply it to a net device, no trigger dependency is made.


    I think, if Zabbix could resolve / extend his trigger behavior, it would go up to another class. This problems I described are some kind of serious for me. Maybe, I'm totally wrong. But I'm really interested in how others are dealing with this quirks.

    Sincerly
    Andreas
    Zabbix statistics
    Total hosts: 380 - Total items: 12190 - Total triggers: 4530 - Required server performance: 224.2
  • Andreas Bollhalder
    Senior Member
    Zabbix Certified Specialist
    • Apr 2007
    • 144

    #2
    Example for items

    It seems that no one is facing the problem I have. Maybe one can provide me a hint if I'm doing something wrong. To show you, what I'm thinking of, here are some pictures how it could be implemented.

    Create a template named "_t" and configure an item called "ping-latency" like this:



    I'm dreaming of a "Lock" field which would prevent changing the setting for a host when the template changes.

    Then create two hosts named "H1" and "H2" like this:





    As you can see, I disabled this item item on host "H2". If you changes something on the item of the template, it won't change the item on host "H2" and trigger an alert. Currently, the item would be enabled and a false alert would be sent.

    This would also help to reduce the amount of templates, as currently the solution seems to create a template for more or less every item.

    The lock could also be implemented on other configurations of the item like for example for the interval, which in the case of the flexible ones would be host dependent and the template should only be a default value. But I currently doesn't use them.

    I will follow with ideas for the trigger later.

    Andreas
    Zabbix statistics
    Total hosts: 380 - Total items: 12190 - Total triggers: 4530 - Required server performance: 224.2

    Comment

    • Andreas Bollhalder
      Senior Member
      Zabbix Certified Specialist
      • Apr 2007
      • 144

      #3
      Example for triggers

      In my eyes, the item part is the most important. The ideas for the trigger would it make more finished.

      Imagine the following:



      First, it would be nice to have name/value pairs for using it in the expression and are able to change the values independently for each host. Maybe a text field for the value would be better. This would help to create a default trigger and let you change the high and low values which depend on the host. This should useful for speed and any performance values.

      Second, the expression can be made of two parts, the first one which tells when to trigger and the second one which tells when the trigger goes off. The expression may be internally written with the old syntax of
      A | (TRIGGER.ON & B).

      Third, there's again a "Lock" field which would prevent changing the settings for a host when the template changes. For example, It would be nice to specify a default value for severity, but on some host it can be less ore more critical.

      At the end, we would be able to reduce the amount of templates.

      I will continue tomorrow with examples for the host.

      Andreas
      Zabbix statistics
      Total hosts: 380 - Total items: 12190 - Total triggers: 4530 - Required server performance: 224.2

      Comment

      • richlv
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Oct 2005
        • 3112

        #4
        regarding your first problem, i completely agree that it is a very, very limiting thing. the good news is, this behaviour is changed - and it's very good - in current trunk.
        i only partially tested it with items, because that's what i'm mostly interested in currently - maybe it's the same for triggers, but i'd have to retest that.

        so, in trunk, only values that you have changed are set downstream from the template.

        i'm wondering (and should test) how one could simply reset downstream the already existing value in the template without changing it forth-back, but that's a way smaller issue than borking item state downstream for umpteen switches that you so carefully configured 10 minutes ago

        this feature was supposed to be in 1.6 as well, but for some reason it has not arrived there yet. i really hope it goes in sooner than later, it's one of the main motivators for me to finally move from 1.4 to 1.6.
        Zabbix 3.0 Network Monitoring book

        Comment

        • Andreas Bollhalder
          Senior Member
          Zabbix Certified Specialist
          • Apr 2007
          • 144

          #5
          Hello richlv

          Thank you for the answer. I'm really interested what the developers are thinking about this issues. Maybe I have to contact them by private mail...

          Andreas
          Zabbix statistics
          Total hosts: 380 - Total items: 12190 - Total triggers: 4530 - Required server performance: 224.2

          Comment

          • richlv
            Senior Member
            Zabbix Certified Trainer
            Zabbix Certified SpecialistZabbix Certified Professional
            • Oct 2005
            • 3112

            #6
            i have to admit that i have been trying to be annoying and get at least parts of this in before 1.6.3 comes out.
            i've actually broken at least half an hour total of tedious rsi inducing configuration to this behaviour, which is the reason why a lot of current zabbix config here is on hold until an upgrade is performed to a version that has this improvement...
            Zabbix 3.0 Network Monitoring book

            Comment

            • richlv
              Senior Member
              Zabbix Certified Trainer
              Zabbix Certified SpecialistZabbix Certified Professional
              • Oct 2005
              • 3112

              #7
              fot the record, this functionality is available in 1.6.3. rejoice.
              Zabbix 3.0 Network Monitoring book

              Comment

              • bashman
                Senior Member
                • Dec 2009
                • 432

                #8
                It seems like there are various bugs related to this topic, so we can vote for them to get solved:




                978 Hosts / 16.901 Items / 8.703 Triggers / 44 usr / 90,59 nvps / v1.8.15

                Comment

                Working...