cloudalchemy.node_exporter

已弃用

此角色已被 prometheus-community/ansible 集合替代。

Ansible 角色:节点出口

许可证 Ansible 角色 GitHub 标签

警告

由于 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