kostiantyn-nemchenko.mongodb_exporter
Percona MongoDB 导出器的 Ansible 角色
一个用于安装和配置 Percona 提供的 Prometheus MongoDB 导出器的 Ansible 角色。
需求
此角色不包括自动生成 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-----
所有受监控的 MongoDB 实例中需要存在一个数据库用户,并分配适当的内置角色。请参见示例。
角色变量
# 要安装的导出器版本
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