ableton.prometheus_node_exporter
Ansible 角色 ableton.prometheus_node_exporter
此角色会在指定主机上安装 Prometheus node_exporter
作为服务。如果目标系统有带有 node_exporter
软件包的包管理器,则该角色将通过这种方式安装软件。否则,将从源代码构建该软件。
在 Windows 上,该角色会安装 windows_exporter
。
要求
需要 Ansible >= 2.10。该角色支持在以下操作系统类型上基于软件包的安装:
- Debian Linux(通过
apt
模块) - macOS(通过
homebrew
模块) - Windows(通过
win_chocolatey
模块)
对于所有其他平台,将执行基于源代码的安装。在这些不支持基于软件包安装的系统上,以下软件是必需的:
- Go (golang)
- GNU Make
此角色不会在主机上安装上述任何软件;您必须在应用此角色之前自行解决。
角色变量
以下角色变量用于 node_exporter
的服务配置:
node_exporter_args
:传递给node_exporter
服务的参数列表,每个参数对应列表中的一项。node_exporter_create_user
:当为true
时,创建node_exporter_user
用户和相应的node_exporter_group
(仅在 Unix 平台上使用,默认值为true
)。node_exporter_group
:用于node_exporter_user
用户的组(仅在 Unix 平台上使用)。node_exporter_port
:用于暴露指标的端口。node_exporter_user
:以哪个用户身份运行node_exporter
(仅在 Unix 平台上使用)。
以下变量在从源代码构建 node_exporter
时使用。
node_exporter_install_from_binary
:当为true
时,从二进制下载安装node_exporter
,而不是通过包管理器。这一选项并非在所有系统类型上都支持(请参见上面的“要求”部分)。node_exporter_binary_arch
:下载node_exporter
二进制文件时需要获取的二进制架构。node_exporter_version
:要从源代码安装的node_exporter
版本。
在 Windows 上使用以下变量:
windows_exporter_version
:使用 Chocolatey 安装的windows_exporter
版本。
请参见 defaults/main.yml
文件,以获取关于所需和可选角色变量的完整文档。
示例剧本
---
- name: 在主机上安装 node_exporter
hosts: "all"
vars:
node_exporter_port: 9100
node_exporter_binary_arch: "amd64"
node_exporter_group: "{{ ansible_user }}"
node_exporter_user: "{{ ansible_user }}"
node_exporter_version: "0.18.1"
pre_tasks:
- name: 强制 macOS 主机从源代码安装,以便使用特定版本
set_fact:
node_exporter_install_from_binary: true
when: ansible_os_family == "Darwin"
- name: 为 macOS 主机安装先决软件
homebrew:
name: golang
state: present
roles:
- ableton.prometheus_node_exporter
许可证
MIT
维护者
该项目由以下 GitHub 用户维护: