kostiantyn-nemchenko.mongodb_exporter

Percona MongoDB 导出器的 Ansible 角色

构建状态
Ansible Galaxy

一个用于安装和配置 Percona 提供的 Prometheus MongoDB 导出器的 Ansible 角色。

需求

  1. 此角色不包括自动生成 TLS/SSL 证书。请确保您已启用与 MongoDB 实例的 TLS 连接,并指定正确的CA客户端证书客户端密钥。示例:

    mongodb_exporter_mongodb_tls_cert:
      dest: /etc/ssl/certs/mongodb_exporter.crt
      owner: root
      group: root
      mode: "0644"
      content: |
        -----BEGIN CERTIFICATE-----
        公共证书
        的内容
        -----END CERTIFICATE-----
    
  2. 所有受监控的 MongoDB 实例中需要存在一个数据库用户,并分配适当的内置角色。请参见示例

  3. 此角色需要以 root 权限运行,因此请以任何方便的方式设置 become: true。请查看示例剧本

角色变量

# 要安装的导出器版本
mongodb_exporter_version: 0.7.0
# 导出器仓库 URL
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# 导出器二进制架构
mongodb_exporter_arch: amd64
# 导出器下载 URL
mongodb_exporter_release_url: "{{ mongodb_exporter_base_url }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_system |lower }}-{{ mongodb_exporter_arch }}.tar.gz"

# 运行导出器的操作系统用户
mongodb_exporter_system_user: mongodb_exporter
# 要将用户加入的操作系统组
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# 设置为角色/导出器依赖项的其他软件包
mongodb_exporter_system_packages:
  - { name: ca-certificates, state: present }
  - { name: tar,             state: present }

# 在启动导出器之前要设置的环境变量列表
mongodb_exporter_env_vars: []

# 包含预设环境变量的文件路径
mongodb_exporter_env_file:
  dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
  owner: root
  group: root
  mode: "0640"
# 包含导出器二进制文件的目录路径
mongodb_exporter_bin_dir:
  dest: /usr/local/bin
  owner: root
  group: root
  mode: "0755"

# 监听的网页界面和遥测的地址
mongodb_exporter_web_listen_address: :9216
# 曝露指标的路径
mongodb_exporter_web_telemetry_path: /metrics

# 启用数据库指标收集
mongodb_exporter_collect_database: false
# 启用集合指标收集
mongodb_exporter_collect_collection: false
# 启用表顶级指标收集
mongodb_exporter_collect_topmetrics: false
# 启用每个索引使用情况统计的收集
mongodb_exporter_collect_indexusage: false

# MongoDB URI 格式为 [mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
mongodb_exporter_mongodb_uri: mongodb://127.0.0.1:27017

# 启用与 Mongo 服务器的 TLS 连接
mongodb_exporter_mongodb_tls: false
# 包含用于服务器连接的受信任 CAs 的 PEM 文件路径
mongodb_exporter_mongodb_tls_ca:
  dest: /etc/ssl/certs/mongodb_exporter_CA.pem
  owner: root
  group: root
  mode: "0644"
  content: ""
# 包含证书的 PEM 文件路径(可选包含解密的私钥)
mongodb_exporter_mongodb_tls_cert:
  dest: /etc/ssl/certs/mongodb_exporter.crt
  owner: root
  group: root
  mode: "0644"
  content: ""
# 包含解密私钥的 PEM 文件路径(如果不在 mongodb.tls-cert 文件中)
mongodb_exporter_mongodb_tls_private_key:
  dest: /etc/ssl/private/mongodb_exporter.key
  owner: root
  group: ssl-cert
  mode: "0640"
  content: ""
# 禁用主机名称验证
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# 连接到数据库的最大连接数
mongodb_exporter_mongodb_max_connections: 1
# 等待数据库非响应套接字的时间,超时后将强制关闭
mongodb_exporter_mongodb_socket_timeout: 3s
# 此会话的操作在无法建立到可用服务器的连接时返回错误的等待时间
mongodb_exporter_mongodb_sync_timeout: 1m
# 指定创建用户的数据库
mongodb_exporter_authentification_database: ""

# 当前被忽略
mongodb_exporter_groups_enabled: ""

依赖关系

示例剧本

- hosts: mongodb
  become: yes
  roles:
    - kostiantyn-nemchenko.mongodb_exporter

许可证

MIT

作者信息

Kostiantyn Nemchenko kostiantyn.nemchenko@gmail.com

关于项目

An Ansible role which installs and configures Percona MongoDB Exporter

安装
ansible-galaxy install kostiantyn-nemchenko.mongodb_exporter
许可证
mit
下载
17.8k