Define some vars to manage master and slaves conf
This commit is contained in:
parent
2cbad0b42b
commit
9a35df05b4
|
@ -8,3 +8,4 @@
|
|||
* Ensure Netdata service is enabled and started.
|
||||
* Manage IP address and port used.
|
||||
* Manage memory mode.
|
||||
* Define some vars to manage master and slaves configuration.
|
||||
|
|
|
@ -23,6 +23,15 @@ A role to manage Netdata installation and configuration.
|
|||
* **netdata__conf_bind_ip** : IP address used by Netdata to listen [default : `127.0.0.1`].
|
||||
* **netdata__conf_bind_port** : Port used by Netdata to listen [default : `19999`].
|
||||
* **netdata__conf_memory_mode** : The memory mode of the database [default : `ram`].
|
||||
* **netdata__slave_enable** : If node should send metrics to a master [default : `False`].
|
||||
* **netdata__slave_destination** : The destination to send metrics to [default : `netdata.{{ ansible_domain }}`].
|
||||
* **netdata__slave_api_key** : The API KEY to use to identify with the master [default : `''`].
|
||||
* **netdata__slave_buffer_size** : The buffer to use for sending metrics [default : ``].
|
||||
* **netdata__slave_reconnect** : If the connection fails, or it disconnects, retry after that many seconds [default : `5`].
|
||||
* **netdata__master_enable** : If node should receive metrics from other nodes [default : `False`].
|
||||
* **netdata__master_api_key** : The API key to authenticate slaves [default : `''`].
|
||||
* **netdata__master_history** : The number of entries in the database per hosts [default : `3600`].
|
||||
* **netdata__master_memory_mode** : The memory mode to be used for all hosts using this API key [default : `ram`].
|
||||
|
||||
## Example Playbook
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ netdata__service_manage: True
|
|||
|
||||
# ]]]
|
||||
# ]]]
|
||||
# Configuration [[[
|
||||
# Common configuration [[[
|
||||
# -----------------------------
|
||||
|
||||
# .. envvar:: netdata__etc_src [[[.
|
||||
|
@ -95,4 +95,93 @@ netdata__conf_memory_mode: 'ram'
|
|||
|
||||
# ]]]
|
||||
|
||||
# ]]]
|
||||
# Slave configuration [[[
|
||||
# -----------------------------
|
||||
|
||||
# .. envvar:: netdata__slave_enable [[[.
|
||||
#
|
||||
# If node should send metrics to a master. Possible options :
|
||||
#
|
||||
#
|
||||
# ``False``
|
||||
# Default.
|
||||
#
|
||||
# ``True``
|
||||
#
|
||||
netdata__slave_enable: False
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__slave_destination [[[.
|
||||
#
|
||||
# The destination to send metrics to.
|
||||
# https://github.com/firehol/netdata/wiki/Replication-Overview#options-for-the-sending-node
|
||||
#
|
||||
netdata__slave_destination: 'netdata.{{ ansible_domain }}'
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__slave_api_key [[[.
|
||||
#
|
||||
# The API KEY to use (as the sender).
|
||||
# https://github.com/firehol/netdata/wiki/Replication-Overview#streaming-configuration
|
||||
#
|
||||
netdata__slave_api_key: ''
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__slave_buffer_size [[[.
|
||||
#
|
||||
# The buffer to use for sending metrics.
|
||||
# 1MB by default is good for 2-3 seconds of data.
|
||||
#
|
||||
netdata__slave_buffer_size: '1048576'
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__slave_reconnect [[[.
|
||||
#
|
||||
# If the connection fails, or it disconnects, retry after that many seconds.
|
||||
#
|
||||
netdata__slave_reconnect: '5'
|
||||
|
||||
# ]]]
|
||||
|
||||
# ]]]
|
||||
# Master configuration [[[
|
||||
# -----------------------------
|
||||
|
||||
# .. envvar:: netdata__master_enable [[[.
|
||||
#
|
||||
# If node should receive metrics from other nodes. Possible options :
|
||||
#
|
||||
#
|
||||
# ``False``
|
||||
# Default.
|
||||
#
|
||||
# ``True``
|
||||
#
|
||||
netdata__master_enable: False
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__master_api_key [[[.
|
||||
#
|
||||
# The API key to authenticate slaves.
|
||||
#
|
||||
netdata__master_api_key: ''
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__master_history [[[.
|
||||
#
|
||||
# The number of entries in the database per hosts.
|
||||
#
|
||||
netdata__master_history: '3600'
|
||||
|
||||
# ]]]
|
||||
# .. envvar:: netdata__master_memory_mode [[[.
|
||||
#
|
||||
# The memory mode to be used for all hosts using this API key.
|
||||
# https://github.com/firehol/netdata/wiki/Memory-Requirements#memory-modes
|
||||
#
|
||||
netdata__master_memory_mode: 'ram'
|
||||
|
||||
# ]]]
|
||||
|
||||
# ]]]
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
## {{ ansible_managed }}
|
||||
|
||||
# netdata configuration for aggregating data from remote hosts
|
||||
#
|
||||
# API keys authorize a pair of sending-receiving netdata servers.
|
||||
# Once their communication is authorized, they can exchange metrics for any
|
||||
# number of hosts.
|
||||
#
|
||||
# You can generate API keys, with the linux command: uuidgen
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
# 1. ON SLAVE NETDATA - THE ONE THAT WILL BE SENDING METRICS
|
||||
|
||||
[stream]
|
||||
# Enable this on slaves, to have them send metrics.
|
||||
{% if netdata__slave_enable -%}
|
||||
enabled = yes
|
||||
{% else %}
|
||||
enabled = no
|
||||
{%- endif %}
|
||||
|
||||
# The destination to send metrics to.
|
||||
# A space separated list of:
|
||||
# [PROTOCOL:]HOST[%INTERFACE][:PORT]
|
||||
# The first available will get the metrics.
|
||||
# PROTOCOL = tcp or udp (only tcp is supported by masters)
|
||||
# HOST = an IPv4, IPv6 IP, or a hostname.
|
||||
# IPv6 IPs should be given with brackets [ip:address]
|
||||
# INTERFACE = the network interface to use
|
||||
# PORT = the port number or service name (/etc/services)
|
||||
# This communication is not HTTP (cannot be proxied by web proxies).
|
||||
destination = {{ netdata__slave_destination }}
|
||||
|
||||
# The API_KEY to use (as the sender)
|
||||
api key = {{ netdata__slave_api_key }}
|
||||
|
||||
# The timeout to connect and send metrics
|
||||
timeout seconds = 60
|
||||
|
||||
# If the destination line above does specify a port, use this
|
||||
default port = 19999
|
||||
|
||||
# The buffer to use for sending metrics.
|
||||
# 1MB by default is good for 2-3 seconds of data, so increase this
|
||||
# if you expect latencies.
|
||||
buffer size bytes = {{ netdata__slave_buffer_size }}
|
||||
|
||||
# If the connection fails, or it disconnects,
|
||||
# retry after that many seconds.
|
||||
reconnect delay seconds = {{ netdata__slave_reconnect }}
|
||||
|
||||
# Attempt to sync the clock the of the master with the clock of the
|
||||
# slave for that many iterations, when starting.
|
||||
initial clock resync iterations = 60
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 2. ON MASTER NETDATA - THE ONE THAT WILL BE RECEIVING METRICS
|
||||
#
|
||||
# You can have one API key per slave, or the same API key for all slaves.
|
||||
#
|
||||
# All options below are used in this order:
|
||||
#
|
||||
# a) MACHINE_GUID (settings for each machine)
|
||||
# b) API_KEY (settings for the API key)
|
||||
# c) this netdata defaults (as in netdata.conf)
|
||||
#
|
||||
# You can combine the above (the more specific setting will be used).
|
||||
|
||||
# API key authentication
|
||||
# If the key is not listed here, it will not be able to connect.
|
||||
|
||||
[{{ netdata__master_api_key }}]
|
||||
# Default settings for the API key
|
||||
|
||||
# You can disable the API key, by setting this to: no
|
||||
# The default (for unknown API keys) is also: no
|
||||
{% if netdata__master_enable -%}
|
||||
enabled = yes
|
||||
{% else %}
|
||||
enabled = no
|
||||
{%- endif %}
|
||||
|
||||
# The default history in entries, for all hosts using this API key.
|
||||
# You can also set it per host below.
|
||||
# If you don't set it here, the history size of the central netdata
|
||||
# will be used
|
||||
default history = {{ netdata__master_history }}
|
||||
|
||||
# The default memory mode to be used for all hosts using this API key.
|
||||
# You can also set it per host below.
|
||||
# If you don't set it here, the memory mode of netdata.conf will be used.
|
||||
# Valid modes:
|
||||
# save save on exit, load on start
|
||||
# map like swap (continuously syncing to disks)
|
||||
# ram keep it in RAM, don't touch the disk
|
||||
# none no database (passing through this netdata)
|
||||
default memory mode = {{ netdata__master_memory_mode }}
|
||||
|
||||
# Shall we enable health monitoring for the hosts using this API key?
|
||||
# 3 values:
|
||||
# yes enable alarms
|
||||
# no do not enable alarms
|
||||
# auto enable alarms, only when the sending netdata is connected
|
||||
# You can also set it per host, below.
|
||||
# The default is the same as to netdata.conf
|
||||
health enabled by default = auto
|
||||
|
||||
# postpone alarms for a short period after the sender is connected
|
||||
default postpone alarms on connect seconds = 60
|
||||
|
||||
# need to route metrics differently? set these.
|
||||
# the defaults are the ones at the [stream] section
|
||||
#default proxy enabled = yes | no
|
||||
#default proxy destination = IP:PORT IP:PORT ...
|
||||
#default proxy api key = API_KEY
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 3. ON MASTER NETDATA - THE ONE THAT WILL BE RECEIVING METRICS
|
||||
#
|
||||
# THIS IS OPTIONAL - YOU DON'T NEED IT BY DEFAULT
|
||||
# It only exists to give you finer control of the master settings for each
|
||||
# slave host, when the same API key is used by many netdata slaves / proxies.
|
||||
#
|
||||
# Each netdata has a unique GUID - generated the first time netdata starts.
|
||||
# You can find it at /var/lib/netdata/registry/netdata.public.unique.id
|
||||
# The host sending data will have one. If the host is not ephemeral,
|
||||
# you can give settings for each specific host here.
|
||||
|
||||
[MACHINE_GUID]
|
||||
# enable this host: yes | no
|
||||
# When disabled, the master will not receive metrics for this host.
|
||||
# THIS IS NOT A SECURITY MECHANISM - AN ATTACKER CAN SET ANY OTHER GUID.
|
||||
# Use only the API key for security.
|
||||
enabled = no
|
||||
|
||||
# The number of entries in the database
|
||||
history = 3600
|
||||
|
||||
# The memory mode of the database: save | map | ram | none
|
||||
memory mode = save
|
||||
|
||||
# Health / alarms control: yes | no | auto
|
||||
health enabled = yes
|
||||
|
||||
# postpone alarms when the sender connects
|
||||
postpone alarms on connect seconds = 60
|
||||
|
||||
# need to route metrics differently?
|
||||
#proxy enabled = yes | no
|
||||
#proxy destination = IP:PORT IP:PORT ...
|
||||
#proxy api key = API_KEY
|
Loading…
Reference in New Issue