first commit

This commit is contained in:
meaz 2023-02-05 11:48:17 +01:00
commit 7df6c0273b
Signed by: meaz
GPG key ID: CD7A47B2F1ED43B4
20 changed files with 2264 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.vagrant

19
LICENSE Normal file
View file

@ -0,0 +1,19 @@
MIT License Copyright (c) 2021 "Stichting Disroot.org"
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

11
Playbooks/zabbix.yml Normal file
View file

@ -0,0 +1,11 @@
---
- hosts: zabbix
roles:
- mariadb
# - nginx
#- php-fpm
- zabbix
vars_files:
- ../defaults/main.yml

22
README.MD Normal file
View file

@ -0,0 +1,22 @@
# Zabbix - Ansible Role
This role deploys, configures and updates Zabbix. You can deploy test instance using `Vagrantfile` attached to the role.
`vagrant up`
`ansible-playbook -b Playbooks/zabbix.yml`
Then you can access Zabbix from your computer on http://192.168.33.27
The default login credentials for Zabbix are:
Username: Admin
Password: zabbix
## TODO
- obviously better Readme file
- Find better way that zabbix_installed: 'false' and zabbix_proxy_installed: 'false'
## CHANGELOG
- **15.01.2021** - Make it ready for public release
- Create readme file
- Create Playbook
- Create Vagrantfile

20
Vagrantfile vendored Normal file
View file

@ -0,0 +1,20 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
#config.ssh.insert_key = false
config.vm.define "zabbix" do |zabbix|
zabbix.vm.box = "generic/debian10"
zabbix.vm.provider :libvirt do |libvirt|
libvirt.memory = 256
end
zabbix.vm.network "forwarded_port", guest: 80, host: 8888, host_ip: "192.168.33.27"
zabbix.vm.network "forwarded_port", guest: 443, host: 4443, host_ip: "192.168.33.27"
zabbix.vm.network "private_network", ip: "192.168.33.27"
end
end

155
defaults/main.yml Normal file
View file

