| 1 | # netdata configuration for aggregating data from remote hosts |
| 2 | # |
| 3 | # API keys authorize a pair of sending-receiving netdata servers. |
| 4 | # Once their communication is authorized, they can exchange metrics for any |
| 5 | # number of hosts. |
| 6 | # |
| 7 | # You can generate API keys, with the linux command: uuidgen |
| 8 | |
| 9 | |
| 10 | # ----------------------------------------------------------------------------- |
| 11 | # 1. ON CHILD NETDATA - THE ONE THAT WILL BE SENDING METRICS |
| 12 | |
| 13 | [stream] |
| 14 | # Enable this on child nodes, to have them send metrics. |
| 15 | enabled = no |
| 16 | |
| 17 | # Where is the receiving netdata? |
| 18 | # A space separated list of: |
| 19 | # |
| 20 | # [PROTOCOL:]HOST[%INTERFACE][:PORT][:SSL] |
| 21 | # |
| 22 | # If many are given, the first available will get the metrics. |
| 23 | # |
| 24 | # PROTOCOL = tcp, udp, or unix (only tcp and unix are supported by parent nodes) |
| 25 | # HOST = an IPv4, IPv6 IP, or a hostname, or a unix domain socket path. |
| 26 | # IPv6 IPs should be given with brackets [ip:address] |
| 27 | # INTERFACE = the network interface to use (only for IPv6) |
| 28 | # PORT = the port number or service name (/etc/services) |
| 29 | # SSL = when this word appear at the end of the destination string |
| 30 | # the Netdata will encrypt the connection with the parent. |
| 31 | # |
| 32 | # This communication is not HTTP (it cannot be proxied by web proxies). |
| 33 | destination = |
| 34 | |
| 35 | # The API_KEY to use (as the sender) |
| 36 | api key = |
| 37 | |
| 38 | # Skip Certificate verification? |
| 39 | # The netdata child is configurated to avoid invalid SSL/TLS certificate, |
| 40 | # so certificates that are self-signed or expired will stop the streaming. |
| 41 | # Case the server certificate is not valid, you can enable the use of |
| 42 | # 'bad' certificates setting the next option as 'yes'. |
| 43 | #ssl skip certificate verification = yes |
| 44 | |
| 45 | # Certificate Authority Path |
| 46 | # OpenSSL has a default directory where the known certificates are stored. |
| 47 | # In case it is necessary, it is possible to change this rule using the variable |
| 48 | # "CApath", e.g. CApath = /etc/ssl/certs/ |
| 49 | # |
| 50 | #CApath = |
| 51 | |
| 52 | # Certificate Authority file |
| 53 | # When the Netdata parent has a certificate that is not recognized as valid, |
| 54 | # we can add it to the list of known certificates in "CApath" and give it to |
| 55 | # Netdata as an argument, e.g. CAfile = /etc/ssl/certs/cert.pem |
| 56 | # |
| 57 | #CAfile = |
| 58 | |
| 59 | # Stream Compression |
| 60 | # The default is enabled |
| 61 | # You can control stream compression in this agent with options: yes | no |
| 62 | #enable compression = yes |
| 63 | |
| 64 | # The timeout to connect and send metrics |
| 65 | #timeout = 5m |
| 66 | |
| 67 | # If the destination line above does not specify a port, use this |
| 68 | #default port = 19999 |
| 69 | |
| 70 | # filter the charts and contexts to be streamed |
| 71 | # netdata SIMPLE PATTERN: |
| 72 | # - space separated list of patterns (use \ to include spaces in patterns) |
| 73 | # - use * as wildcard, any number of times within each pattern |
| 74 | # - prefix a pattern with ! for a negative match (ie not stream the charts it matches) |
| 75 | # - the order of patterns is important (left to right) |
| 76 | # To send all except a few, use: !this !that * (ie append a wildcard pattern) |
| 77 | # The pattern is matched against the context, the chart name and the chart id. |
| 78 | #send charts matching = * |
| 79 | |
| 80 | # The buffer to use for sending metrics. |
| 81 | # 10MB is good for 60 seconds of data, so increase this if you expect latencies. |
| 82 | # The buffer is flushed on reconnects (this will not prevent gaps at the charts). |
| 83 | #buffer size = 10MiB |
| 84 | |
| 85 | # If the connection fails, or it disconnects, |
| 86 | # retry after that many seconds (randomized from 5s to whatever is here). |
| 87 | #reconnect delay = 15s |
| 88 | |
| 89 | # Sync the clock of the charts for that many iterations, when starting. |
| 90 | # It is ignored when replication is enabled |
| 91 | #initial clock resync iterations = 60 |
| 92 | |
| 93 | # ----------------------------------------------------------------------------- |
| 94 | # 2. ON PARENT NETDATA - THE ONE THAT WILL BE RECEIVING METRICS |
| 95 | |
| 96 | # You can have one API key per child, |
| 97 | # or the same API key for all child nodes. |
| 98 | # |
| 99 | # netdata searches for options in this order: |
| 100 | # |
| 101 | # a) parent netdata settings (netdata.conf) |
| 102 | # b) [stream] section (above) |
| 103 | # c) [API_KEY] section (below, settings for the API key) |
| 104 | # d) [MACHINE_GUID] section (below, settings for each machine) |
| 105 | # |
| 106 | # You can combine the above (the more specific setting will be used). |
| 107 | |
| 108 | # API key authentication |
| 109 | # If the key is not listed here, it will not be able to push metrics. |
| 110 | |
| 111 | # [API_KEY] is [YOUR-API-KEY], i.e [11111111-2222-3333-4444-555555555555] |
| 112 | [API_KEY] |
| 113 | # Default settings for this API key |
| 114 | |
| 115 | # This GUID is to be used as an API key from remote agents connecting |
| 116 | # to this machine. Failure to match such a key, denies access. |
| 117 | # YOU MUST SET THIS FIELD ON ALL API KEYS. |
| 118 | type = api |
| 119 | |
| 120 | # You can disable the API key, by setting this to: no |
| 121 | # The default (for unknown API keys) is: no |
| 122 | enabled = no |
| 123 | |
| 124 | # A list of simple patterns matching the IPs of the servers that |
| 125 | # will be pushing metrics using this API key. |
| 126 | # The metrics are received via the API port, so the same IPs |
| 127 | # should also be matched at netdata.conf [web].allow connections from |
| 128 | #allow from = * |
| 129 | |
| 130 | # The history in entries (for db alloc or ram), for all hosts using this API key. |
| 131 | # You can also set it per host below. |
| 132 | # For the default db (dbengine), this is ignored. |
| 133 | #retention = 3600 |
| 134 | |
| 135 | # The database to be used for all hosts using this API key. |
| 136 | # You can also set it per host below. |
| 137 | # If you don't set it here, the memory mode of netdata.conf will be used. |
| 138 | # Valid modes: |
| 139 | # ram keep it in RAM, don't touch the disk |
| 140 | # none no database at all (use this on headless proxies) |
| 141 | # dbengine Netdata's high performance database |
| 142 | #db = dbengine |
| 143 | |
| 144 | # Shall we enable health monitoring for the hosts using this API key? |
| 145 | # 3 possible values: |
| 146 | # yes enable alarms |
| 147 | # no do not enable alarms |
| 148 | # auto enable alarms, only when the sending netdata is connected. |
| 149 | # Health monitoring will be disabled as soon as the connection is closed. |
| 150 | # You can also set it per host, below. |
| 151 | # The default is taken from [health].enabled of netdata.conf |
| 152 | #health enabled = auto |
| 153 | |
| 154 | # postpone alerts for a short period after the sender is connected |
| 155 | #postpone alerts on connect = 1m |
| 156 | |
| 157 | # the duration to maintain health log events |
| 158 | #health log retention = 5d |
| 159 | |
| 160 | # need to route metrics differently? set these. |
| 161 | # the defaults are the ones at the [stream] section (above) |
| 162 | #proxy enabled = yes | no |
| 163 | #proxy destination = IP:PORT IP:PORT ... |
| 164 | #proxy api key = API_KEY |
| 165 | #proxy send charts matching = * |
| 166 | |
| 167 | # Stream Compression |
| 168 | # By default it is enabled. |
| 169 | # You can control stream compression in this parent agent stream with options: yes | no |
| 170 | #enable compression = yes |
| 171 | |
| 172 | # select the order the compression algorithms will be used, when multiple are offered by the child |
| 173 | #compression algorithms order = zstd lz4 brotli gzip |
| 174 | |
| 175 | # Replication |
| 176 | # Enable replication for all hosts using this api key. Default: enabled |
| 177 | #enable replication = yes |
| 178 | |
| 179 | # How many seconds to replicate from each child. Default: configured in netdata.conf (1d) |
| 180 | #replication period = 1d |
| 181 | |
| 182 | # The duration we want to replicate per each step. |
| 183 | #replication step = 10m |
| 184 | |
| 185 | # Indicate whether this child is an ephemeral node. An ephemeral node will become unavailable |
| 186 | # after the specified duration of "cleanup ephemeral hosts after" (as defined in the db section of netdata.conf) |
| 187 | # from the time of the node's last connection. |
| 188 | #is ephemeral node = no |
| 189 | |
| 190 | # ----------------------------------------------------------------------------- |
| 191 | # 3. PER SENDING HOST SETTINGS, ON PARENT NETDATA |
| 192 | # THIS IS OPTIONAL - YOU DON'T HAVE TO CONFIGURE IT |
| 193 | |
| 194 | # This section exists to give you finer control of the parent settings for each |
| 195 | # child host, when the same API key is used by many netdata child nodes / proxies. |
| 196 | # |
| 197 | # Each netdata has a unique GUID - generated the first time netdata starts. |
| 198 | # You can find it at /var/lib/netdata/registry/netdata.public.unique.id |
| 199 | # (at the child). |
| 200 | # |
| 201 | # The host sending data will have one. If the host is not ephemeral, |
| 202 | # you can give settings for each sending host here. |
| 203 | |
| 204 | [MACHINE_GUID] |
| 205 | # This GUID is to be used as a MACHINE GUID from remote agents connecting |
| 206 | # to this machine, not an API key. |
| 207 | # YOU MUST SET THIS FIELD ON ALL MACHINE GUIDs. |
| 208 | type = machine |
| 209 | |
| 210 | # enable this host: yes | no |
| 211 | # When disabled, the parent will not receive metrics for this host. |
| 212 | # THIS IS NOT A SECURITY MECHANISM - AN ATTACKER CAN SET ANY OTHER GUID. |
| 213 | # Use only the API key for security. |
| 214 | enabled = no |
| 215 | |
| 216 | # A list of simple patterns matching the IPs of the servers that |
| 217 | # will be pushing metrics using this MACHINE GUID. |
| 218 | # The metrics are received via the API port, so the same IPs |
| 219 | # should also be matched at netdata.conf [web].allow connections from |
| 220 | # and at stream.conf [API_KEY].allow from |
| 221 | #allow from = * |
| 222 | |
| 223 | # The number of entries in the database. |
| 224 | # This is ignored for db dbengine. |
| 225 | #retention = 3600 |
| 226 | |
| 227 | # The memory mode of the database: ram | none | dbengine |
| 228 | #db = dbengine |
| 229 | |
| 230 | # Health / alarms control: yes | no | auto |
| 231 | #health enabled = auto |
| 232 | |
| 233 | # postpone alerts when the sender connects |
| 234 | #postpone alerts on connect = 1m |
| 235 | |
| 236 | # the duration to maintain health log events |
| 237 | #health log retention = 5d |
| 238 | |
| 239 | # need to route metrics differently? |
| 240 | # the defaults are the ones at the [API KEY] section |
| 241 | #proxy enabled = yes | no |
| 242 | #proxy destination = IP:PORT IP:PORT ... |
| 243 | #proxy api key = API_KEY |
| 244 | #proxy send charts matching = * |
| 245 | |
| 246 | # Stream Compression |
| 247 | # By default, enabled. |
| 248 | # You can control stream compression in this parent agent stream with options: yes | no |
| 249 | #enable compression = yes |
| 250 | |
| 251 | # Replication |
| 252 | # Enable replication for this child. |
| 253 | #enable replication = yes |
| 254 | |
| 255 | # How many seconds to replicate from this child. |
| 256 | #replication period = 1d |
| 257 | |
| 258 | # The duration we want to replicate per each step. |
| 259 | #replication step = 10m |
| 260 | |
| 261 | # Indicate whether this child is an ephemeral node. An ephemeral node will become unavailable |
| 262 | # after the specified duration of "cleanup ephemeral hosts after" (as defined in the db section of netdata.conf) |
| 263 | # from the time of the node's last connection. |
| 264 | #is ephemeral node = no |