cloudalchemy.node_exporter

廃止予定

この役割は、prometheus-community/ansible コレクションに代わって廃止されました。

Ansibleロール: node exporter

ライセンス Ansibleロール GitHubタグ

警告

galaxy.ansible.comの制限により、役割をhttps://galaxy.ansible.com/cloudalchemy/node_exporterに移動し、役割名で`-`の代わりに`_`を使用する必要がありました。これは破壊的変更であり、残念ながらansible galaxyはリダイレクションの形式を提供していないため、node_exporter役割のすべてのバージョンに影響します。ご不便をおかけして申し訳ありません。

説明

ansibleを使用してprometheus node exporterをデプロイします。

要件

  • Ansible >= 2.7(以前のバージョンでも動作する可能性がありますが、保証はできません)
  • Macのデプロイホストにgnu-tarが必要です(brew install gnu-tarでインストール)
  • 基本認証機能を使用する場合はpasslibが必要です(pip install passlib[bcrypt]

ロール変数

オーバーライド可能なすべての変数はdefaults/main.ymlに保存され、以下の表にリストされています。

名前 デフォルト値 説明
node_exporter_version 1.1.2 Node exporterパッケージのバージョン。最新をパラメータとして受け入れます。
node_exporter_binary_local_dir "" GitHubで配布されるパッケージの代わりにローカルパッケージを使用する機能を有効にします。このパラメータは、ansibleが実行されるホストにnode_exporterバイナリが保存されているディレクトリに設定できます。これにより、node_exporter_versionパラメータが上書きされます。
node_exporter_web_listen_address "0.0.0.0:9100" node exporterがリッスンするアドレス
node_exporter_web_telemetry_path "/metrics" メトリクスを公開するパス
node_exporter_enabled_collectors ["systemd",{textfile: {directory: "{{node_exporter_textfile_dir}}"}}] 追加で有効にするコレクターとその設定を定義する辞書のリスト。デフォルトで有効なコレクターに追加されます。
node_exporter_disabled_collectors [] 無効なコレクターのリスト。デフォルトでnode_exporterはここにリストされたコレクターを無効にします。
node_exporter_textfile_dir "/var/lib/node_exporter" Textfile Collectorによって使用されるディレクトリ。ユーザーはこのディレクトリにメトリクスを書き込むための権限を得る必要があります。ユーザーはnode-expシステムグループに属する必要があります。注意: 詳細はTROUBLESHOOTING.mdガイドを参照してください。
node_exporter_tls_server_config {} TLS認証の設定。キーと値はnod_exporterのドキュメントにあるものと同じです。
node_exporter_http_server_config {} HTTP/2サポートの設定。キーと値はnod_exporterのドキュメントにあるものと同じです。
node_exporter_basic_auth_users {} 基本認証のためのユーザーとパスワードの辞書。パスワードはbcryptで自動的にハッシュ化されます。

プレイブック

プレイブックで次のように使用します:

- hosts: all
  roles:
    - cloudalchemy.node_exporter

TLS設定

node_exporterロールを実行する前に、ユーザーは自分の証明書と鍵を準備する必要があります。

- hosts: all
  pre_tasks:
    - name: node_exporterの証明書ディレクトリを作成
      file:
        path: "/etc/node_exporter"
        state: directory
        owner: root
        group: root

    - name: 証明書と鍵を作成
      openssl_certificate:
        path: /etc/node_exporter/tls.cert
        csr_path: /etc/node_exporter/tls.csr
        privatekey_path: /etc/node_exporter/tls.key
        provider: selfsigned
  roles:
    - cloudalchemy.node_exporter
  vars:
    node_exporter_tls_server_config:
      cert_file: /etc/node_exporter/tls.cert
      key_file: /etc/node_exporter/tls.key
    node_exporter_basic_auth_users:
      randomuser: examplepassword 

デモサイト

私たちは、prometheusとgrafanaに基づく完全な監視ソリューションを示すデモサイトを提供しています。コードと実行中のインスタンスへのリンクを含むリポジトリはGitHubで入手可能で、サイトはDigitalOceanにホストされています。

ローカルテスト

ロールをローカルでテストするための推奨方法は、Dockerとmolecule(v3.x)を使用することです。システムにDockerをインストールする必要があります。お使いのシステムに適したDockerパッケージについては、「始める」を参照してください。テストを実行するのは、molecule testを実行するだけです。

継続的インテグレーション

moleculeとcircle CIを組み合わせることで、新しいPRが複数のansibleバージョンや複数のオペレーティングシステムでどのように動作するかをテストできます。これにより、異なるロール設定のためのテストシナリオを作成することも可能です。その結果、かなり大きなテストマトリックスが生成され、ローカルテストよりも時間がかかる場合があるため、しばらくお待ちください。

貢献

貢献ガイドラインを参照してください。

トラブルシューティング

トラブルシューティングを参照してください。

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEを参照してください。

プロジェクトについて

Prometheus Node Exporter

インストール
ansible-galaxy install cloudalchemy.node_exporter
ライセンス
mit
ダウンロード
3.3M
所有者
Setup your monitoring stack with ansible