Ad Widget

Collapse

"Overwriting" discovered items

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • chojin
    Member
    Zabbix Certified Specialist
    • Jul 2011
    • 64

    #1

    "Overwriting" discovered items

    In my Windows OS Template, I do services discovery and add all services that are started automatically with a trigger set to severity Warning which works nicely.

    However when we want to monitor a specific application on a specific host we have a separate template for each monitored application containing among other application specific monitoring items, an item for the service_state of related windows services, with associated triggers set to higher severities than "Warning".
    The idea was to "overwrite" the default items and triggers created by LLD with the ones from the template. However this seems not to be possible. If the template is assigned to the host before LLD has run, this works perfectly as LLD can't create an item that already exists.
    But when LLD has already run, the template can't be applied any-more because those item(s) already exist "as an item created from item prototype."
    A solution would have been to delete this conflicting item from the host and assign the template before the next LLD run. However manually deleting LLD items is also not possible...

    Does anybody know a method to achieve what I have want to achieve here ?
  • steveboyson
    Senior Member
    • Jul 2013
    • 582

    #2
    Use regexps for your LLD and thus exclude the unwanted services from item prototype creation.

    Comment

    • chojin
      Member
      Zabbix Certified Specialist
      • Jul 2011
      • 64

      #3
      I already use a global regexp for filtering out 'automatic' services that are actually only run during start-up and then stop running, which is host independent.

      This could be solution if I would be able to combine a global regexp with a local one on host level.
      For example
      Code:
      Filter macro: {#SVCNAME} regexp: @Windows Services Blacklist|^service1$|^service2$
      Host-level changing of the template-defined filter seems to be possible, but I assume this combining of global and local regexps won't work, as the manual states
      You can enter a regular expression or reference a global regular expression in “Regexp” field.
      I don't want to add host-specific services to the global regexp as this could lead to services absolutely not monitored on servers (possibly intentionally) missing the template that defines the explicit items/triggers for that service.

      Comment

      • steveboyson
        Senior Member
        • Jul 2013
        • 582

        #4
        What about different regexps with different filter criterias at the global level?

        Comment

        • chojin
          Member
          Zabbix Certified Specialist
          • Jul 2011
          • 64

          #5
          That would make it very complicated and "challenging" to administer.. as I'm speaking about hundreds of hosts and many applications, sometimes together on one host, sometimes on seperate hosts etc.. all requiring custom global regexps..
          :-/

          Comment

          • steveboyson
            Senior Member
            • Jul 2013
            • 582

            #6
            Well then, what should I say ...

            (You might want to think about standardization of your environment to keep it useable and administrateable? Use custom LLD scripts? Find a common criteria amongst all the hosts to define standardized LLD regexps? I don't know ;-)

            Comment

            • chojin
              Member
              Zabbix Certified Specialist
              • Jul 2011
              • 64

              #7
              Created a feature request to add the possibility to use global regexps inside local regexps:

              Comment

              Working...