darkwizard242.node_exporter
Ansibleロール: Node Exporter
Debian/UbuntuおよびELシステムにおいて、デフォルトでnode_exporterをインストールするためのロールです。
要件
特に必要なものはありません。
node_exporter用に作成されたsystemdサービスファイルは、標準出力と標準エラーをsyslog
にストリーミングします。SyslogIdentifierはnode_exporter
に設定されています。そのため、sudo journalctl -u node_exporter.service
コマンドを実行することで、node_exporter
のログを確認できます。また、rsyslogを設定して、プログラム名node_exporter
のログを特定のファイルに収集し、ログファイルを管理することもできます。ログローテーションには、Ansible Galaxyのdarkwizard242.logrotateロールが利用できます。
ロール変数
使用可能な変数は、以下にリストされています(defaults/main.yml
にあります)。
変数リスト:
node_exporter_app: node_exporter
node_exporter_version: 1.5.0
node_exporter_osarch: linux-amd64
node_exporter_archive_format: tar.gz
node_exporter_dl_url: "https://github.com/prometheus/{{ node_exporter_app }}/releases/download/v{{ node_exporter_version }}/{{ node_exporter_app }}-{{ node_exporter_version }}.{{ node_exporter_osarch }}.{{ node_exporter_archive_format }}"
node_exporter_app_group: "{{ node_exporter_app }}"
node_exporter_app_group_desired_state: present
node_exporter_app_user: "{{ node_exporter_app }}"
node_exporter_app_user_desired_state: present
node_exporter_app_user_home_state: no
node_exporter_app_user_shell: /bin/false
node_exporter_temp_path: /tmp
node_exporter_bin_path: /usr/local/bin
node_exporter_bin_path_mode: '0755'
node_exporter_bin_path_remote_src: yes
node_exporter_systemd_service_setup: true
node_exporter_systemd_service_name: "{{ node_exporter_app }}"
node_exporter_systemd_service_flags: --collector.systemd --collector.processes --collector.mountstats
node_exporter_systemd_service_template: "{{ node_exporter_app }}.service.j2"
node_exporter_systemd_service_template_dest: "/etc/systemd/system/{{ node_exporter_app }}.service"
node_exporter_systemd_service_template_user: root
node_exporter_systemd_service_template_group: root
node_exporter_systemd_service_template_dest_mode: '0644'
node_exporter_systemd_service_template_backup: yes
node_exporter_systemd_service_desired_state: restarted
node_exporter_systemd_service_desired_boot_enabled: yes
node_exporter_app_port: 9100
node_exporter_app_check_status_code: 200
node_exporter_app_check_status_code_retries: 10
node_exporter_app_check_status_code_delay: 5
変数の説明:
変数 | 説明 |
---|---|
node_exporter_app | インストールするアプリを定義します。例: node_exporter |
node_exporter_version | インストールするバージョンを動的に取得するために使用。デフォルトは: 1.5.0 |
node_exporter_osarch | OSアーキテクチャを定義します。正しいバイナリを取得するために使用。デフォルトは: linux-amd64 |
node_exporter_archive_format | アーカイブをダウンロードする際に使用します。 |
node_exporter_dl_url | node_exporterのバイナリをダウンロードするためのURLを定義します。 |
node_exporter_app_group | node_exporterのオーナーが所属するグループの名前。デフォルトはnode_exporter 。 |
node_exporter_app_group_desired_state | presentは、グループが存在しない場合に作成することを示します。absentも可能。 |
node_exporter_app_user | node_exporterの所有ユーザー名。デフォルトはnode_exporter 。 |
node_exporter_app_user_desired_state | presentは、ユーザーが存在しない場合に作成することを示します。absentも可能。 |
node_exporter_app_user_home_state | node_exporter ユーザーのホームディレクトリを作成しない場合は、'no'に設定。 |
node_exporter_app_user_shell | ユーザーのデフォルトシェルを定義します。必要ないので/bin/false に設定。 |
node_exporter_temp_path | node_exporterのアーカイブがダウンロードされ、抽出される一時パス。 |
node_exporter_bin_path | 実際のnode_exporter を配置するパス。 |
node_exporter_bin_path_mode | node_exporter バイナリのパーミッション。 |
node_exporter_bin_path_remote_src | Ansibleがリモートホストでの解凍操作を行うことを許可します。 |
node_exporter_systemd_service_setup | node_exporterのsystemdサービスファイルを設定するための条件として使用されます。falseに設定すると、systemdサービスファイルは作成されません。 |
node_exporter_systemd_service_name | node_exporter_systemd_service_setupがtrueに設定されている場合のsystemdサービスファイル名。 |
node_exporter_systemd_service_flags | node_exporterのサービスファイルにコマンドラインフラグを渡すための変数。 |
node_exporter_systemd_service_template | node_exporter_systemd_service_setupがtrueの場合、ホストに置くJinja2ソースのsystemdサービステンプレートファイル。 |
node_exporter_systemd_service_template_dest | node_exporter_systemd_service_setupがtrueの場合のnode_exporterのsystemdサービスの宛先ファイル名。 |
node_exporter_systemd_service_template_user | node_exporter_systemd_service_setupがtrueの場合のnode_exporterのsystemdサービスファイルの所有者。 |
node_exporter_systemd_service_template_group | node_exporter_systemd_service_setupがtrueの場合のnode_exporterのsystemdサービスファイルのグループ。 |
node_exporter_systemd_service_template_dest_mode | node_exporter_systemd_service_setupがtrueの場合のnode_exporterのsystemdサービスファイルのモード。 |
node_exporter_systemd_service_template_backup | node_exporter_systemd_service_setupがtrueの場合に既存のnode_exporterのsystemdサービスファイルをバックアップするためのもの。 |
node_exporter_systemd_service_desired_state | node_exporter_systemd_service_setupがtrueの場合のnode_exporterのsystemdサービスの望ましい状態。 |
node_exporter_systemd_service_desired_boot_enabled | node_exporter_systemd_service_setupがtrueの場合にnode_exporterサービスを有効に設定します。 |
node_exporter_app_port | デフォルトのnode_exporterのポートが9100であるため、この変数はハンドラで使用され、node_exporterがポート9100で実行されているかどうかを確認します。 |
node_exporter_app_check_status_code | ハンドラがnode_exporterを確認する際に探すステータスコード。 |
node_exporter_app_check_status_code_retries | ハンドラがnode_exporterの実行を確認しようとする回数。 |
node_exporter_app_check_status_code_delay | ハンドラがnode_exporterの確認間に待機する秒数の遅延時間。 |
依存関係
なし
例 Playbook
Ansibleプレイブックでのロールのデフォルト動作(すなわち、node_exporterのインストール)。
- hosts: servers
roles:
- role: darkwizard242.node_exporter
プレイブックでのロールの動作をカスタマイズする(例: 希望のnode_exporterバージョンを指定する)。
- hosts: servers
roles:
- role: darkwizard242.node_exporter
vars:
node_exporter_version: 1.0.1
プレイブックでのロールの動作をカスタマイズする(例: node_exporterのsystemdサービスの設定を無効にする)。
- hosts: servers
roles:
- role: darkwizard242.node_exporter
vars:
node_exporter_systemd_service_setup: false
ライセンス
著者情報
このロールはAli Muhammadによって作成されました。
プロジェクトについて
Installs & configures 'node_exporter' for scraping node metrics.
インストール
ansible-galaxy install darkwizard242.node_exporter
ライセンス
mit
ダウンロード
5.3k
所有者
Senior DevOps/CloudOps Engineer.
Dedicated to Automating everything I come across.
Love to work on and learn new technologies/tools everyday!