roles/zabbix-agent: Deploy Zabbix agent
The *zabbix-agent* role installs the Zabbix monitoring agent on the managed node, and sets it up to communicate with the Zabbix server specified by the `zabbix_server` variable. This role "should" be compatible with most distributions; it has been tested with Fedora and Gentoo.jenkins-master
parent
3a7c9b52bf
commit
668b158cf9
|
@ -0,0 +1,2 @@
|
||||||
|
zabbix_run_dir: /run/zabbix
|
||||||
|
zabbix_server: 127.0.0.1
|
|
@ -0,0 +1,6 @@
|
||||||
|
- name: restart zabbix agent
|
||||||
|
service:
|
||||||
|
name={{ zbx_agent_svc }}
|
||||||
|
state=restarted
|
||||||
|
- name: save firewalld configuration
|
||||||
|
command: firewall-cmd --runtime-to-permanent
|
|
@ -0,0 +1,47 @@
|
||||||
|
- name: load distribution-specifc values
|
||||||
|
include_vars: '{{ item }}'
|
||||||
|
with_first_found:
|
||||||
|
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
|
||||||
|
- '{{ ansible_distribution }}.yml'
|
||||||
|
- '{{ ansible_os_family }}.yml'
|
||||||
|
- defaults.yml
|
||||||
|
|
||||||
|
- name: ensure zabbix agent is installed
|
||||||
|
package:
|
||||||
|
name={{ zbx_agent_required_packages|join('') }}
|
||||||
|
state=present
|
||||||
|
tags:
|
||||||
|
- install
|
||||||
|
|
||||||
|
- name: ensure zabbix agent is configured
|
||||||
|
template:
|
||||||
|
src={{ zbx_agent_config_tmpl }}
|
||||||
|
dest={{ zbx_agent_config }}
|
||||||
|
mode=0644
|
||||||
|
notify: restart zabbix agent
|
||||||
|
- name: ensure zabbix agent config drop-in directory exists
|
||||||
|
file:
|
||||||
|
path={{ zbx_agent_config_dir }}
|
||||||
|
mode=0755
|
||||||
|
seuser=system_u
|
||||||
|
setype=etc_t
|
||||||
|
state=directory
|
||||||
|
- name: ensure zabbix is allowed in the firewall
|
||||||
|
firewalld:
|
||||||
|
port=10050/tcp
|
||||||
|
permanent=no
|
||||||
|
immediate=yes
|
||||||
|
state=enabled
|
||||||
|
tags:
|
||||||
|
- firewalld
|
||||||
|
notify: save firewalld configuration
|
||||||
|
|
||||||
|
- name: ensure zabbix agent starts at boot
|
||||||
|
service:
|
||||||
|
name={{ zbx_agent_svc }}
|
||||||
|
enabled=yes
|
||||||
|
- meta: flush_handlers
|
||||||
|
- name: ensure zabbix agent is running
|
||||||
|
service:
|
||||||
|
name={{ zbx_agent_svc }}
|
||||||
|
state=started
|
|
@ -0,0 +1,290 @@
|
||||||
|
# This is a config file for the Zabbix agent daemon (Unix)
|
||||||
|
# To get more information about Zabbix, visit http://www.zabbix.com
|
||||||
|
|
||||||
|
############ GENERAL PARAMETERS #################
|
||||||
|
|
||||||
|
### Option: PidFile
|
||||||
|
# Name of PID file.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
PidFile={{ zabbix_run_dir.rstrip('/') }}/zabbix_agentd.pid
|
||||||
|
|
||||||
|
### Option: LogFile
|
||||||
|
# Name of log file.
|
||||||
|
# If not set, syslog is used.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LogFile=
|
||||||
|
|
||||||
|
LogFile=/var/log/zabbix/zabbix_agentd.log
|
||||||
|
|
||||||
|
### Option: LogFileSize
|
||||||
|
# Maximum size of log file in MB.
|
||||||
|
# 0 - disable automatic log rotation.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 0-1024
|
||||||
|
# Default:
|
||||||
|
LogFileSize=0
|
||||||
|
|
||||||
|
### Option: DebugLevel
|
||||||
|
# Specifies debug level
|
||||||
|
# 0 - no debug
|
||||||
|
# 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={{ zabbix_server }}
|
||||||
|
|
||||||
|
### 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 IP:port (or hostname:port) 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={{ zabbix_server }}
|
||||||
|
|
||||||
|
### 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=
|
||||||
|
{% if zabbix_hostname is defined %}
|
||||||
|
|
||||||
|
Hostname={{ zabbix_hostname }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
### 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=
|
||||||
|
{% if zabbix_metadata_item is defined %}
|
||||||
|
|
||||||
|
HostMetadataItem={{ zabbix_metadata_item }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
### 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' and 'logrt' active checks.
|
||||||
|
# The provided value will be overridden by the parameter 'maxlines',
|
||||||
|
# provided in 'log' or 'logrt' 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 the ID of user 'zabbix':
|
||||||
|
# Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
|
||||||
|
# Now shorthand key zabbix.userid may be used to retrieve data.
|
||||||
|
# Aliases can be used in HostMetadataItem but not in HostnameItem parameters.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range:
|
||||||
|
# Default:
|
||||||
|
|
||||||
|
### Option: Timeout
|
||||||
|
# Spend no more than Timeout seconds on processing
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 1-30
|
||||||
|
# Default:
|
||||||
|
# Timeout=3
|
||||||
|
|
||||||
|
### Option: AllowRoot
|
||||||
|
# Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
|
||||||
|
# will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
|
||||||
|
# 0 - do not allow
|
||||||
|
# 1 - allow
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# AllowRoot=0
|
||||||
|
|
||||||
|
### Option: Include
|
||||||
|
# You may include individual files or all files in a directory in the configuration file.
|
||||||
|
# Installing Zabbix will create include directory in /etc, unless modified during the compile time.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# Include=
|
||||||
|
|
||||||
|
# Include=/etc/zabbix_agentd.userparams.conf
|
||||||
|
Include=/etc/zabbix_agentd.conf.d/
|
||||||
|
|
||||||
|
####### 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>
|
||||||
|
# See 'zabbix_agentd' directory for examples.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# UserParameter=
|
||||||
|
|
||||||
|
####### LOADABLE MODULES #######
|
||||||
|
|
||||||
|
### Option: LoadModulePath
|
||||||
|
# Full path to location of agent modules.
|
||||||
|
# Default depends on compilation options.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LoadModulePath=${libdir}/modules
|
||||||
|
|
||||||
|
### Option: LoadModule
|
||||||
|
# Module to load at agent startup. Modules are used to extend functionality of the agent.
|
||||||
|
# Format: LoadModule=<module.so>
|
||||||
|
# The modules must be located in directory specified by LoadModulePath.
|
||||||
|
# It is allowed to include multiple LoadModule parameters.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LoadModule=
|
|
@ -0,0 +1,280 @@
|
||||||
|
# This is a config file for the Zabbix agent daemon (Unix)
|
||||||
|
# To get more information about Zabbix, visit http://www.zabbix.com
|
||||||
|
|
||||||
|
############ GENERAL PARAMETERS #################
|
||||||
|
|
||||||
|
### Option: PidFile
|
||||||
|
# Name of PID file.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
PidFile=/run/zabbix/zabbix_agentd.pid
|
||||||
|
|
||||||
|
### Option: LogFile
|
||||||
|
# Name of log file.
|
||||||
|
# If not set, syslog is used.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LogFile=
|
||||||
|
|
||||||
|
LogFile=/var/log/zabbix/zabbix_agentd.log
|
||||||
|
|
||||||
|
### Option: LogFileSize
|
||||||
|
# Maximum size of log file in MB.
|
||||||
|
# 0 - disable automatic log rotation.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 0-1024
|
||||||
|
# Default:
|
||||||
|
LogFileSize=128
|
||||||
|
|
||||||
|
### Option: DebugLevel
|
||||||
|
# Specifies debug level
|
||||||
|
# 0 - no debug
|
||||||
|
# 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={{ zabbix_server }}
|
||||||
|
|
||||||
|
### 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 IP:port (or hostname:port) 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={{ zabbix_server }}
|
||||||
|
|
||||||
|
### 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=
|
||||||
|
|
||||||
|
### Option: HostnameItem
|
||||||
|
# Item used for generating Hostname if it is undefined.
|
||||||
|
# Ignored if Hostname is defined.
|
||||||
|
#
|
||||||
|
# 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=
|
||||||
|
{% if zabbix_metadata_item is defined %}
|
||||||
|
|
||||||
|
HostMetadataItem={{ zabbix_metadata_item }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
### 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' and 'logrt' active checks.
|
||||||
|
# The provided value will be overridden by the parameter 'maxlines',
|
||||||
|
# provided in 'log' or 'logrt' item keys.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 1-1000
|
||||||
|
# Default:
|
||||||
|
# MaxLinesPerSecond=100
|
||||||
|
|
||||||
|
############ ADVANCED PARAMETERS #################
|
||||||
|
|
||||||
|
### Option: Alias
|
||||||
|
# Sets an alias for parameter. It can be useful to substitute long and complex parameter name with a smaller and simpler one.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range:
|
||||||
|
# Default:
|
||||||
|
|
||||||
|
### Option: Timeout
|
||||||
|
# Spend no more than Timeout seconds on processing
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 1-30
|
||||||
|
# Default:
|
||||||
|
# Timeout=3
|
||||||
|
|
||||||
|
### Option: AllowRoot
|
||||||
|
# Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
|
||||||
|
# will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
|
||||||
|
# 0 - do not allow
|
||||||
|
# 1 - allow
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# AllowRoot=0
|
||||||
|
|
||||||
|
### Option: Include
|
||||||
|
# You may include individual files or all files in a directory in the configuration file.
|
||||||
|
# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# Include=
|
||||||
|
|
||||||
|
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
|
||||||
|
# Include=/usr/local/etc/zabbix_agentd.conf.d/
|
||||||
|
|
||||||
|
####### 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>
|
||||||
|
# See 'zabbix_agentd' directory for examples.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# UserParameter=
|
||||||
|
|
||||||
|
####### LOADABLE MODULES #######
|
||||||
|
|
||||||
|
### Option: LoadModulePath
|
||||||
|
# Full path to location of agent modules.
|
||||||
|
# Default depends on compilation options.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LoadModulePath=${libdir}/modules
|
||||||
|
|
||||||
|
### Option: LoadModule
|
||||||
|
# Module to load at agent startup. Modules are used to extend functionality of the agent.
|
||||||
|
# Format: LoadModule=<module.so>
|
||||||
|
# The modules must be located in directory specified by LoadModulePath.
|
||||||
|
# It is allowed to include multiple LoadModule parameters.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LoadModule=
|
|
@ -0,0 +1,396 @@
|
||||||
|
# This is a configuration file for Zabbix agent daemon (Unix)
|
||||||
|
# To get more information about Zabbix, visit http://www.zabbix.com
|
||||||
|
|
||||||
|
############ GENERAL PARAMETERS #################
|
||||||
|
|
||||||
|
### Option: PidFile
|
||||||
|
# Name of PID file.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# PidFile=/tmp/zabbix_agentd.pid
|
||||||
|
PidFile={{ zabbix_run_dir.rstrip('/') }}/zabbix_agentd.pid
|
||||||
|
|
||||||
|
### Option: LogType
|
||||||
|
# Specifies where log messages are written to:
|
||||||
|
# system - syslog
|
||||||
|
# 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=/var/log/zabbix/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
|
||||||
|
LogFileSize=0
|
||||||
|
|
||||||
|
### 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: 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={{ zabbix_server }}
|
||||||
|
|
||||||
|
### 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 IP:port (or hostname:port) 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={{ zabbix_server }}
|
||||||
|
|
||||||
|
### 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=
|
||||||
|
{% if zabbix_hostname is defined %}
|
||||||
|
|
||||||
|
Hostname={{ zabbix_hostname }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
### 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=
|
||||||
|
{% if zabbix_metadata_item is defined %}
|
||||||
|
|
||||||
|
HostMetadataItem={{ zabbix_metadata_item }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
### 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' and 'logrt' active checks.
|
||||||
|
# The provided value will be overridden by the parameter 'maxlines',
|
||||||
|
# provided in 'log' or 'logrt' item keys.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 1-1000
|
||||||
|
# Default:
|
||||||
|
# MaxLinesPerSecond=20
|
||||||
|
|
||||||
|
############ 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 the ID of user 'zabbix':
|
||||||
|
# Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
|
||||||
|
# Now shorthand key zabbix.userid may be used to retrieve data.
|
||||||
|
# Aliases can be used in HostMetadataItem but not in HostnameItem parameters.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range:
|
||||||
|
# Default:
|
||||||
|
|
||||||
|
### Option: Timeout
|
||||||
|
# Spend no more than Timeout seconds on processing
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Range: 1-30
|
||||||
|
# Default:
|
||||||
|
# Timeout=3
|
||||||
|
|
||||||
|
### Option: AllowRoot
|
||||||
|
# Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
|
||||||
|
# will try to switch to the user specified by the User configuration option instead.
|
||||||
|
# Has no effect if started under a regular user.
|
||||||
|
# 0 - do not allow
|
||||||
|
# 1 - allow
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# AllowRoot=0
|
||||||
|
|
||||||
|
### Option: User
|
||||||
|
# Drop privileges to a specific, existing user on the system.
|
||||||
|
# Only has effect if run as 'root' and AllowRoot is disabled.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# User=zabbix
|
||||||
|
|
||||||
|
### Option: Include
|
||||||
|
# You may include individual files or all files in a directory in the configuration file.
|
||||||
|
# Installing Zabbix will create include directory in /etc, unless modified during the compile time.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# Include=
|
||||||
|
|
||||||
|
# Include=/etc/zabbix_agentd.userparams.conf
|
||||||
|
Include=/etc/zabbix_agentd.conf.d/
|
||||||
|
# Include=/etc/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>
|
||||||
|
# See 'zabbix_agentd' directory for examples.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# UserParameter=
|
||||||
|
|
||||||
|
####### LOADABLE MODULES #######
|
||||||
|
|
||||||
|
### Option: LoadModulePath
|
||||||
|
# Full path to location of agent modules.
|
||||||
|
# Default depends on compilation options.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LoadModulePath=${libdir}/modules
|
||||||
|
|
||||||
|
### Option: LoadModule
|
||||||
|
# Module to load at agent startup. Modules are used to extend functionality of the agent.
|
||||||
|
# Format: LoadModule=<module.so>
|
||||||
|
# The modules must be located in directory specified by LoadModulePath.
|
||||||
|
# It is allowed to include multiple LoadModule parameters.
|
||||||
|
#
|
||||||
|
# Mandatory: no
|
||||||
|
# Default:
|
||||||
|
# LoadModule=
|
||||||
|
|
||||||
|
####### 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=
|
|
@ -0,0 +1,8 @@
|
||||||
|
zbx_agent_required_packages:
|
||||||
|
- zabbix
|
||||||
|
zbx_agent_config_tmpl: zabbix_agentd2.conf.j2
|
||||||
|
zbx_agent_config: /etc/zabbix/zabbix_agentd.conf
|
||||||
|
zbx_agent_config_dir: /etc/zabbix/zabbix_agent.conf.d
|
||||||
|
zbx_agent_svc: zabbix-agentd
|
||||||
|
|
||||||
|
zabbix_metadata_item: vfs.file.contents[/etc/gentoo-release]
|
|
@ -0,0 +1,8 @@
|
||||||
|
zbx_agent_required_packages:
|
||||||
|
- zabbix-agent
|
||||||
|
zbx_agent_config_tmpl: zabbix_agentd3.conf.j2
|
||||||
|
zbx_agent_config: /etc/zabbix_agentd.conf
|
||||||
|
zbx_agent_config_dir: /etc/zabbix_agent.conf.d
|
||||||
|
zbx_agent_svc: zabbix-agent
|
||||||
|
|
||||||
|
zabbix_metadata_item: vfs.file.contents[/etc/system-release]
|
Loading…
Reference in New Issue