@ -0,0 +1,155 @@
---
#zabbix_installed: 'false'
zabbix_proxy_installed: 'true'
#main
zabbix_version: '5.0'
zabbix_agent: 'true'
zabbix_server: 'true'
zabbix_proxy: 'false'
#Zabbix Server
zabbix_server_hostname: 'localhost'
zabbix_server_name: 'Monitoring Monitoring'
zabbix_server_listen_port: '10051'
zabbix_server_log_path: '/var/log/zabbix/zabbix_server.log'
zabbix_server_log_size: '1' #in MB
zabbix_debug_level: '3'
# 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)
zabbix_server_db_host: 'localhost'
zabbix_server_db_plugin: 'mysql'
zabbix_server_db_port: '0'
zabbix_server_db_name: 'zabbix'
zabbix_server_db_user: 'zabbixadmin'
zabbix_server_db_passwd: 'changeme'
zabbix_server_pollers: '5' # Number of pre-forked instances of pollers.
zabbix_server_ipmi_pollers: '0'
zabbix_server_timeout: '4'
zabbix_server_alert_scripts: '/usr/lib/zabbix/alertscripts/usr/lib/zabbix/alertscripts'
zabbix_server_external_scripts: '/usr/lib/zabbix/externalscripts'
zabbix_server_fping: '/usr/bin/fping'
zabbix_server_fping6: '/usr/bin/fping6'
zabbix_server_queries_slow: '3000'
zabbix_cachesize: '8M'
#Zabbix Client
zabbix_agent_params:
- name: "container"
zabbix_agent_pid: '/var/run/zabbix/zabbix_agentd.pid'
zabbix_agent_logfile: '/var/log/zabbix/zabbix_agentd.log'
zabbix_agent_log_size: '1'
zabbix_agent_debug_level: '3'
zabbix_agent_server_address: "{{ zabbix_server_hostname }}"
zabbix_agent_listen_port: '10050'
zabbix_agent_pkg:
- zabbix-agent
- gzip
- zabbix-get
- zabbix-sender
zabbix_client_pkg:
- zabbix-agent
- gzip
#Zabbix Scripts
zabbix_scripts_deploy: 'false'
zabbix_scripts_repo: 'https://git.disroot.org/Disroot/zabbix-scripts.git'
zabbix_scripts_dir: '/usr/local/bin/zabbix-scripts'
zabbix_scripts_version: 'master'
#Zabbix Proxy
zabbix_proxy_pkg:
- zabbix-proxy-mysql
- gzip
zabbix_apache:
- apache2
- libapache2-mod-php5
zabbix_proxy_mode: '0'
zabbix_proxy_master_server: 'monitoring.example.com'
zabbix_proxy_hostname: 'proxy.example.lan'
zabbix_proxy_listen_port: '10051'
zabbix_proxy_file_size: '1'
zabbix_proxy_debug_level: '3'
zabbix_proxy_db_host: 'localhost'
zabbix_proxy_db_name: 'zabbix_proxy'
zabbix_proxy_db_user: 'zabbixproxyadmin'
zabbix_proxy_db_passwd: 'dupa123'
zabbix_proxy_local_buffer: '0'
zabbix_proxy_offline_buffer: '1'
zabbix_proxy_heartbeat_freq: '60'
zabbix_proxy_config_freq: '3600'
zabbix_proxy_data_sernder_freq: '1'
zabbix_proxy_start_pollers: '5'
zabbix_proxy_ipmi_pollers: '0'
#PHP Vars
php_version: '8.0'
php_etc_path: '/etc/php'
install_php: 'true'
pool_listen: '/var/run/php/php{{ php_version }}-fpm.sock'
php_pkgs:
- php{{ php_version }}-fpm
- php{{ php_version }}-bz2
- php{{ php_version }}-cgi
- php{{ php_version }}-cli
- php{{ php_version }}-common
- php{{ php_version }}-curl
- php{{ php_version }}-dev
- php{{ php_version }}-enchant
- php{{ php_version }}-gd
- php{{ php_version }}-gmp
- php{{ php_version }}-igbinary
- php{{ php_version }}-interbase
- php{{ php_version }}-intl
- php{{ php_version }}-mbstring # frontend
- php{{ php_version }}-msgpack
- php{{ php_version }}-pspell
- php{{ php_version }}-readline
- php{{ php_version }}-zip
- php{{ php_version }}-gd # frontend
- php{{ php_version }}-bcmath # frontend
- php{{ php_version }}-xml # frontend
- php{{ php_version }}-ldap # frontend
#nginx
nginx_default_vhost: 'zabbix'
nginx_default_vhost_ssl: 'zabbix'
#nginx_www_dir: '/var/www/'
nginx_vhosts:
- name: 'zabbix'
template: 'zabbix'
proto: 'http'
listen: '80'
root: '/usr/share/zabbix'
use_access_log: 'true'
use_error_log: 'true'
nginx_error_log_level: 'warn'
state: 'enable'
letsencrypt: 'false'
# MARIADB CONFIG
mariadb_databases:
- name: '{{ zabbix_server_db_name }}'
collation: 'utf8_general_ci' # should it be utf8_bin?
encoding: 'utf8'
- name: '{{ zabbix_proxy_db_name }}'
collation: 'utf8_general_ci'
encoding: 'utf8'
mariadb_users:
- name: '{{ zabbix_server_db_user }}'
host: '{{ zabbix_server_db_host }}'
password: '{{ zabbix_server_db_passwd }}'
priv: '{{ zabbix_server_db_name }}.*:ALL'
- name: '{{ zabbix_proxy_db_user }}'
host: '{{ zabbix_proxy_db_host }}'
password: '{{ zabbix_proxy_db_passwd }}'
priv: '{{ zabbix_proxy_db_name }}.*:ALL'

16
handlers/main.yml Normal file
View file

@ -0,0 +1,16 @@
---
- name: restart zabbix_server
systemd:
name: zabbix-server
state: restarted
- name: restart zabbix_agent
systemd:
name: zabbix-agent
state: restarted
- name: restart zabbix_proxy
systemd:
name: zabbix-proxy
state: restarted

12
tasks/apt.yml Normal file
View file

