Ad Widget

Collapse

Zabbix active agent not working

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alaahil
    Junior Member
    • Oct 2023
    • 18

    #1

    Zabbix active agent not working

    We are in the process of evaluating zabbix to be used for monitoring and we have been trying a small setup to get more familiarized. I have encountered a problem when trying to do active checks through zabbix agent.

    my setup:
    zabbix server and database are installed on WSL

    Zabbix agent installed on windows server
    we are not using proxies in this minimized setup

    passive checks are working normally and also I tested traps with senders and everything is working well. However, when using the "zabbix agent (active)" interface, no data is sent to the server.

    on windows server the zabbix_agentd.conf looks like that
    #
    # Mandatory: no
    # Default:
    # DisableActive=0
    # DisableActive=0
    # ServerActive=

    ServerActive=10.60.1.254:10056

    Then when starting the zabbix agent service I get the logs below:
    3156:20231020:161613.681 agent #0 started [main process]
    4568:20231020:161613.682 agent #2 started[listener #1]
    7912:20231020:161613.683 agent #3 started[listener #2]
    6728:20231020:161613.683 agent #4 started[listener #3]
    7768:20231020:161613.683 agent #5 started [active checks #1]
    6204:20231020:161613.684 agent #1 started [collector]
    7768:20231020:161616.695 Unable to connect to [10.60.1.254]:10056 [cannot connect to [[10.60.1.254]:10056]: (null)]
    7768:20231020:161616.696 Unable to send heartbeat message to [10.60.1.254]:10056 [cannot connect to [[10.60.1.254]:10056]: (null)]

    The ports are open and the passive interface for the same zabbix agent is working well. Any thoughts pleas?​
  • vijayk
    Senior Member
    • May 2023
    • 305

    #2
    Make change in agentd.config

    Server: zabbixserver ip
    ServerActive=zabbixserver ip
    HostName: {YourServerHostName} (Same mention it in item hostname)

    Comment

    • alaahil
      Junior Member
      • Oct 2023
      • 18

      #3
      I am still getting the same error after doing the above change (the only issue is that connection is being attempted on default port now but same failure)

      Comment

      • vijayk
        Senior Member
        • May 2023
        • 305

        #4
        Can you please share the host configuration screenshot and agentd.config file for better understand?

        Comment

        • alaahil
          Junior Member
          • Oct 2023
          • 18

          #5
          Yes, certainly.
          Below is the config file from the windows machine

          # This is a configuration file for Zabbix agent service (Windows)
          # To get more information about Zabbix, visit http://www.zabbix.com

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

          ### Option: LogType
          # Specifies where log messages are written to:
          # system - Windows event log
          # file - file specified with LogFile parameter
          # console - standard output
          #
          # Mandatory: no
          # Default:
          # LogType=file


          ### Option: LogFile
          # Log file name for LogType 'file' parameter.
          #
          # Mandatory: no
          # Default:
          # LogFile=

          LogFile=C:\Program Files\Zabbix Agent\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)
          # 5 - extended debugging (produces even more information)
          #
          # Mandatory: no
          # Range: 0-5
          # Default:
          # DebugLevel=3

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

          ### Option: AllowKey
          # Allow execution of item keys matching pattern.
          # Multiple keys matching rules may be defined in combination with DenyKey.
          # Key pattern is wildcard expression, which support "*" character to match any number of any characters in certain position. It might be used in both key name and key arguments.
          # Parameters are processed one by one according their appearance order.
          # If no AllowKey or DenyKey rules defined, all keys are allowed.
          #
          # Mandatory: no

          ### Option: DenyKey
          # Deny execution of items keys matching pattern.
          # Multiple keys matching rules may be defined in combination with AllowKey.
          # Key pattern is wildcard expression, which support "*" character to match any number of any characters in certain position. It might be used in both key name and key arguments.
          # Parameters are processed one by one according their appearance order.
          # If no AllowKey or DenyKey rules defined, all keys are allowed.
          # Unless another system.run[*] rule is specified DenyKey=system.run[*] is added by default.
          #
          # Mandatory: no
          # Default:
          # DenyKey=system.run[*]



          ### Option: EnableRemoteCommands - Deprecated, use AllowKey=system.run[*] or DenyKey=system.run[*] instead
          # Internal alias for AllowKey/DenyKey parameters depending on value:
          # 0 - DenyKey=system.run[*]
          # 1 - AllowKey=system.run[*]
          #
          # Mandatory: no

          ### 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, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
          # 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 and '::/0' will allow any IPv4 or IPv6 address.
          # '0.0.0.0/0' can be used to allow any IPv4 address.
          # Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
          #
          # Mandatory: yes, if StartAgents is not explicitly set to 0
          # Default:
          # Server=

          Server=10.60.1.254

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

          ### 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
          # Zabbix server/proxy address or cluster configuration to get active checks from.
          # Server/proxy address is IP address or DNS name and optional port separated by colon.
          # Cluster configuration is one or more server addresses separated by semicolon.
          # Multiple Zabbix servers/clusters and Zabbix proxies can be specified, separated by comma.
          # More than one Zabbix proxy should not be specified from each Zabbix server/cluster.
          # If Zabbix proxy is specified then Zabbix server/cluster for that proxy should not be specified.
          # Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.
          # 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 for Zabbix proxy:
          # ServerActive=127.0.0.1:10051
          # Example for multiple servers:
          # ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
          # Example for high availability:
          # ServerActive=zabbix.cluster.node1;zabbix.cluster.n ode2:20051;zabbix.cluster.node3
          # Example for high availability with two clusters and one server:
          # ServerActive=zabbix.cluster.node1;zabbix.cluster.n ode2:20051,zabbix.cluster2.node1;zabbix.cluster2.n ode2,zabbix.domain
          #
          # Mandatory: no
          # Default:
          # DisableActive=0
          # DisableActive=0
          # ServerActive=

          ServerActive=10.60.1.254

          ### Option: Hostname
          # List of comma delimited unique, case sensitive hostnames.
          # Required for active checks and must match hostnames as configured on the server.
          # Value is acquired from HostnameItem if undefined.
          #
          # Mandatory: no
          # Default:
          # Hostname=

          Hostname=MWP-ADCON01

          ### 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 2034 bytes.
          # If not defined, value will be acquired from HostMetadataItem.
          #
          # Mandatory: no
          # Range: 0-2034 bytes
          # 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 65535 characters.
          # This option is only used when HostMetadata is not defined.
          #
          # Mandatory: no
          # Default:
          # HostMetadataItem=


          ### Option: HostInterface
          # Optional parameter that defines host interface.
          # Host interface 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 HostInterfaceItem.
          #
          # Mandatory: no
          # Range: 0-255 characters
          # Default:
          # HostInterface=


          ### Option: HostInterfaceItem
          # Optional parameter that defines an item used for getting host interface.
          # Host interface 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 HostInterface is not defined.
          #
          # Mandatory: no
          # Default:
          # HostInterfaceItem=

          ### Option: RefreshActiveChecks
          # How often list of active checks is refreshed, in seconds.
          #
          # Mandatory: no
          # Range: 1-86400
          # Default:
          # RefreshActiveChecks=5

          ### 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=20

          ### Option: HeartbeatFrequency
          # Frequency of heartbeat messages in seconds.
          # Used for monitoring availability of active checks.
          # 0 - heartbeat messages disabled.
          #
          # Mandatory: no
          # Range: 0-3600
          # Default: 60
          # HeartbeatFrequency=

          ############ 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:\Program Files\Zabbix Agent\zabbix_agentd.d\

          # 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.
          # The following characters are not allowed:
          # \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
          # Additionally, newline characters are not allowed.
          # 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=

          ### Option: UserParameterDir
          # Directory to execute UserParameter commands from. Only one entry is allowed.
          # When executing UserParameter commands the agent will change the working directory to the one
          # specified in the UserParameterDir option.
          # This way UserParameter commands can be specified using the relative ./ prefix.
          #
          # Mandatory: no
          # Default:
          # UserParameterDir=

          ####### TLS-RELATED PARAMETERS #######

          ### Option: TLSConnect
          # How the agent should connect to server or proxy. Used for active checks.
          # Only one value can be specified:
          # unencrypted - connect without encryption
          # psk - connect using TLS and a pre-shared key
          # cert - connect using TLS and a certificate
          #
          # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
          # Default:
          # TLSConnect=unencrypted


          ### Option: TLSAccept
          # What incoming connections to accept.
          # Multiple values can be specified, separated by comma:
          # unencrypted - accept connections without encryption
          # psk - accept connections secured with TLS and a pre-shared key
          # cert - accept connections secured with TLS and a certificate
          #
          # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
          # Default:
          # TLSAccept=unencrypted


          ### Option: TLSCAFile
          # Full pathname of a file containing the top-level CA(s) certificates for
          # peer certificate verification.
          #
          # Mandatory: no
          # Default:
          # TLSCAFile=


          ### Option: TLSCRLFile
          # Full pathname of a file containing revoked certificates.
          #
          # Mandatory: no
          # Default:
          # TLSCRLFile=


          ### Option: TLSServerCertIssuer
          # Allowed server certificate issuer.
          #
          # Mandatory: no
          # Default:
          # TLSServerCertIssuer=


          ### Option: TLSServerCertSubject
          # Allowed server certificate subject.
          #
          # Mandatory: no
          # Default:
          # TLSServerCertSubject=


          ### Option: TLSCertFile
          # Full pathname of a file containing the agent certificate or certificate chain.
          #
          # Mandatory: no
          # Default:
          # TLSCertFile=


          ### Option: TLSKeyFile
          # Full pathname of a file containing the agent private key.
          #
          # Mandatory: no
          # Default:
          # TLSKeyFile=


          ### Option: TLSPSKIdentity
          # Unique, case sensitive string used to identify the pre-shared key.
          #
          # Mandatory: no
          # Default:
          # TLSPSKIdentity=


          ### Option: TLSPSKFile
          # Full pathname of a file containing the pre-shared key.
          #
          # Mandatory: no
          # Default:
          # TLSPSKFile=


          ####### For advanced users - TLS ciphersuite selection criteria #######

          ### Option: TLSCipherCert13
          # Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
          # Override the default ciphersuite selection criteria for certificate-based encryption.
          #
          # Mandatory: no
          # Default:
          # TLSCipherCert13=

          ### Option: TLSCipherCert
          # GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
          # Override the default ciphersuite selection criteria for certificate-based encryption.
          # Example for GnuTLS:
          # NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
          # Example for OpenSSL:
          # EECDH+aRSA+AES128:RSA+aRSA+AES128
          #
          # Mandatory: no
          # Default:
          # TLSCipherCert=

          ### Option: TLSCipherPSK13
          # Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
          # Override the default ciphersuite selection criteria for PSK-based encryption.
          # Example:
          # TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA25 6
          #
          # Mandatory: no
          # Default:
          # TLSCipherPSK13=

          ### Option: TLSCipherPSK
          # GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
          # Override the default ciphersuite selection criteria for PSK-based encryption.
          # Example for GnuTLS:
          # NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
          # Example for OpenSSL:
          # kECDHEPSK+AES128:kPSK+AES128
          #
          # Mandatory: no
          # Default:
          # TLSCipherPSK=

          ### Option: TLSCipherAll13
          # Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
          # Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
          # Example:
          # TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA25 6:TLS_AES_128_GCM_SHA256
          #
          # Mandatory: no
          # Default:
          # TLSCipherAll13=

          ### Option: TLSCipherAll
          # GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
          # Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
          # Example for GnuTLS:
          # NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
          # Example for OpenSSL:
          # EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128 :kPSK+AES128
          #
          # Mandatory: no
          # Default:
          # TLSCipherAll=

          ####### For advanced users - TCP-related fine-tuning parameters #######

          ## Option: ListenBacklog
          # The maximum number of pending connections in the queue. This parameter is passed to
          # listen() function as argument 'backlog' (see "man listen").
          #
          # Mandatory: no
          # Range: 0 - INT_MAX (depends on system, too large values may be silently truncated to implementation-specified maximum)
          # Default: SOMAXCONN (hard-coded constant, depends on system)
          # ListenBacklog=

          #DisableActive=0
          #DisablePassive=0

          Comment

          • vijayk
            Senior Member
            • May 2023
            • 305

            #6
            Originally posted by alaahil
            Yes, certainly.
            Below is the config file from the windows machine

            # This is a configuration file for Zabbix agent service (Windows)
            # To get more information about Zabbix, visit http://www.zabbix.com

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

            ### Option: LogType
            # Specifies where log messages are written to:
            # system - Windows event log
            # file - file specified with LogFile parameter
            # console - standard output
            #
            # Mandatory: no
            # Default:
            # LogType=file


            ### Option: LogFile
            # Log file name for LogType 'file' parameter.
            #
            # Mandatory: no
            # Default:
            # LogFile=

            LogFile=C:\Program Files\Zabbix Agent\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)
            # 5 - extended debugging (produces even more information)
            #
            # Mandatory: no
            # Range: 0-5
            # Default:
            # DebugLevel=3

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

            ### Option: AllowKey
            # Allow execution of item keys matching pattern.
            # Multiple keys matching rules may be defined in combination with DenyKey.
            # Key pattern is wildcard expression, which support "*" character to match any number of any characters in certain position. It might be used in both key name and key arguments.
            # Parameters are processed one by one according their appearance order.
            # If no AllowKey or DenyKey rules defined, all keys are allowed.
            #
            # Mandatory: no

            ### Option: DenyKey
            # Deny execution of items keys matching pattern.
            # Multiple keys matching rules may be defined in combination with AllowKey.
            # Key pattern is wildcard expression, which support "*" character to match any number of any characters in certain position. It might be used in both key name and key arguments.
            # Parameters are processed one by one according their appearance order.
            # If no AllowKey or DenyKey rules defined, all keys are allowed.
            # Unless another system.run[*] rule is specified DenyKey=system.run[*] is added by default.
            #
            # Mandatory: no
            # Default:
            # DenyKey=system.run[*]



            ### Option: EnableRemoteCommands - Deprecated, use AllowKey=system.run[*] or DenyKey=system.run[*] instead
            # Internal alias for AllowKey/DenyKey parameters depending on value:
            # 0 - DenyKey=system.run[*]
            # 1 - AllowKey=system.run[*]
            #
            # Mandatory: no

            ### 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, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
            # 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 and '::/0' will allow any IPv4 or IPv6 address.
            # '0.0.0.0/0' can be used to allow any IPv4 address.
            # Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
            #
            # Mandatory: yes, if StartAgents is not explicitly set to 0
            # Default:
            # Server=

            Server=10.60.1.254

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

            ### 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
            # Zabbix server/proxy address or cluster configuration to get active checks from.
            # Server/proxy address is IP address or DNS name and optional port separated by colon.
            # Cluster configuration is one or more server addresses separated by semicolon.
            # Multiple Zabbix servers/clusters and Zabbix proxies can be specified, separated by comma.
            # More than one Zabbix proxy should not be specified from each Zabbix server/cluster.
            # If Zabbix proxy is specified then Zabbix server/cluster for that proxy should not be specified.
            # Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.
            # 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 for Zabbix proxy:
            # ServerActive=127.0.0.1:10051
            # Example for multiple servers:
            # ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
            # Example for high availability:
            # ServerActive=zabbix.cluster.node1;zabbix.cluster.n ode2:20051;zabbix.cluster.node3
            # Example for high availability with two clusters and one server:
            # ServerActive=zabbix.cluster.node1;zabbix.cluster.n ode2:20051,zabbix.cluster2.node1;zabbix.cluster2.n ode2,zabbix.domain
            #
            # Mandatory: no
            # Default:
            # DisableActive=0
            # DisableActive=0
            # ServerActive=

            ServerActive=10.60.1.254

            ### Option: Hostname
            # List of comma delimited unique, case sensitive hostnames.
            # Required for active checks and must match hostnames as configured on the server.
            # Value is acquired from HostnameItem if undefined.
            #
            # Mandatory: no
            # Default:
            # Hostname=

            Hostname=MWP-ADCON01

            ### 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 2034 bytes.
            # If not defined, value will be acquired from HostMetadataItem.
            #
            # Mandatory: no
            # Range: 0-2034 bytes
            # 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 65535 characters.
            # This option is only used when HostMetadata is not defined.
            #
            # Mandatory: no
            # Default:
            # HostMetadataItem=


            ### Option: HostInterface
            # Optional parameter that defines host interface.
            # Host interface 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 HostInterfaceItem.
            #
            # Mandatory: no
            # Range: 0-255 characters
            # Default:
            # HostInterface=


            ### Option: HostInterfaceItem
            # Optional parameter that defines an item used for getting host interface.
            # Host interface 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 HostInterface is not defined.
            #
            # Mandatory: no
            # Default:
            # HostInterfaceItem=

            ### Option: RefreshActiveChecks
            # How often list of active checks is refreshed, in seconds.
            #
            # Mandatory: no
            # Range: 1-86400
            # Default:
            # RefreshActiveChecks=5

            ### 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=20

            ### Option: HeartbeatFrequency
            # Frequency of heartbeat messages in seconds.
            # Used for monitoring availability of active checks.
            # 0 - heartbeat messages disabled.
            #
            # Mandatory: no
            # Range: 0-3600
            # Default: 60
            # HeartbeatFrequency=

            ############ 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:\Program Files\Zabbix Agent\zabbix_agentd.d\

            # 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.
            # The following characters are not allowed:
            # \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
            # Additionally, newline characters are not allowed.
            # 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=

            ### Option: UserParameterDir
            # Directory to execute UserParameter commands from. Only one entry is allowed.
            # When executing UserParameter commands the agent will change the working directory to the one
            # specified in the UserParameterDir option.
            # This way UserParameter commands can be specified using the relative ./ prefix.
            #
            # Mandatory: no
            # Default:
            # UserParameterDir=

            ####### TLS-RELATED PARAMETERS #######

            ### Option: TLSConnect
            # How the agent should connect to server or proxy. Used for active checks.
            # Only one value can be specified:
            # unencrypted - connect without encryption
            # psk - connect using TLS and a pre-shared key
            # cert - connect using TLS and a certificate
            #
            # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
            # Default:
            # TLSConnect=unencrypted


            ### Option: TLSAccept
            # What incoming connections to accept.
            # Multiple values can be specified, separated by comma:
            # unencrypted - accept connections without encryption
            # psk - accept connections secured with TLS and a pre-shared key
            # cert - accept connections secured with TLS and a certificate
            #
            # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
            # Default:
            # TLSAccept=unencrypted


            ### Option: TLSCAFile
            # Full pathname of a file containing the top-level CA(s) certificates for
            # peer certificate verification.
            #
            # Mandatory: no
            # Default:
            # TLSCAFile=


            ### Option: TLSCRLFile
            # Full pathname of a file containing revoked certificates.
            #
            # Mandatory: no
            # Default:
            # TLSCRLFile=


            ### Option: TLSServerCertIssuer
            # Allowed server certificate issuer.
            #
            # Mandatory: no
            # Default:
            # TLSServerCertIssuer=


            ### Option: TLSServerCertSubject
            # Allowed server certificate subject.
            #
            # Mandatory: no
            # Default:
            # TLSServerCertSubject=


            ### Option: TLSCertFile
            # Full pathname of a file containing the agent certificate or certificate chain.
            #
            # Mandatory: no
            # Default:
            # TLSCertFile=


            ### Option: TLSKeyFile
            # Full pathname of a file containing the agent private key.
            #
            # Mandatory: no
            # Default:
            # TLSKeyFile=


            ### Option: TLSPSKIdentity
            # Unique, case sensitive string used to identify the pre-shared key.
            #
            # Mandatory: no
            # Default:
            # TLSPSKIdentity=


            ### Option: TLSPSKFile
            # Full pathname of a file containing the pre-shared key.
            #
            # Mandatory: no
            # Default:
            # TLSPSKFile=


            ####### For advanced users - TLS ciphersuite selection criteria #######

            ### Option: TLSCipherCert13
            # Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
            # Override the default ciphersuite selection criteria for certificate-based encryption.
            #
            # Mandatory: no
            # Default:
            # TLSCipherCert13=

            ### Option: TLSCipherCert
            # GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
            # Override the default ciphersuite selection criteria for certificate-based encryption.
            # Example for GnuTLS:
            # NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
            # Example for OpenSSL:
            # EECDH+aRSA+AES128:RSA+aRSA+AES128
            #
            # Mandatory: no
            # Default:
            # TLSCipherCert=

            ### Option: TLSCipherPSK13
            # Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
            # Override the default ciphersuite selection criteria for PSK-based encryption.
            # Example:
            # TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA25 6
            #
            # Mandatory: no
            # Default:
            # TLSCipherPSK13=

            ### Option: TLSCipherPSK
            # GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
            # Override the default ciphersuite selection criteria for PSK-based encryption.
            # Example for GnuTLS:
            # NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
            # Example for OpenSSL:
            # kECDHEPSK+AES128:kPSK+AES128
            #
            # Mandatory: no
            # Default:
            # TLSCipherPSK=

            ### Option: TLSCipherAll13
            # Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
            # Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
            # Example:
            # TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA25 6:TLS_AES_128_GCM_SHA256
            #
            # Mandatory: no
            # Default:
            # TLSCipherAll13=

            ### Option: TLSCipherAll
            # GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
            # Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
            # Example for GnuTLS:
            # NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
            # Example for OpenSSL:
            # EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128 :kPSK+AES128
            #
            # Mandatory: no
            # Default:
            # TLSCipherAll=

            ####### For advanced users - TCP-related fine-tuning parameters #######

            ## Option: ListenBacklog
            # The maximum number of pending connections in the queue. This parameter is passed to
            # listen() function as argument 'backlog' (see "man listen").
            #
            # Mandatory: no
            # Range: 0 - INT_MAX (depends on system, too large values may be silently truncated to implementation-specified maximum)
            # Default: SOMAXCONN (hard-coded constant, depends on system)
            # ListenBacklog=

            #DisableActive=0
            #DisablePassive=0
            Also share the Item host configuration photo.

            Comment


            • Muhammad.qaseem
              Muhammad.qaseem commented
              Editing a comment
              Hi Vijayk,
              I am facing same kind of issue but the version are different can there be version compatibility issue or not.
              Below is the detail:
              Zabbix agent:
              zabbix_agent2 (Zabbix) 5.2.4
              Zabbix Proxy:
              zabbix_proxy (Zabbix) 6.0.10
              Zabbix Server:
              zabbix_server (Zabbix) 6.0.13
          • alaahil
            Junior Member
            • Oct 2023
            • 18

            #7
            Here you go

            Click image for larger version

