--- title: prometheus type: docs --- [![Source Code](https://img.shields.io/badge/gitea-source%20code-blue?logo=gitea&logoColor=white)](https://gitea.rknet.org/ansible/xoxys.prometheus) [![Build Status](https://img.shields.io/drone/build/ansible/xoxys.prometheus?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/ansible/xoxys.prometheus) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?label=license)](https://gitea.rknet.org/ansible/xoxys.prometheus/src/branch/master/LICENSE) Deploy [Prometheus](https://prometheus.io/) monitoring system. * [Default Variables](#default-variables) * [prometheus_alert_relabel_configs](#prometheus_alert_relabel_configs) * [prometheus_alert_rules](#prometheus_alert_rules) * [prometheus_alert_rules_extra](#prometheus_alert_rules_extra) * [prometheus_alert_rules_files](#prometheus_alert_rules_files) * [prometheus_alertmanager_config](#prometheus_alertmanager_config) * [prometheus_base_dir](#prometheus_base_dir) * [prometheus_config_dir](#prometheus_config_dir) * [prometheus_config_flags_extra](#prometheus_config_flags_extra) * [prometheus_data_dir](#prometheus_data_dir) * [prometheus_external_labels](#prometheus_external_labels) * [prometheus_extra_groups](#prometheus_extra_groups) * [prometheus_file_sd_dir](#prometheus_file_sd_dir) * [prometheus_global](#prometheus_global) * [prometheus_group](#prometheus_group) * [prometheus_log_level](#prometheus_log_level) * [prometheus_packages](#prometheus_packages) * [prometheus_read_only_dirs](#prometheus_read_only_dirs) * [prometheus_remote_read](#prometheus_remote_read) * [prometheus_remote_write](#prometheus_remote_write) * [prometheus_rules_dir](#prometheus_rules_dir) * [prometheus_scrape_configs](#prometheus_scrape_configs) * [prometheus_static_targets_files](#prometheus_static_targets_files) * [prometheus_storage_retention](#prometheus_storage_retention) * [prometheus_storage_retention_size](#prometheus_storage_retention_size) * [prometheus_targets](#prometheus_targets) * [prometheus_user](#prometheus_user) * [prometheus_user_comment](#prometheus_user_comment) * [prometheus_user_home](#prometheus_user_home) * [prometheus_version](#prometheus_version) * [prometheus_web_basic_auth_users](#prometheus_web_basic_auth_users) * [prometheus_web_bind_ip](#prometheus_web_bind_ip) * [prometheus_web_bind_port](#prometheus_web_bind_port) * [prometheus_web_external_url](#prometheus_web_external_url) * [prometheus_web_http_server](#prometheus_web_http_server) * [prometheus_web_tls_cert_path](#prometheus_web_tls_cert_path) * [prometheus_web_tls_cert_source](#prometheus_web_tls_cert_source) * [prometheus_web_tls_enabled](#prometheus_web_tls_enabled) * [prometheus_web_tls_key_path](#prometheus_web_tls_key_path) * [prometheus_web_tls_key_source](#prometheus_web_tls_key_source) * [Dependencies](#dependencies) --- ## Default Variables ### prometheus_alert_relabel_configs #### Default value ```YAML prometheus_alert_relabel_configs: [] ``` #### Example usage ```YAML prometheus_alert_relabel_configs: - action: labeldrop regex: replica ``` ### prometheus_alert_rules #### Default value ```YAML prometheus_alert_rules: - alert: Watchdog expr: vector(1) for: 10m labels: severity: warning annotations: description: This is an alert meant to ensure that the entire alerting pipeline is functional. This alert is always firing. There are integrations with various notification mechanisms that send a notification when this alert is not firing anymore. summary: Ensure entire alerting pipeline is functional - alert: InstanceDown expr: up == 0 for: 5m labels: severity: critical annotations: description: '{% raw %}{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.{% endraw %}' summary: '{% raw %}Instance {{ $labels.instance }} down{% endraw %}' ``` ### prometheus_alert_rules_extra #### Default value ```YAML prometheus_alert_rules_extra: [] ``` ### prometheus_alert_rules_files #### Default value ```YAML prometheus_alert_rules_files: - prometheus/rules/*.rules ``` ### prometheus_alertmanager_config #### Default value ```YAML prometheus_alertmanager_config: [] ``` #### Example usage ```YAML prometheus_alertmanager_config: - scheme: https path_prefix: alertmanager/ basic_auth: username: user password: pass static_configs: - targets: ["127.0.0.1:9093"] proxy_url: "127.0.0.2" ``` ### prometheus_base_dir #### Default value ```YAML prometheus_base_dir: /opt/prometheus ``` ### prometheus_config_dir #### Default value ```YAML prometheus_config_dir: '{{ prometheus_base_dir }}/conf' ``` ### prometheus_config_flags_extra #### Default value ```YAML prometheus_config_flags_extra: [] ``` #### Example usage ```YAML prometheus_config_flags_extra: - name: alertmanager.timeout value: 10s ``` ### prometheus_data_dir #### Default value ```YAML prometheus_data_dir: '{{ prometheus_base_dir }}/data' ``` ### prometheus_external_labels #### Default value ```YAML prometheus_external_labels: environment: '{{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }}' ``` ### prometheus_extra_groups #### Default value ```YAML prometheus_extra_groups: [] ``` ### prometheus_file_sd_dir #### Default value ```YAML prometheus_file_sd_dir: '{{ prometheus_config_dir }}/file_sd' ``` ### prometheus_global #### Default value ```YAML prometheus_global: scrape_interval: 15s scrape_timeout: 10s evaluation_interval: 15s ``` ### prometheus_group #### Default value ```YAML prometheus_group: '{{ prometheus_user }}' ``` ### prometheus_log_level #### Default value ```YAML prometheus_log_level: error ``` ### prometheus_packages #### Default value ```YAML prometheus_packages: - tar ``` ### prometheus_read_only_dirs #### Default value ```YAML prometheus_read_only_dirs: [] ``` ### prometheus_remote_read #### Default value ```YAML prometheus_remote_read: [] ``` #### Example usage ```YAML prometheus_remote_read: - url: https://demo.cloudalchemy.org:9201/read basic_auth: password: FOO ``` ### prometheus_remote_write #### Default value ```YAML prometheus_remote_write: [] ``` #### Example usage ```YAML prometheus_remote_write: - url: https://dev.kausal.co/prom/push basic_auth: password: FOO ``` ### prometheus_rules_dir #### Default value ```YAML prometheus_rules_dir: '{{ prometheus_config_dir }}/rules' ``` ### prometheus_scrape_configs #### Default value ```YAML prometheus_scrape_configs: - job_name: prometheus metrics_path: "{{ prometheus_web_external_url | urlsplit('path') if (prometheus_web_external_url\ \ | urlsplit('path')) | length > 1 else '' }}/metrics" static_configs: - targets: - "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}:61000" ``` ### prometheus_static_targets_files #### Default value ```YAML prometheus_static_targets_files: - prometheus/targets/*.yml - prometheus/targets/*.json ``` ### prometheus_storage_retention #### Default value ```YAML prometheus_storage_retention: 30d ``` ### prometheus_storage_retention_size __[EXPERIMENTAL]__ Maximum number of bytes that can be stored for blocks. #### Default value ```YAML prometheus_storage_retention_size: '0' ``` ### prometheus_targets #### Default value ```YAML prometheus_targets: [] ``` #### Example usage ```YAML prometheus_targets: - name: node config: - targets: - localhost:9100 labels: env: test ``` ### prometheus_user #### Default value ```YAML prometheus_user: prometheus_adm ``` ### prometheus_user_comment #### Default value ```YAML prometheus_user_comment: Prometheus ``` ### prometheus_user_home #### Default value ```YAML prometheus_user_home: /home/{{ prometheus_user }} ``` ### prometheus_version #### Default value ```YAML prometheus_version: 2.27.0 ``` ### prometheus_web_basic_auth_users See official [documentation](https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md). #### Default value ```YAML prometheus_web_basic_auth_users: _unset_ ``` ### prometheus_web_bind_ip #### Default value ```YAML prometheus_web_bind_ip: 127.0.0.1 ``` ### prometheus_web_bind_port #### Default value ```YAML prometheus_web_bind_port: 61000 ``` ### prometheus_web_external_url #### Default value ```YAML prometheus_web_external_url: http://localhost:61000/ ``` ### prometheus_web_http_server See official [documentation](https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md). #### Default value ```YAML prometheus_web_http_server: _unset_ ``` ### prometheus_web_tls_cert_path #### Default value ```YAML prometheus_web_tls_cert_path: '{{ prometheus_base_dir }}/tls/certs/mycert.pem' ``` ### prometheus_web_tls_cert_source #### Default value ```YAML prometheus_web_tls_cert_source: mycert.pem ``` ### prometheus_web_tls_enabled #### Default value ```YAML prometheus_web_tls_enabled: false ``` ### prometheus_web_tls_key_path #### Default value ```YAML prometheus_web_tls_key_path: '{{ prometheus_base_dir }}/tls/private/mykey.pem' ``` ### prometheus_web_tls_key_source #### Default value ```YAML prometheus_web_tls_key_source: mykey.pem ``` ## Dependencies None.