@ -0,0 +1,12 @@
---
- name: "[APT] - Install gpg key"
apt_key:
id: 79EA5ED4
url: http://repo.zabbix.com/zabbix-official-repo.key
- name: "[APT] - Add repository Debian"
apt_repository:
repo: "deb http://repo.zabbix.com/zabbix/{{ zabbix_version }}/debian/ {{ ansible_distribution_release }} main"
state: present
filename: zabbix

46
tasks/configure.yml Normal file
View file

@ -0,0 +1,46 @@
---
- name: '[Configure] - Configure Zabbix Server'
template:
src: 'templates/zabbix_server.conf.j2'
dest: '/etc/zabbix/zabbix_server.conf'
owner: 'root'
group: 'root'
mode: '0644'
when: zabbix_server == 'true'
notify: restart zabbix_server
- name: '[Configure] - Create Zabbix frontend Dir'
file:
path: '/etc/zabbix/web'
state: 'directory'
- name: '[Configure] - Configure Zabbix Proxy'
template:
src: 'templates/zabbix_proxy.conf.j2'
dest: '/etc/zabbix/zabbix_proxy.conf'
owner: 'root'
group: 'root'
mode: '0644'
when: zabbix_proxy == 'true'
notify: restart zabbix_proxy
- name: '[Configure] - Configure Zabbix frontend'
template:
src: 'templates/zabbix.conf.php.j2'
dest: '/etc/zabbix/web/zabbix.conf.php'
owner: 'www-data'
group: 'www-data'
mode: '0644'
when: zabbix_server == 'true'
notify: restart zabbix_server
- name: '[Configure] - Configure Zabbix Agent'
template:
src: 'templates/zabbix_agentd.conf.j2'
dest: '/etc/zabbix/zabbix_agentd.conf'
owner: 'root'
group: 'root'
mode: '0644'
when: zabbix_agent == 'true'
notify: restart zabbix_agent

43
tasks/install_agent.yml Normal file
View file

@ -0,0 +1,43 @@
---
- name: "[Agent] - Install Zabbix from repository"
apt:
name: "{{ zabbix_agent_pkg }}"
state: latest
update_cache: yes
install_recommends: no
cache_valid_time: 3600
notify:
- restart zabbix_agent
- name: "[Agent] - Make sure the service is enabled"
systemd:
name: zabbix-agent
enabled: yes
- name: "[Agent] - Deploy Zabbix custom userparameters"
template:
src: 'zabbix_agent.d/userparameter_container.conf.j2'
dest: '/etc/zabbix/zabbix_agentd.d/userparameter_container.conf'
notify:
- restart zabbix_agent
- name: "[Agent] - Deploy Zabbix scripts"
git:
repo: '{{ zabbix_scripts_repo }}'
dest: '{{ zabbix_scripts_dir }}'
force: 'yes'
version: '{{ zabbix_scripts_version }}'
when: zabbix_scripts_deploy == 'true'
- name: '[Agent] - Ensure config dir path exists'
file:
path: '/var/local/container-scripts'
state: 'directory'
mode: '0755'
- name: "[Agent] - Configure scripts"
template:
src: 'zabbix-scripts.cfg.j2'
dest: '/var/local/container-scripts/zabbix-scripts.cfg'
when: zabbix_scripts_deploy == 'true'

10
tasks/install_client.yml Normal file
View file

@ -0,0 +1,10 @@
---
- name: "[APT] - Install Zabbix from repository"
apt:
name: "{{ zabbix_client_pkg }}"
state: latest
update_cache: yes
install_recommends: no
notify:
- restart zabbix_agent

33
tasks/install_proxy.yml Normal file
View file

@ -0,0 +1,33 @@
---
- name: '[Proxy] - Install Zabbix Proxy from repository'
apt:
name: "{{ zabbix_proxy_pkg }}"
state: latest
update_cache: yes
install_recommends: no
cache_valid_time: 3600
notify:
- restart zabbix_proxy
- name: "[Agent] - Make sure the service is enabled"
systemd:
name: zabbix-proxy
enabled: yes
- name: '[Proxy] - Remove apache2'
apt:
name: "{{ zabbix_apache }}"
state: absent
- name: '[Proxy] - Importing Zabbix Proxy schema. Onetime only shot'
mysql_db:
login_host: "{{ zabbix_proxy_db_host }}"
login_password: "{{ zabbix_proxy_db_passwd }}"
login_user: '{{ zabbix_proxy_db_user }}'
name: "{{ zabbix_proxy_db_name }}"
state: import
target: /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz
when: zabbix_proxy_installed == 'false'
notify:
- restart zabbix_server

