cloudalchemy.node_exporter
已弃用
此角色已被 prometheus-community/ansible 集合替代。
Ansible 角色:节点出口
警告
由于 galaxy.ansible.com 的限制,我们不得不将角色移至 https://galaxy.ansible.com/cloudalchemy/node_exporter,并在角色名中使用 _
代替 -
。这是一个重大变更,不幸的是,它影响了所有版本的节点出口角色,因为 ansible galaxy 不提供任何重定向。因此给您带来的不便,我们深表歉意。
描述
使用 ansible 部署 prometheus 节点出口。
要求
- Ansible >= 2.7(可能在早期版本上也能工作,但我们无法保证)
- Mac 部署主机上需要安装 gnu-tar(
brew install gnu-tar
) - 使用基本认证功能时需要 Passlib(
pip install passlib[bcrypt]
)
角色变量
所有可以重写的变量都存储在 defaults/main.yml 中,并在下表中列出。
名称 | 默认值 | 描述 |
---|---|---|
node_exporter_version |
1.1.2 | 节点出口程序包版本。也可接受 latest 作为参数。 |
node_exporter_binary_local_dir |
"" | 启用使用本地包而不是分布在 GitHub 上的包。该参数可以设置为 ansible 运行主机上存储 node_exporter 二进制文件的目录。这会覆盖 node_exporter_version 参数。 |
node_exporter_web_listen_address |
"0.0.0.0:9100" | 节点出口将监听的地址 |
node_exporter_web_telemetry_path |
"/metrics" | 用于暴露指标的路径 |
node_exporter_enabled_collectors |
["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}] |
定义附加启用的收集器及其配置的字典列表。它将收集器添加到 默认启用的收集器 中。 |
node_exporter_disabled_collectors |
[] | 禁用收集器的列表。默认情况下,节点出口会禁用 这里列出的收集器。 |
node_exporter_textfile_dir |
"/var/lib/node_exporter" | 文本文件收集器 使用的目录。要获得写入该目录的权限,用户必须在 node-exp 系统组中。__注意__:更多信息请参阅 TROUBLESHOOTING.md 指南。 |
node_exporter_tls_server_config |
{} | TLS 认证的配置。键和值与 节点出口文档 中的一致。 |
node_exporter_http_server_config |
{} | HTTP/2 支持的配置。键和值与 节点出口文档 中的一致。 |
node_exporter_basic_auth_users |
{} | 基本认证的用户名和密码字典。密码使用 bcrypt 自动哈希。 |
示例
剧本
在剧本中使用如下:
- hosts: all
roles:
- cloudalchemy.node_exporter
TLS 配置
在运行节点出口角色之前,用户需要提供自己的证书和密钥。
- hosts: all
pre_tasks:
- name: 创建 node_exporter 证书目录
file:
path: "/etc/node_exporter"
state: directory
owner: root
group: root
- name: 创建证书和密钥
openssl_certificate:
path: /etc/node_exporter/tls.cert
csr_path: /etc/node_exporter/tls.csr
privatekey_path: /etc/node_exporter/tls.key
provider: selfsigned
roles:
- cloudalchemy.node_exporter
vars:
node_exporter_tls_server_config:
cert_file: /etc/node_exporter/tls.cert
key_file: /etc/node_exporter/tls.key
node_exporter_basic_auth_users:
randomuser: examplepassword
演示网站
我们提供一个示例网站,以展示基于 prometheus 和 grafana 的整体监控解决方案。包含代码和运行实例链接的仓库 可在 GitHub 上找到,该网站托管在 DigitalOcean。
本地测试
本地测试该角色的首选方式是使用 Docker 和 molecule(v3.x)。您需要在系统上安装 Docker。请查看 "入门" 以获取适合您系统的 Docker 包。运行测试只需执行 molecule test
。
持续集成
将 molecule 和 circle CI 结合使用,可以测试新 PR 在多版本 ansible 和多个操作系统下的表现。这也允许我们为不同角色配置创建测试场景。因此,我们有一个相当庞大的测试矩阵,这可能需要比本地测试更多的时间,因此请耐心等待。
贡献
请参见 贡献者指南。
故障排除
请参见 故障排除。
许可证
本项目根据 MIT 许可证许可。有关更多详细信息,请参见 许可证。
安装
ansible-galaxy install cloudalchemy.node_exporter
许可证
mit
下载
3.3M
拥有者
Setup your monitoring stack with ansible