Ad Widget

Collapse

[4] Interrupted system call

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • NikoMitK
    Junior Member
    • Sep 2015
    • 10

    #1

    [4] Interrupted system call

    Hallo,

    ich habe auf mehreren meiner überwachten Maschinen im Frontend die Fehlermeldung:

    Get value from agent failed: cannot connect to [[192.168.XXX.XXX]:10050]: [4] Interrupted system call

    Nachdem ich die ersten paar Seiten auf Google durchgearbeitet habe und einiges an Lösungsvorschlägen ohne Erfolg probiert habe, bin ich mit meinem Latein inzwischen am Ende.


    Ich betreibe einen Zabbix Server 2.4.1 auf Debian 8 mit dem ich Maschinen im gleichen Netz überwache und einen Zabbix Proxy auf einer virt. Maschine mit Debian 7.8, der Maschinen in einem anderen Netz überwacht.
    Die Kommunikation zwischen Server und Proxy ist möglich und es werden auch Agenten in beiden Netzen erfolgreich überwacht.

    Einige Agenten, die auf Windows-Maschinen (Win7, Win8, WinServer2008) laufen, zeigen jetzt besagten Fehler an, nachdem ich die Ports für den Zabbix-Agenten-Dienst in der Windows-Firewall freigegeben habe.
    (Vorher zeigten sie "No Route to host")

    Ich habe die zabbix_agentd.conf der besagten Maschinen mehrfach kontrolliert und sie gleichen den Konfigurationen von Maschinen, die ohne Probleme laufen.

    Meine Frage wäre jetzt, ob ich etwas übersehen oder vergessen habe, was man noch beachten muss?


    lG NikoMitK

    PS: zabbix_agentd.conf:
    # This is a config file for the Zabbix agent daemon (Windows)
    # To get more information about Zabbix, go to http://www.zabbix.com

    ############ GENERAL PARAMETERS #################

    ### Option: LogFile
    # Name of log file.
    # If not set, Windows Event Log is used.
    #
    # Mandatory: no
    # Default:
    # LogFile=

    LogFile=c:\zabbix_agentd.log

    ### Option: LogFileSize
    # Maximum size of log file in MB.
    # 0 - disable automatic log rotation.
    #
    # Mandatory: no
    # Range: 0-1024
    # Default:
    # LogFileSize=1

    ### Option: DebugLevel
    # Specifies debug level
    # 0 - basic information about starting and stopping of Zabbix processes
    # 1 - critical information
    # 2 - error information
    # 3 - warnings
    # 4 - for debugging (produces lots of information)
    #
    # Mandatory: no
    # Range: 0-4
    # Default:
    # DebugLevel=3

    ### Option: SourceIP
    # Source IP address for outgoing connections.
    #
    # Mandatory: no
    # Default:
    # SourceIP=

    ### Option: EnableRemoteCommands
    # Whether remote commands from Zabbix server are allowed.
    # 0 - not allowed
    # 1 - allowed
    #
    # Mandatory: no
    # Default:
    # EnableRemoteCommands=0

    ### Option: LogRemoteCommands
    # Enable logging of executed shell commands as warnings.
    # 0 - disabled.
    # 1 - enabled
    #
    # Mandatory: no
    # Default:
    # LogRemoteCommands=0

    ##### Passive checks related

    ### Option: Server
    # List of comma delimited IP addresses (or hostnames) of Zabbix servers.
    # Incoming connections will be accepted only from the hosts listed here.
    # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
    #
    # Mandatory: no
    # Default:
    # Server=

    Server=192.168.207.XX

    ### Option: ListenPort
    # Agent will listen on this port for connections from the server.
    #
    # Mandatory: no
    # Range: 1024-32767
    # Default:
    # ListenPort=10050

    ### Option: ListenIP
    # List of comma delimited IP addresses that the agent should listen on.
    # First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
    #
    # Mandatory: no
    # Default:
    # ListenIP=0.0.0.0

    ### Option: StartAgents
    # Number of pre-forked instances of zabbix_agentd that process passive checks.
    # If set to 0, disables passive checks and the agent will not listen on any TCP port.
    #
    # Mandatory: no
    # Range: 0-100
    # Default:
    # StartAgents=3

    ##### Active checks related

    ### Option: ServerActive
    # List of comma delimited IPort (or hostnameort) pairs of Zabbix servers for active checks.
    # If port is not specified, default port is used.
    # IPv6 addresses must be enclosed in square brackets if port for that host is specified.
    # If port is not specified, square brackets for IPv6 addresses are optional.
    # If this parameter is not specified, active checks are disabled.
    # Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
    #
    # Mandatory: no
    # Default:
    # ServerActive=

    ServerActive=127.0.0.1

    ### Option: Hostname
    # Unique, case sensitive hostname.
    # Required for active checks and must match hostname as configured on the server.
    # Value is acquired from HostnameItem if undefined.
    #
    # Mandatory: no
    # Default:
    # Hostname=

    Hostname=Wart07

    ### Option: HostnameItem
    # Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
    # Does not support UserParameters or aliases.
    #
    # Mandatory: no
    # Default:
    # HostnameItem=system.hostname

    ### Option: HostMetadata
    # Optional parameter that defines host metadata.
    # Host metadata is used at host auto-registration process.
    # An agent will issue an error and not start if the value is over limit of 255 characters.
    # If not defined, value will be acquired from HostMetadataItem.
    #
    # Mandatory: no
    # Range: 0-255 characters
    # Default:
    # HostMetadata=

    ### Option: HostMetadataItem
    # Optional parameter that defines an item used for getting host metadata.
    # Host metadata is used at host auto-registration process.
    # During an auto-registration request an agent will log a warning message if
    # the value returned by specified item is over limit of 255 characters.
    # This option is only used when HostMetadata is not defined.
    #
    # Mandatory: no
    # Default:
    # HostMetadataItem=

    ### Option: RefreshActiveChecks
    # How often list of active checks is refreshed, in seconds.
    #
    # Mandatory: no
    # Range: 60-3600
    # Default:
    # RefreshActiveChecks=120

    ### Option: BufferSend
    # Do not keep data longer than N seconds in buffer.
    #
    # Mandatory: no
    # Range: 1-3600
    # Default:
    # BufferSend=5

    ### Option: BufferSize
    # Maximum number of values in a memory buffer. The agent will send
    # all collected data to Zabbix server or Proxy if the buffer is full.
    #
    # Mandatory: no
    # Range: 2-65535
    # Default:
    # BufferSize=100

    ### Option: MaxLinesPerSecond
    # Maximum number of new lines the agent will send per second to Zabbix Server
    # or Proxy processing 'log', 'logrt' and 'eventlog' active checks.
    # The provided value will be overridden by the parameter 'maxlines',
    # provided in 'log', 'logrt' or 'eventlog' item keys.
    #
    # Mandatory: no
    # Range: 1-1000
    # Default:
    # MaxLinesPerSecond=100

    ############ ADVANCED PARAMETERS #################

    ### Option: Alias
    # Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
    # Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
    # Different Alias keys may reference the same item key.
    # For example, to retrieve paging file usage in percents from the server:
    # Alias=pg_usageerf_counter[\Paging File(_Total)\% Usage]
    # Now shorthand key pg_usage may be used to retrieve data.
    # Aliases can be used in HostMetadataItem but not in HostnameItem or PerfCounter parameters.
    #
    # Mandatory: no
    # Range:
    # Default:

    ### Option: Timeout
    # Spend no more than Timeout seconds on processing
    #
    # Mandatory: no
    # Range: 1-30
    # Default:
    # Timeout=3

    ### Option: PerfCounter
    # Syntax: <parameter_name>,"<perf_counter_path>",<period>
    # Defines new parameter <parameter_name> which is an average value for system performance counter <perf_counter_path> for the specified time period <period> (in seconds).
    # For example, if you wish to receive average number of processor interrupts per second for last minute, you can define new parameter "interrupts" as following:
    # PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
    # Please note double quotes around performance counter path.
    # Samples for calculating average value will be taken every second.
    # You may run "typeperf -qx" to get list of all performance counters available in Windows.
    #
    # Mandatory: no
    # Range:
    # Default:

    ### Option: Include
    # You may include individual files in the configuration file.
    #
    # Mandatory: no
    # Default:
    # Include=

    # Include=c:\zabbix\zabbix_agentd.userparams.conf
    # Include=c:\zabbix\zabbix_agentd.conf.d\
    # Include=c:\zabbix\zabbix_agentd.conf.d\*.conf

    ####### USER-DEFINED MONITORED PARAMETERS #######

    ### Option: UnsafeUserParameters
    # Allow all characters to be passed in arguments to user-defined parameters.
    # 0 - do not allow
    # 1 - allow
    #
    # Mandatory: no
    # Range: 0-1
    # Default:
    # UnsafeUserParameters=0

    ### Option: UserParameter
    # User-defined parameter to monitor. There can be several user-defined parameters.
    # Format: UserParameter=<key>,<shell command>
    #
    # Mandatory: no
    # Default:
    # UserParameter=
    Last edited by NikoMitK; 25-09-2015, 10:28.
  • BDiE8VNy
    Senior Member
    • Apr 2010
    • 680

    #2
    Steht nichts verdächtiges in der Zabbix agent Logdatei (DebugLevel=4)?

    Hast Du mal versucht vom Zabbix proxy aus manuell eine TCP Verbindung zum Zabbix agent herzustellen?
    Falls das fehlschlägt, funktioniert es gegen irgeneinen anderen existierenden Port?

    Wie sieht es mit Zabbix agent (active) checks aus?
    Übrigens, solltest Du den Parameter ServerActive auskommentieren, falls Du keine active checks möchtest. Andernfalls versucht der Agent ständig seinen Server/Proxy zu erreichen und schreibt eine Fehlermeldung ins Log.

    Comment

    • NikoMitK
      Junior Member
      • Sep 2015
      • 10

      #3
      Das LogFile zeigt folgendes an:
      138844:20150928:160300.267 Starting Zabbix Agent [Wap13]. Zabbix 2.4.1 (revision 49637).
      138844:20150928:160300.392 using configuration file: C:\Program Files\zabbix\zabbix-agentd.conf
      138844:20150928:160300.532 In init_collector_data()
      138844:20150928:160300.610 End of init_collector_data()
      138844:20150928:160300.673 In init_perf_collector()
      138844:20150928:160300.688 End of init_perf_collector():SUCCEED
      138844:20150928:160300.704 agent #0 started [main process]
      138720:20150928:160300.720 agent #1 started [collector]
      139220:20150928:160300.782 agent #2 started[listener #1]
      138216:20150928:160300.798 agent #4 started[listener #3]
      138744:20150928:160300.798 agent #3 started[listener #2]
      138720:20150928:160300.845 In init_cpu_collector()
      138720:20150928:160300.845 In get_counter_name() pdhIndex:238
      138720:20150928:160301.673 End of get_counter_name():SUCCEED
      138720:20150928:160301.720 In get_counter_name() pdhIndex:6
      138720:20150928:160301.892 End of get_counter_name():SUCCEED
      138720:20150928:160301.892 In add_perf_counter() counter:'\Prozessor(_Total)\Prozessorzeit (%)' interval:900
      138720:20150928:160301.923 add_perf_counter(): PerfCounter '\Prozessor(_Total)\Prozessorzeit (%)' successfully added
      138720:20150928:160301.923 End of add_perf_counter(): SUCCEED
      138720:20150928:160301.923 In add_perf_counter() counter:'\Prozessor(0)\Prozessorzeit (%)' interval:900
      138720:20150928:160301.939 add_perf_counter(): PerfCounter '\Prozessor(0)\Prozessorzeit (%)' successfully added
      138720:20150928:160301.939 End of add_perf_counter(): SUCCEED
      138720:20150928:160301.939 In add_perf_counter() counter:'\Prozessor(1)\Prozessorzeit (%)' interval:900
      138720:20150928:160301.954 add_perf_counter(): PerfCounter '\Prozessor(1)\Prozessorzeit (%)' successfully added
      138720:20150928:160301.954 End of add_perf_counter(): SUCCEED
      138720:20150928:160301.954 In get_counter_name() pdhIndex:2
      138720:20150928:160301.970 End of get_counter_name():SUCCEED
      138720:20150928:160301.970 In get_counter_name() pdhIndex:44
      138720:20150928:160301.970 End of get_counter_name():SUCCEED
      138720:20150928:160301.970 In add_perf_counter() counter:'\System\Prozessor-Warteschlangenlänge' interval:900
      138720:20150928:160302.017 add_perf_counter(): PerfCounter '\System\Prozessor-Warteschlangenlänge' successfully added
      138720:20150928:160302.017 End of add_perf_counter(): SUCCEED
      138720:20150928:160302.032 End of init_cpu_collector():SUCCEED
      138720:20150928:160302.079 In collect_perfstat()
      138720:20150928:160302.110 End of collect_perfstat()
      138720:20150928:160303.142 In collect_perfstat()
      138720:20150928:160303.157 End of collect_perfstat()
      138720:20150928:160304.189 In collect_perfstat()
      138720:20150928:160304.220 End of collect_perfstat()
      138720:20150928:160305.220 In collect_perfstat()
      138720:20150928:160305.236 End of collect_perfstat()

      Da ich (noch) keine Active.Checks verwende, habe ich den Parameter "ServerActive" mal auskommentiert und über TCP ist eine Verbindung möglich.

      EDIT: Jetzt zeigen die Hosts, bei denen ich die Firewall-Regeln ergänzt habe, zum Teil wieder "No route to host" und zum Teil weiterhin "Interrupted system call".
      Last edited by NikoMitK; 30-09-2015, 08:29.

      Comment

      • NikoMitK
        Junior Member
        • Sep 2015
        • 10

        #4
        Habe meine Probleme selbst gelöst:

        Der "No Route to Host"-Fehler trat immer wieder auf, weil die virtuellen Maschinen in den Energiesparmodus gewechselt sind und deswegen keine Netzwerkverbindung mehr aufrecht erhalten.

        Den Interrupted System Call habe ich entfernt bekommen, indem ich die Poller und Trapper hochgesetzt habe und sowohl den Dienst als auch die App durch die Windows-Firewall kommunizieren ließ. (Also zusätzlich zur Portfreigabe auch über den Reiter "Eine App durch die Windows-Firewall kommunizieren lassen")

        Comment

        • miramira007
          Member
          • Sep 2015
          • 89

          #5
          Hallo,

          ich habe in meinem Netzwerk auch ein paar VM's mit der gleichen Fehlermeldung
          Get value from agent failed: cannot connect to [[192.168.XXX.XXX]:10050]: [4] Interrupted system call
          Was genau meinst du denn mit dem Poller und Trapper hochgezogen? Vielleicht hilft mir ja das auch weiter.


          VG,
          Mira

          Comment

          • NikoMitK
            Junior Member
            • Sep 2015
            • 10

            #6
            Ich meine damit, die Werte StartPollers/StartTrappers in der .conf-Datei zu vergrößern.

            Comment

            Working...