44
tasks/install_server.yml Normal file
View file

@ -0,0 +1,44 @@
---
- name: '[Server] - Install Zabbix from repository'
apt:
pkg:
- zabbix-server-mysql
- zabbix-frontend-php
- gzip
- python3-pymysql
state: latest
update_cache: yes
install_recommends: no
cache_valid_time: 3600
notify:
- restart zabbix_server
- name: "[Agent] - Make sure the service is enabled"
systemd:
name: zabbix-server
enabled: yes
- name: '[Server] - Remove apache2'
apt:
name: "{{ zabbix_apache }}"
state: absent
- name: "[Check] - Zabbix is already installed?"
shell:
cmd: "{{ zabbix_server_db_plugin }} -h {{ zabbix_server_db_host }} -u {{ zabbix_server_db_user }} -p{{ zabbix_server_db_passwd }} {{ zabbix_server_db_name }} -se 'SELECT instanceid from config;'"
register: zabbix_installed
ignore_errors: true
- name: '[Server] - Importing Zabbix database. Onetime only shot'
mysql_db:
login_host: "{{ zabbix_server_db_host }}"
login_password: "{{ zabbix_server_db_passwd }}"
login_user: '{{ zabbix_server_db_user }}'
name: "{{ zabbix_server_db_name }}"
state: import
target: /usr/share/doc/zabbix-server-mysql/create.sql.gz
when: "'ERROR 1146' in zabbix_installed.stderr"
# ERROR 1146 means the table doesn't exist
notify:
- restart zabbix_server

19
tasks/main.yml Normal file
View file

@ -0,0 +1,19 @@
---
- name: Manage apt apt_repository
include: apt.yml
- name: Install Zabbix Server
include: install_server.yml
when: zabbix_server == 'true'
- name: install Zabbix Agent
include: install_agent.yml
when: zabbix_agent == 'true'
- name: install Zabbix Proxy
include: install_proxy.yml
when: zabbix_proxy == 'true'
- name: Configure Zabbix
include: configure.yml

View file

@ -0,0 +1,6 @@
# {{ ansible_managed }}
# Zabbix scripts configuration file
{% for item in zabbix_scripts_config_items %}
{{ item.key }}="{{ item.value }}"
{% endfor %}

View file

@ -0,0 +1,19 @@
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '{{ zabbix_server_db_host }}';
$DB['PORT'] = '{{ zabbix_server_db_port }}';
$DB['DATABASE'] = '{{ zabbix_server_db_name }}';
$DB['USER'] = '{{ zabbix_server_db_user }}';
$DB['PASSWORD'] = '{{ zabbix_server_db_passwd }}';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '{{ zabbix_server_hostname }}';
$ZBX_SERVER_PORT = '{{ zabbix_server_listen_port }}';
$ZBX_SERVER_NAME = '{{ zabbix_server_name }}';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

View file