Name:	MicrosoftTeams-image (2).png
Views:	4289
Size:	41.2 KB
ID:	472903

            Comment

            • vijayk
              Senior Member
              • May 2023
              • 305

              #8
              Sorry, Please share the host configuration screenshot.

              Comment

              • vijayk
                Senior Member
                • May 2023
                • 305

                #9
                @Muhammad.qaseem​ no it is not. Did you check in agent and server logs?

                Comment

                • alaahil
                  Junior Member
                  • Oct 2023
                  • 18

                  #10
                  Hello,

                  The host configuration snapshot is below:
                  Click image for larger version

Name:	image.png
Views:	4264
Size:	35.8 KB
ID:	473029

                  agent logs on restarting the agent service on windows:
                  ------------------------------------------------------------------------
                  4896:20231026:103258.050 agent #1 started [collector]
                  3948:20231026:103301.048 Unable to connect to [10.60.1.254]:10051 [cannot connect to [[10.60.1.254]:10051]: (null)]
                  3948:20231026:103301.049 Unable to send heartbeat message to [10.60.1.254]:10051 [cannot connect to [[10.60.1.254]:10051]: (null)]

                  Server logs:
                  ---------------
                  nothing generated
                  ​​



                  Comment

                  • vijayk
                    Senior Member
                    • May 2023
                    • 305

                    #11
                    Unable to connect to [10.60.1.254]:10051

                    Did you test the port 10051 is open in zabbix server from the agent?

                    Use powershell to test the connection.

                    Test-NetConnection -P 10051 10.60.1.254​

                    Comment

                    • alaahil
                      Junior Member
                      • Oct 2023
                      • 18

                      #12
                      Indeed there is a connection issue, I will try to resolve it and update you

                      Comment

                      • vijayk
                        Senior Member
                        • May 2023
                        • 305

                        #13
                        Originally posted by alaahil
                        Indeed there is a connection issue, I will try to resolve it and update you
                        Okay, hope it'll fix your issue.

                        Comment

                        • alaahil
                          Junior Member
                          • Oct 2023
                          • 18

                          #14
                          Hello,
                          To give an update the issue is solved. The steps that I did:
                          1- open the port 10051
                          2- Install a listener at the zabbix server (not using proxies for the moment)
                          3- configure the active agent at port 10051.
                          Thanks a lot for your input that was beneficial

                          Comment

                          • solution
                            Senior Member
                            • Jun 2020
                            • 269

                            #15
                            Just to summarize the mode of operation:
                            For Active Mode/Agent:
                            If Zabbix Server is on the default port (10051)
                            on the agent side (zabbix_agent.conf):
                            ...
                            # ServerActive=

                            ServerActive=10.60.1.254​
                            ---
                            If the Zabbix Server is on the custom port (Ex.: 35051)
                            on the agent side (zabbix_agent.conf):
                            ...
                            # ServerActive=

                            ServerActive=10.60.1.254:35051​
                            ...
                            In both cases, if you have a firewall, the port must be opened on the zabbix server host.​


                            Wellington

                            Comment

                            Working...