ernestas-poskus.ansible-prometheus

ansible-prometheus

构建状态

Ansible 剧本用于安装 Prometheus 监控系统。

该剧本使用 systemd 安装和管理服务。当前支持的服务有:

  • Prometheus
  • Node Exporter(收集主机性能指标)
  • 警报管理器
  • Push gateway
  • SNMP exporter
  • Blackbox exporter

剧本包含丰富的配置选项,请查看 default/main.yml。

贡献

如果您找不到需要的 exporter,请查看这些示例 #47#50 并提交拉取请求。

安装

使用以下命令安装:

ansible-galaxy install ernestas-poskus.ansible-prometheus

要求

需要 systemd。

角色变量

---
# ansible-prometheus 的默认配置文件

prometheus_install: true
prometheus_node_exporter_install: true
prometheus_alert_manager_install: true
prometheus_push_gateway_install: false
prometheus_snmp_exporter_install: false
prometheus_blackbox_exporter_install: false

prometheus_owner: 'prometheus'
prometheus_group: 'prometheus'

prometheus_install_dir: '/usr/local/opt'
prometheus_config_dir: '/etc/prometheus'
prometheus_lib_dir: '/var/lib/prometheus'
prometheus_rules_dir: "{{ prometheus_config_dir }}/rules"

prometheus_data_dir: "{{ prometheus_lib_dir }}/prometheus2"
prometheus_alert_manager_data_dir: "{{ prometheus_lib_dir }}/alertmanager"
prometheus_alert_manager_config_dir: "{{ prometheus_config_dir }}/alertmanager"
prometheus_alert_manager_templates_dir: "{{ prometheus_config_dir }}/alertmanager/templates"
prometheus_snmp_exporter_config_dir: "{{ prometheus_config_dir }}/snmpexporter"
prometheus_blackbox_exporter_config_dir: "{{ prometheus_config_dir }}/blackboxexporter"

# Prometheus
prometheus_version: '2.25.1'
prometheus_platform_architecture: 'linux-amd64'

# 允许打开的文件数,为 LimitNOFILE 设置值
prometheus_service_limitnofile: infinity

# Node exporter
prometheus_node_exporter_version: '1.1.2'

# 警报管理器
prometheus_alert_manager_version: '0.21.0'

# Pushgateway
prometheus_push_gateway_version: '1.4.0'

# SNMP exporter
prometheus_snmp_exporter_version: '0.20.0'

# Blackbox exporter
prometheus_blackbox_exporter_version: '0.18.0'

文档:Prometheus 变量

文档:Node exporter 变量

文档:警报管理器变量

文档:Pushgateway 变量

文档:SNMP exporter 变量

文档:Blackbox exporter 变量

依赖

无。

示例剧本

包括一个示例,说明如何使用您的角色(例如,将变量作为参数传递)也会对用户很有帮助:

- name: 在主机上安装 Prometheus
  hosts: vagrant1
  sudo: yes
  roles:
    - role: ansible-prometheus
      prometheus_config_scrape_configs:
        - job_name: 'prometheus'
          honor_labels: true
          scrape_interval: '15s'
          scrape_timeout: '3s'
          metrics_path: '/metrics'
          scheme: 'http'
          static_configs:
            - targets:
                - 'localhost:9090' # Prometheus 本身
                - 'localhost:9100' # Node exporter
        - job_name: 'consul-services'
          consul_sd_configs:
            - server: "localhost:8500"

许可证

版权 (c) 2021, Ernestas Poskus 保留所有权利。

允许在源代码和二进制形式中进行再分发和使用,是否修改须符合以下条件:

  • 源代码的再分发必须保留上述版权声明、本条件列表和以下免责声明。

  • 二进制形式的再分发须在分发附带的文档和/或其他材料中重现上述版权声明、本条件列表和以下免责声明。

  • 禁止使用 ansible-prometheus 的名称或其贡献者的名称来支持或推广基于该软件的产品,除非获得特定的书面许可。

本软件是由版权持有者和贡献者按“原样”提供的,对任何明示或隐含的保证,包括但不限于对特定目的的适销性和适用性的隐含保证不作任何保证。在任何情况下,版权持有者或贡献者均不对因使用本软件而引起的任何直接、间接、偶然、特殊、示范性或后果性损害负责,包括但不限于替代商品或服务的采购、使用损失、数据或利润损失,以及商业中断,即使已告知可能会发生此类损害。

作者信息

推特:@ernestas_poskus

安装
ansible-galaxy install ernestas-poskus.ansible-prometheus
许可证
bsd-3-clause
下载
6.6k
拥有者
pragmatic & ambitious