kostiantyn-nemchenko.mongodb_exporter

Percona MongoDB ExporterのAnsibleロール

ビルドステータス Ansible Galaxy

このAnsibleロールは、PerconaによるPrometheus MongoDB Exporterをインストールおよび設定します。

必要条件

  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. このロールはルート権限が必要ですので、任意の方法become: true を設定してください。例のプレイブックをご覧ください。

ロール変数

# インストールするExporterのバージョン
mongodb_exporter_version: 0.7.0
# ExporterリポジトリのURL
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Exporterのバイナリアーキテクチャ
mongodb_exporter_arch: amd64
# Exporterのダウンロード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"

# Exporterを実行するユーザー
mongodb_exporter_system_user: mongodb_exporter
# ユーザーを含むOSグループ
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# ロール/Exporterの依存関係として設定する追加のパッケージ
mongodb_exporter_system_packages:
  - { name: ca-certificates, state: present }
  - { name: tar,             state: present }

# Exporterを起動する前に設定する環境変数のリスト
mongodb_exporter_env_vars: []

# プリセットの環境変数を含むファイルのパス
mongodb_exporter_env_file:
  dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
  owner: root
  group: root
  mode: "0640"
# Exporterバイナリを含むディレクトリへのパス
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
# サーバー接続のために信頼されているCAを含むPEMファイルのパス
mongodb_exporter_mongodb_tls_ca:
  dest: /etc/ssl/certs/mongodb_exporter_CA.pem
  owner: root
  group: root
  mode: "0644"
  content: ""
# 証明書(オプションで暗号化された秘密鍵もPEM形式で含む)のPEMファイルのパス
mongodb_exporter_mongodb_tls_cert:
  dest: /etc/ssl/certs/mongodb_exporter.crt
  owner: root
  group: root
  mode: "0644"
  content: ""
# 暗号化された秘密鍵が含まれていない場合のPEMファイルのパス
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