cloudalchemy.node_exporter
廃止予定
この役割は、prometheus-community/ansible コレクションに代わって廃止されました。
Ansibleロール: node exporter
警告
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を参照してください。
ansible-galaxy install cloudalchemy.node_exporter