This role installs Prometheus node_exporter as a service on the given
host. If the target system has a package manager with the node_exporter package, then
this role installs the software that way. Otherwise, the software will be built from
sources.
On Windows, this role installs windows_exporter.
Ansible >= 2.10 is required. This role supports package-based installation on the following OS types:
- Debian Linux (via the
aptmodule) - macOS (via the
homebrewmodule) - Windows (via the
win_chocolateymodule)
For all other platforms, a source-based installation will be performed. On such systems where package-based installation is not available, the following software is required:
- Go (golang)
- GNU Make
This role does not install either of the above software on the host; you must take care to do that before applying this role.
The following role variables are used for node_exporter's service configuration:
node_exporter_args: A list of arguments to pass to thenode_exporterservice, one argument per list item.node_exporter_create_user: Whentrue, create thenode_exporter_useruser and the correspondingnode_exporter_group(only used on Unix platforms, defaults totrue).node_exporter_group: Group for thenode_exporter_useruser (only used on Unix platforms).node_exporter_port: Port to expose metrics on.node_exporter_user: User to runnode_exporteras (only used on Unix platforms).
The following variables are used when building node_exporter from sources.
node_exporter_install_from_binary: Whentrue,node_exporterwill be installed from a binary download and not via a package manager. This option is not supported on all system types (see the "Requirements" section above).node_exporter_binary_arch: Binary architecture to fetch when downloading thenode_exporterbinary.node_exporter_version: Version of node_exporter to install from source.
The following variables are used on Windows:
windows_exporter_version: Version of windows_exporter to install using Chocolatey.
See the defaults/main.yml file for full documentation on required
and optional role variables.
---
- name: Install node_exporter on hosts
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: Force macOS hosts to install from source, so a specific version can be used
set_fact:
node_exporter_install_from_binary: true
when: ansible_os_family == "Darwin"
- name: Install prerequisite software for macOS hosts
homebrew:
name: golang
state: present
roles:
- ableton.prometheus_node_exporterMIT
This project is maintained by the following GitHub users: