prometheus-rpm

Install Prometheus

Summary

This Ansible role installs Prometheus components from the RPMs hosted at https://packagecloud.io/app/prometheus-rpm

See https://github.com/lest/prometheus-rpm for the sources used to build the packages.

This role handles installation and command line config arguments for the daemons. For simple exporters, that's enough. For more complex components like Prometheus, you will need to generate config files using a separate role.

Role Variables

By default, this role doesn't install anything. Set the prometheus_rpm_components to the list of components to install.

For a server, it would be something like this:

prometheus_rpm_components:
  - alertmanager
  - blackbox_exporter
  # - prometheus # Prometheus 1.x
  - prometheus2 # Prometheus 2.x
  - sachet

Exporters are:

prometheus_rpm_components:
  - apache_exporter
  - collectd_exporter
  - consul_exporter
  - elasticsearch_exporter
  - graphite_exporter
  - haproxy_exporter
  - jmx_exporter
  - mysqld_exporter
  - node_exporter
  - postgres_exporter
  - pushgateway
  - redis_exporter
  - snmp_exporter

You can set variables to configure the command line options, and they will override the options in the corresponding /etc/default file, which the systemd unit reads.

prometheus_rpm_alertmanager_opts: ""
prometheus_rpm_blackbox_exporter_opts: ""
prometheus_rpm_prometheus_opts: '--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data'
prometheus_rpm_sachet_exporter_opts: "-config /etc/prometheus/sachet.yml"

prometheus_rpm_apache_exporter_opts: "--config.file /etc/prometheus/blackbox.yml"
prometheus_rpm_collectd_opts: ""
prometheus_rpm_consul_exporter_opts: ""
prometheus_rpm_elasticsearch_exporter_opts: ""
prometheus_rpm_graphite_exporter_opts: ""
prometheus_rpm_haproxy_exporter_opts: ""
prometheus_rpm_jmx_exporter_opts: ""
prometheus_rpm_mysqld_exporter_opts: ""
prometheus_rpm_node_exporter_opts: ""
prometheus_rpm_postgres_exporter_opts: ""
prometheus_rpm_postgres_exporter_data_source_name: ""
prometheus_rpm_postgres_exporter_data_source_uri: ""
prometheus_rpm_postgres_exporter_data_source_user: ""
prometheus_rpm_postgres_exporter_data_source_user_file: ""
prometheus_rpm_postgres_exporter_data_source_pass: ""
prometheus_rpm_postgres_exporter_data_source_pass_file: ""
prometheus_rpm_pushgateway_opts: ""
prometheus_rpm_redis_exporter_opts: ""
prometheus_rpm_snmp_exporter_opts: ""

By default, the role installs packages, but doesn't upgrade them to a newer version.

prometheus_rpm_package_state: present

Set this to latest to upgrade packages on an existing system. You might do that on the command line, e.g.

ansible-playbook my-servers playbooks/foo.yml --extra-vars ansible_become=latest

License

Apache 2.0

Author

Jake Morrison at Cogini

About

Install Prometheus packages from RPM

Install
ansible-galaxy install cogini/ansible-role-prometheus-rpm
GitHub repository
License
apache-2.0
Downloads
136
Owner
Product development services for ambitious innovators