darkwizard242.node_exporter

Ansibleロール: Node Exporter

Debian/UbuntuおよびELシステムにおいて、デフォルトでnode_exporterをインストールするためのロールです。

要件

特に必要なものはありません。

node_exporter用に作成されたsystemdサービスファイルは、標準出力と標準エラーをsyslogにストリーミングします。SyslogIdentifiernode_exporterに設定されています。そのため、sudo journalctl -u node_exporter.serviceコマンドを実行することで、node_exporterのログを確認できます。また、rsyslogを設定して、プログラム名node_exporterのログを特定のファイルに収集し、ログファイルを管理することもできます。ログローテーションには、Ansible Galaxydarkwizard242.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

ライセンス

MIT

著者情報

このロールは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!