Ad Widget

Collapse

Switched off proxy servers + nodata triggers

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • spajjie
    Junior Member
    • Sep 2024
    • 2

    #1

    Switched off proxy servers + nodata triggers

    Hi

    We have configured a local proxy to perform network monitoring on one of our segments. Data is obviously feed back to our central server.

    We have loaded up the Zabbix Agent on our proxy server to communicate back to our central monitoring Zabbix server. The Proxy itself is a host which is monitored by itself using the normal passive-based OS Linux template.

    Data is collated and everything works OK if the Proxy server is up and switched on.

    When the proxy server is switched off (power failure etc) and it is no longer active on the network we want to trigger and alert us when this happens, and my assumption is, that the normal agent ping (no data for 1m) trigger should fire, but it doesn't. So, my question is twofold, why is this trigger not firing? Is the processing of the trigger actually happening on the Proxy server but cannot because it is dead?

    I'd appreciate an insight.

    Thanks
    Chris
  • cyber
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Dec 2006
    • 4807

    #2
    Proxy does not calculate anything.
    Share some sreenshots of your item and trigger config... without any info we are running blind here..

    Comment

    • ISiroshtan
      Senior Member
      • Nov 2019
      • 324

      #3
      I think the question here is about nodata() mode. From documentation:

      nodata(/host/key,sec,<mode>)

      Check for no data received.
      Supported value types: Integer, Float, Character, Text, Log.
      Returns: 1 - if no data received during the defined period of time; 0 - otherwise.

      Parameters:
      • See common parameters;
      • sec - the period should not be less than 30 seconds because the history syncer process calculates this function only every 30 seconds; nodata(/host/key,0) is disallowed.
      • mode - if set to strict (double-quoted), this function will be insensitive to proxy availability (see comments for details).

      Comments:
      • the 'nodata' triggers monitored by proxy are, by default, sensitive to proxy availability - if proxy becomes unavailable, the 'nodata' triggers will not fire immediately after a restored connection, but will skip the data for the delayed period. Note that for passive proxies suppression is activated if connection is restored more than 15 seconds and no less than 2 & ProxyUpdateFrequency seconds later. For active proxies suppression is activated if connection is restored more than 15 seconds later. To turn off sensitiveness to proxy availability, use the third parameter, e.g.: nodata(/host/key,5m,"strict"); in this case the function will fire as soon as the evaluation period (five minutes) without data has past.
      • This function will display an error if, within the period of the 1st parameter:
        - there's no data and Zabbix server was restarted
        - there's no data and maintenance was completed
        - there's no data and the item was added or re-enabled
      • Errors are displayed in the Info column in trigger configuration;
      • This function may not work properly if there are time differences between Zabbix server, proxy and agent. See also: Time synchronization requirement.

      So if you want for nodata() on host monitored via proxy to fire when proxy itself is unavailable - add the "strict" as 2nd argument.

      Also for our setup we went different direction. We teached Zabbix to do call to it's own API to get data about proxy server, discover proxies in result and use dependent item to extract "last_access" value, then running alert if it differs much from current timestamp.

      Comment

      • cyber
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Dec 2006
        • 4807

        #4
        Good catch, I completely forgot about that strict option...


        zabbix[proxy,<name>,<param>] should return the same lastaccess if asked.
        zabbix[proxy,<name>,<param>]
        Information about Zabbix proxy. Integer. name: proxy name

        Valid values for param are:
        lastaccess - timestamp of last heart beat message received from proxy
        delay - how long collected values are unsent, calculated as "proxy delay" (difference between the current proxy time and the timestamp of the oldest unsent value on proxy) + ("current server time" - "proxy lastaccess")

        Example:
        => zabbix[proxy,"Germany",lastaccess]

        fuzzytime() function can be used to check availability of proxies.
        This item is always processed by Zabbix server regardless of host location (on server or proxy).

        Comment

        • ISiroshtan
          Senior Member
          • Nov 2019
          • 324

          #5
          zabbix[proxy,<name>,<param>] should return the same lastaccess if asked
          Ooooooooh

          Was gonna get sad I missed the obvious solution and went for playing with API instead. But then I noticed that 6.0 had no zabbix[proxy,discovery]​ option available... now not feeling that sad
          Thx for showing it to me Cyber!

          Comment

          Working...