ipr-cnrs.netdata
Netdata
概述
一个用于管理 Netdata 安装和配置的角色。
角色变量
- netdata__base_packages : 提供 Netdata 所需的基本软件包列表 [默认 :
netdata]. - netdata__install_recommends : 是否安装推荐的软件包 [默认 :
True]. - netdata__deploy_state : 这个角色期望达到的状态 [默认 :
present]. - netdata__group_name : 包含此特定组配置文件的目录名称 [默认 :
nonexistent-host-group]. - netdata__default_etc_src : 此角色中包含 Netdata 配置文件的目录 [默认 :
../templates/etc/netdata]. - netdata__etc_src : 应在所有主机上管理的配置文件目录 [默认 :
../templates/etc/netdata]. - netdata__group_etc_src : 应由特定 Ansible 清单组管理的 Netdata 配置文件目录 [默认 :
{{ (inventory_dir | realpath + "/../resources/") + "files/by-group/" + netdata__group_name + "/etc/netdata" }}]. - netdata__host_etc_src : 应在特定主机上管理的 Netdata 配置文件目录 [默认 :
{{ (inventory_dir | realpath + "/../resources/") + "files/by-host/" + inventory_hostname + "/etc/netdata" }}]. - netdata__service_name : 要管理的服务名称 [默认 :
netdata]. - netdata__service_manage : 是否管理 Netdata 服务 [默认 :
True]. - netdata__conf_bind_ip : Netdata 监听所用的 IP 地址 [默认 :
127.0.0.1]. - netdata__conf_bind_port : Netdata 监听所用的端口 [默认 :
19999]. - netdata__conf_memory_mode : 数据库的内存模式 [默认 :
ram]. - netdata__conf_recipient_email : 如果角色未定义,则使用的默认电子邮件接收者 [默认 :
root]. - netdata__registry_enable : 节点是否应该成为注册表 [默认 :
False]. - netdata__registry_announce : 注册表的 URL [默认 :
'']. - netdata__registry_hostname : 在注册表上显示的服务器名称(最多50个字符) [默认 :
{{ ansible_hostname }}]. - netdata__slave_enable : 节点是否应该向母体发送指标 [默认 :
False]. - netdata__slave_destination : 发送指标的目标 [默认 :
netdata.{{ ansible_domain }}]. - netdata__slave_api_key : 用于识别母体的 API 密钥 [默认 :
'']. - netdata__slave_buffer_size : 用于发送指标的缓冲区 [默认 : ``].
- netdata__slave_reconnect : 如果连接失败或断开,重新连接的时间(秒) [默认 :
5]. - netdata__master_enable : 节点是否应该接收来自其他节点的指标 [默认 :
False]. - netdata__master_api_key : 用于验证从属节点的 API 密钥 [默认 :
'']. - netdata__master_history : 每个主机在数据库中的条目数量 [默认 :
3600]. - netdata__master_memory_mode : 使用此 API 密钥的所有主机所用的内存模式 [默认 :
ram]. - netdata__master_health_alarm : 母体是否应为使用此 API 密钥的主机发送警报 [默认 :
auto].
示例剧本
- 使用默认变量:
- hosts: mynode.DOMAIN
roles:
- role: ipr-cnrs.netdata
tags: ['role::netdata', 'ipr']
- 使用您自己的 Netdata 配置作为源:
- 确保您有资源目录,其中只包含模板或子目录,例如:
inventory
├── group_vars
│ ├── all
│ │ ├── ….yml
│ │ └── netdata.yml
│ └── …
resources
├── files
│ ├── by-group
│ │ └── all
│ │ │ ├── etc
│ │ │ │ ├── netdata
│ │ │ │ │ ├── health.d
│ │ │ │ │ │ └── ram.conf.j2
│ │ │ │ │ ├── plugins.d
│ │ │ │ │ │ └── python.d.plugin
│ │ │ │ │ └── python.d
│ │ │ │ │ └── fail2ban.chart.py
- 在局域网内监听,注意,Netdata 不适合暴露在外部(见 [问题 64][netdata issue 164]):
- hosts: mynode.DOMAIN
roles:
- role: ipr-cnrs.netdata
netdata__etc_src: '{{ inventory_dir + "/../resources/host/mynode.DOMAIN/etc/netdata/" }}'
- 您至少可以通过防火墙限制对端口 19999 的访问,仅允许已知 IP 地址 [见有关安全性的文档][netdata wiki security]。
配置
该角色将:
- 安装所需的软件包以提供
netdata服务。 - 从多个来源管理 Netdata 配置目录 (/etc/netdata)(netdata__default_etc_src、netdata__etc_src、netdata__group_etc_src 和 netdata__host_etc_src)。
- 确保 Netdata 服务已启用并启动。
- 设置一些基本配置(绑定 IP、端口等)。
- 设置注册表配置(请查看 [文档][netdata wiki registry])。
- 可以设置从属/主控配置,但强烈建议首先查看注册表。
开发
此源代码来自我们的 [Gogs 实例][netdata source],而 [Github 仓库][netdata github] 只是为了能够将角色发送到 Ansible Galaxy…
但欢迎在这里发送问题/PR :)
感谢这个 [钩子][gogs to github hook],Github 自动从我们的 [Gogs 实例][netdata source] 获得更新 :)
许可
[WTFPL][wtfpl website]
作者信息
Jérémy Gardais
- 来源 : [在 IPR 的 Gogs][netdata source]
- [IPR][ipr website](雷恩物理研究所)
安装
ansible-galaxy install ipr-cnrs.netdata许可证
Unknown
下载
78
拥有者
Institut de Physique de Rennes
https://ipr.univ-rennes1.fr/
Tutelles CNRS et Université Rennes 1