@ -0,0 +1,74 @@
#!/bin/bash
#This is custom user parameters for LXC containers.
{% for item in zabbix_agent_params %}
{% if item.name == 'container' %}
# Container default parameters
UserParameter=ct.ramtotal,free -b |grep Mem | awk '{print $2}'
UserParameter=ct.ramused,free -b |grep Mem | awk '{print $3}'
UserParameter=ct.ramfree,free -b |grep Mem |awk '{print $7}'
UserParameter=ct.ramfree_proc,free | grep Mem | awk '{print $7/$2 * 100.0}' | awk '{printf "%.0f\n", $1}'
UserParameter=ct.ramcache,free -b | grep Mem | awk '{print $7}'
UserParameter=ct.swaptotal,free -b |grep Swap |awk '{print $2}'
UserParameter=ct.swapused,free -b |grep Swap |awk '{print $3}'
UserParameter=ct.swapfree,free -b |grep Swap |awk '{print $4}'
UserParameter=ct.swapfree_proc,free -b |grep Swap | awk '{print ($2 - $3)/$2 * 100.0}' | awk '{printf "%.0f\n", $1}'
UserParameter=ct.uptime,cat /proc/uptime | awk '{print $1}'
UserParameter=ct.processes,ps -AL --no-headers | wc -l
UserParameter=ct.localtime,date +%s
UserParameter=ct.issue,cat /etc/issue
{% endif %}
{% if item.name == 'postfix' %}
# Postfix parameters
UserParameter=postfix.pfmailq,mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'
UserParameter=postfix[*],/usr/local/bin/zabbix_scripts/postfix-zabbix-stats.bash $1
{% endif %}
{% if item.name == 'ldap' %}
# LDAP parameters
UserParameter=ldap.user_count,cat /tmp/disroot_user_list
{% endif %}
{% if item.name == 'postgres' %}
{% include "files/userparameter_postgres.conf" ignore missing %}
{% endif %}
{% if item.name == 'nginx' %}
#NGINX userparameters
UserParameter=nginx[*],/usr/local/bin/zabbix_scripts/nginx-check.sh "$1" "$2"
{% endif %}
{% if item.name == 'nextcloud' %}
# Nextcloud
UserParameter=nextcloud[*],cat /tmp/cloudstats | grep "$1" | cut -d "<" -f 2 | cut -d ">" -f 2 | head -n 1
{% endif %}
{% if item.name == 'dovecot' %}
# Dovecot
UserParameter=dovecot.usercount,cat /tmp/dovecot_user_count
UserParameter=dovecot.devicecount,cat /tmp/dovecot_device_count
UserParameter=dovecot.processes,ps -A |grep imap |wc -l
{% endif %}
{% if item.name == 'lufi' %}
# Lufi
UserParameter=lufi[*],cat /tmp/lufi_stats | grep $1 | cut -d' ' -f2-
{% endif %}
{% if item.name == 'privatebin' %}
# PrivateBin
UserParameter=privatebin[*],cat /tmp/bin_stats | grep $1 | cut -d' ' -f2-
{% endif %}
{% if item.name == 'framadate' %}
# Framadate
UserParameter=framadate[*],cat /tmp/framadate_stats | grep $1 | cut -d' ' -f2-
{% endif %}
{% if item.name == 'etherpad' %}
# Etherpad
UserParameter=etherpad[*],cat /tmp/pad_stats | grep $1 | cut -d' ' -f2-
{% endif %}
{% if item.name == 'ethercalc' %}
# Ethercalc
UserParameter=ethercalc[*],cat /tmp/ethercalc_stats | grep $1 | cut -d' ' -f2-
{% endif %}
{% endfor %}

View file

@ -0,0 +1,394 @@
# 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_agent_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={{ zabbix_agent_logfile }}
### Option: LogFileSize
# Maximum size of log file in MB.
# 0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1
LogFileSize={{ zabbix_agent_log_size }}
### 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={{ zabbix_agent_debug_level }}
### 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_agent_server_address }}
### Option: ListenPort
# Agent will listen on this port for connections from the server.
#
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort={{ zabbix_agent_listen_port }}
### 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_agent_server_address }}
### 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={{ inventory_hostname }}
### 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' 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 /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
Include=/etc/zabbix/zabbix_agentd.d/*.conf
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/
# Include=/usr/local/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=

View file

@ -0,0 +1,677 @@
# This is a configuration file for Zabbix proxy daemon
# To get more information about Zabbix, visit http://www.zabbix.com
############ GENERAL PARAMETERS #################
### Option: ProxyMode
# Proxy operating mode.
# 0 - proxy in the active mode
# 1 - proxy in the passive mode
#
# Mandatory: no
# Default:
ProxyMode={{ zabbix_proxy_mode }}
### Option: Server
# IP address (or hostname) of Zabbix server.
# Active proxy will get configuration data from the server.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: yes (if ProxyMode is set to 0)
# Default:
# Server=
Server={{ zabbix_proxy_master_server }}
### Option: ServerPort
# Port of Zabbix trapper on Zabbix server.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# ServerPort=10051
### Option: Hostname
# Unique, case sensitive Proxy name. Make sure the Proxy name is known to the server!
# Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
Hostname={{ zabbix_proxy_hostname }}
### Option: HostnameItem
# Item used for generating Hostname if it is undefined.
# Ignored if Hostname is defined.
#
# Mandatory: no
# Default:
# HostnameItem=system.hostname
### Option: ListenPort
# Listen port for trapper.
#
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort={{ zabbix_proxy_listen_port }}
### Option: SourceIP
# Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=
### 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_proxy.log
### Option: LogFileSize
# Maximum size of log file in MB.
# 0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1
LogFileSize={{ zabbix_proxy_file_size }}
### 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={{ zabbix_proxy_debug_level }}
### Option: PidFile
# Name of PID file.
#
# Mandatory: no
# Default:
# PidFile=/tmp/zabbix_proxy.pid
PidFile=/var/run/zabbix/zabbix_proxy.pid
### Option: DBHost
# Database host name.
# If set to localhost, socket is used for MySQL.
# If set to empty string, socket is used for PostgreSQL.
#
# Mandatory: no
# Default:
DBHost={{ zabbix_proxy_db_host }}
### Option: DBName
# Database name.
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
# Warning: do not attempt to use the same database Zabbix server is using.
#
# Mandatory: yes
# Default:
DBName={{ zabbix_proxy_db_name }}
### Option: DBSchema
# Schema name. Used for IBM DB2 and PostgreSQL.
#
# Mandatory: no
# Default:
# DBSchema=
### Option: DBUser
# Database user. Ignored for SQLite.
#
# Default:
DBUser={{ zabbix_proxy_db_user }}
### Option: DBPassword
# Database password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword={{ zabbix_proxy_db_passwd }}
### Option: DBSocket
# Path to MySQL socket.
#
# Mandatory: no
# Default:
# DBSocket=/tmp/mysql.sock
# Option: DBPort
# Database port when not using local socket. Ignored for SQLite.
#
# Mandatory: no
# Default (for MySQL):
# DBPort=3306
######### PROXY SPECIFIC PARAMETERS #############
### Option: ProxyLocalBuffer
# Proxy will keep data locally for N hours, even if the data have already been synced with the server.
# This parameter may be used if local data will be used by third party applications.
#
# Mandatory: no
# Range: 0-720
# Default:
ProxyLocalBuffer={{ zabbix_proxy_local_buffer }}
### Option: ProxyOfflineBuffer
# Proxy will keep data for N hours in case if no connectivity with Zabbix Server.
# Older data will be lost.
#
# Mandatory: no
# Range: 1-720
# Default:
ProxyOfflineBuffer={{ zabbix_proxy_offline_buffer }}
### Option: HeartbeatFrequency
# Frequency of heartbeat messages in seconds.
# Used for monitoring availability of Proxy on server side.
# 0 - heartbeat messages disabled.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 0-3600
# Default:
HeartbeatFrequency={{ zabbix_proxy_heartbeat_freq }}
### Option: ConfigFrequency
# How often proxy retrieves configuration data from Zabbix Server in seconds.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1-3600*24*7
# Default:
ConfigFrequency={{ zabbix_proxy_config_freq }}
### Option: DataSenderFrequency
# Proxy will send collected data to the Server every N seconds.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1-3600
# Default:
DataSenderFrequency={{ zabbix_proxy_data_sernder_freq }}
############ ADVANCED PARAMETERS ################
### Option: StartPollers
# Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
StartPollers={{ zabbix_proxy_start_pollers }}
### Option: StartIPMIPollers
# Number of pre-forked instances of IPMI pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
StartIPMIPollers={{ zabbix_proxy_ipmi_pollers }}
### Option: StartPollersUnreachable
# Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java).
# At least one poller for unreachable hosts must be running if regular, IPMI or Java pollers
# are started.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollersUnreachable=1
### Option: StartTrappers
# Number of pre-forked instances of trappers.
# Trappers accept incoming connections from Zabbix sender and active agents.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartTrappers=5
### Option: StartPingers
# Number of pre-forked instances of ICMP pingers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPingers=1
### Option: StartDiscoverers
# Number of pre-forked instances of discoverers.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartDiscoverers=1
### Option: StartHTTPPollers
# Number of pre-forked instances of HTTP pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartHTTPPollers=1
### Option: JavaGateway
# IP address (or hostname) of Zabbix Java gateway.
# Only required if Java pollers are started.
#
# Mandatory: no
# Default:
# JavaGateway=
### Option: JavaGatewayPort
# Port that Zabbix Java gateway listens on.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# JavaGatewayPort=10052
### Option: StartJavaPollers
# Number of pre-forked instances of Java pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartJavaPollers=0
### Option: StartVMwareCollectors
# Number of pre-forked vmware collector instances.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartVMwareCollectors=0
### Option: VMwareFrequency
# How often Zabbix will connect to VMware service to obtain a new data.
#
# Mandatory: no
# Range: 10-86400
# Default:
# VMwareFrequency=60
### Option: VMwarePerfFrequency
# How often Zabbix will connect to VMware service to obtain performance data.
#
# Mandatory: no
# Range: 10-86400
# Default:
# VMwarePerfFrequency=60
### Option: VMwareCacheSize
# Size of VMware cache, in bytes.
# Shared memory size for storing VMware data.
# Only used if VMware collectors are started.
#
# Mandatory: no
# Range: 256K-2G
# Default:
# VMwareCacheSize=8M
### Option: VMwareTimeout
# Specifies how many seconds vmware collector waits for response from VMware service.
#
# Mandatory: no
# Range: 1-300
# Default:
# VMwareTimeout=10
### Option: SNMPTrapperFile
# Temporary file used for passing data from SNMP trap daemon to the proxy.
# Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.
#
# Mandatory: no
# Default:
# SNMPTrapperFile=/tmp/zabbix_traps.tmp
### Option: StartSNMPTrapper
# If 1, SNMP trapper process is started.
#
# Mandatory: no
# Range: 0-1
# Default:
# StartSNMPTrapper=0
### Option: ListenIP
# List of comma delimited IP addresses that the trapper should listen on.
# Trapper will listen on all network interfaces if this parameter is missing.
#
# Mandatory: no
# Default:
# ListenIP=0.0.0.0
### Option: HousekeepingFrequency
# How often Zabbix will perform housekeeping procedure (in hours).
# Housekeeping is removing outdated information from the database.
# To prevent Housekeeper from being overloaded, no more than 4 times HousekeepingFrequency
# hours of outdated information are deleted in one housekeeping cycle.
# To lower load on proxy startup housekeeping is postponed for 30 minutes after proxy start.
# With HousekeepingFrequency=0 the housekeeper can be only executed using the runtime control option.
# In this case the period of outdated information deleted in one housekeeping cycle is 4 times the
# period since the last housekeeping cycle, but not less than 4 hours and not greater than 4 days.
#
# Mandatory: no
# Range: 0-24
# Default:
# HousekeepingFrequency=1
### Option: CacheSize
# Size of configuration cache, in bytes.
# Shared memory size, for storing hosts and items data.
#
# Mandatory: no
# Range: 128K-8G
# Default:
# CacheSize=8M
### Option: StartDBSyncers
# Number of pre-forked instances of DB Syncers.
#
# Mandatory: no
# Range: 1-100
# Default:
# StartDBSyncers=4
### Option: HistoryCacheSize
# Size of history cache, in bytes.
# Shared memory size for storing history data.
#
# Mandatory: no
# Range: 128K-2G
# Default:
# HistoryCacheSize=16M
### Option: HistoryIndexCacheSize
# Size of history index cache, in bytes.
# Shared memory size for indexing history cache.
#
# Mandatory: no
# Range: 128K-2G
# Default:
# HistoryIndexCacheSize=4M
### Option: Timeout
# Specifies how long we wait for agent, SNMP device or external check (in seconds).
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=4
### Option: TrapperTimeout
# Specifies how many seconds trapper may spend processing new data.
#
# Mandatory: no
# Range: 1-300
# Default:
# TrapperTimeout=300
### Option: UnreachablePeriod
# After how many seconds of unreachability treat a host as unavailable.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnreachablePeriod=45
### Option: UnavailableDelay
# How often host is checked for availability during the unavailability period, in seconds.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnavailableDelay=60
### Option: UnreachableDelay
# How often host is checked for availability during the unreachability period, in seconds.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnreachableDelay=15
### Option: ExternalScripts
# Full path to location of external scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# ExternalScripts=${datadir}/zabbix/externalscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
### Option: FpingLocation
# Location of fping.
# Make sure that fping binary has root ownership and SUID flag set.
#
# Mandatory: no
# Default:
# FpingLocation=/usr/sbin/fping
FpingLocation=/usr/bin/fping
### Option: Fping6Location
# Location of fping6.
# Make sure that fping6 binary has root ownership and SUID flag set.
# Make empty if your fping utility is capable to process IPv6 addresses.
#
# Mandatory: no
# Default:
# Fping6Location=/usr/sbin/fping6
Fping6Location=/usr/bin/fping6
### Option: SSHKeyLocation
# Location of public and private keys for SSH checks and actions.
#
# Mandatory: no
# Default:
# SSHKeyLocation=
### Option: LogSlowQueries
# How long a database query may take before being logged (in milliseconds).
# Only works if DebugLevel set to 3 or 4.
# 0 - don't log slow queries.
#
# Mandatory: no
# Range: 1-3600000
# Default:
# LogSlowQueries=0
LogSlowQueries=3000
### Option: TmpDir
# Temporary directory.
#
# Mandatory: no
# Default:
# TmpDir=/tmp
### Option: AllowRoot
# Allow the proxy to run as 'root'. If disabled and the proxy is started by 'root', the proxy
# 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 /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
# Include=/usr/local/etc/zabbix_proxy.general.conf
# Include=/usr/local/etc/zabbix_proxy.conf.d/
# Include=/usr/local/etc/zabbix_proxy.conf.d/*.conf
### Option: SSLCertLocation
# Location of SSL client certificates.
# This parameter is used only in web monitoring.
#
# Mandatory: no
# Default:
# SSLCertLocation=${datadir}/zabbix/ssl/certs
### Option: SSLKeyLocation
# Location of private keys for SSL client certificates.
# This parameter is used only in web monitoring.
#
# Mandatory: no
# Default:
# SSLKeyLocation=${datadir}/zabbix/ssl/keys
### Option: SSLCALocation
# Location of certificate authority (CA) files for SSL server certificate verification.
# If not set, system-wide directory will be used.
# This parameter is used only in web monitoring.
#
# Mandatory: no
# Default:
# SSLCALocation=
####### LOADABLE MODULES #######
### Option: LoadModulePath
# Full path to location of proxy modules.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# LoadModulePath=${libdir}/modules
### Option: LoadModule
# Module to load at proxy startup. Modules are used to extend functionality of the proxy.
# 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 proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy.
# 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 from Zabbix server. Used for a passive proxy, ignored on an active proxy.
# 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 proxy certificate or certificate chain.
#
# Mandatory: no
# Default:
# TLSCertFile=
### Option: TLSKeyFile
# Full pathname of a file containing the proxy 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=

View file

@ -0,0 +1,643 @@
# This is a configuration file for Zabbix server daemon
# To get more information about Zabbix, visit http://www.zabbix.com
############ GENERAL PARAMETERS #################
### Option: ListenPort
# Listen port for trapper.
#
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort={{ zabbix_server_listen_port }}
### Option: SourceIP
# Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=
### 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={{ zabbix_server_log_path }}
### Option: LogFileSize
# Maximum size of log file in MB.
# 0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1
LogFileSize={{ zabbix_server_log_size }}
### 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={{ zabbix_debug_level }}
### Option: PidFile
# Name of PID file.
#
# Mandatory: no
# Default:
# PidFile=/tmp/zabbix_server.pid
PidFile=/var/run/zabbix/zabbix_server.pid
### Option: DBHost
# Database host name.
# If set to localhost, socket is used for MySQL.
# If set to empty string, socket is used for PostgreSQL.
#
# Mandatory: no
# Default:
DBHost={{ zabbix_server_db_host }}
### Option: DBName
# Database name.