kibatic.prometheus

kibatic.prometheus for Ansible Galaxy

Circle CI Build Status

概要

Ansible Galaxyのロール名: kibatic.prometheus

このAnsibleロールはPrometheusのための以下の機能を持っています:

  • PrometheusサーバーNode exporterAlertmanagerの特定バージョンをインストールします。
  • 再起動、リロード、停止イベントのためのハンドラー。
  • 基本的な設定 (実際の 設定はユーザーのテンプレートファイルに任せます; 使用法セクションを参照してください)。

このロールはシンプルに保つために、Prometheusサーバー、Node exporter、Alertmanagerの3つのコンポーネントのみをインストールします。他のPrometheusエクスポーターをインストールしたい場合は、以下のロールを使用してください:

ロール変数

必須変数

インストールするコンポーネント:

# サポートされるコンポーネント:
#
#   [サーバーコンポーネント]
#     - "prometheus"
#     - "alertmanager"
#
#   [エクスポータコンポーネント]
#     - "node_exporter"
#
prometheus_components

任意の変数:一般設定

ユーザーが設定可能なデフォルト:

# ユーザーとグループ
prometheus_user:   prometheus
prometheus_group:  prometheus

# 実行可能ファイルのディレクトリ
prometheus_install_path:   /opt/prometheus

# 設定ファイルのディレクトリ
prometheus_config_path:    /etc/prometheus

# ログのディレクトリ
prometheus_log_path:       /var/log/prometheus

# PIDファイルのディレクトリ
prometheus_pid_path:       /var/run/prometheus

# 一時ファイルのディレクトリ
prometheus_download_path:  /tmp

# ヘルパーユーティリティ「gosu」のバージョン
gosu_version:  "1.10"

任意の変数:systemd または非systemd

Linuxディストリビューションがsystemdを装備している場合、このロールはこのメカニズムを適切に使用します。これを無効にしたい場合は、次の変数をfalseに設定します:

# 現在、node_exporterのみがサポートされています。
prometheus_node_exporter_use_systemd

任意の変数:Prometheusサーバー

ユーザーが設定可能なデフォルト:

# どのバージョン?
prometheus_version:  1.5.0

# ルールファイルのディレクトリ
prometheus_rule_path:  {{ prometheus_config_path }}/rules

# file_sdファイルのディレクトリ
prometheus_file_sd_config_path:  {{ prometheus_config_path }}/tgroups

# ランタイムデータベースのディレクトリ
prometheus_db_path:   /var/lib/prometheus

ユーザーがインストールできる設定ファイル(詳細はドキュメントを参照):

# メインの設定テンプレート(`playbook_dir`に相対);
# "{{ prometheus_config_path }}/prometheus.yml"にインストールされます
prometheus_conf_main

ユーザーがインストールできるルールファイル(詳細はドキュメントを参照):

# "{{ prometheus_rule_path }}"ディレクトリにインストールされるルールファイル;
# 辞書のフィールド:
#   - key: このルールのメモ
#   - value:
#     - src:  `playbook_dir`に相対するファイル
#     - dest: `{{ prometheus_rule_path }}`に相対するターゲットファイル
prometheus_rule_files

トリガーされるAlertmanager:

prometheus_alertmanager_url

追加のコマンドライン引数(ある場合)(prometheus --helpで引数の全リストを確認):

prometheus_opts

任意の変数:Node exporter

ユーザーが設定可能なデフォルト:

# どのバージョン?
prometheus_node_exporter_version:  0.13.0

追加のコマンドライン引数(ある場合)(node_exporter --helpで引数の全リストを確認):

prometheus_node_exporter_opts

任意の変数:Alertmanager

ユーザーが設定可能なデフォルト:

# どのバージョン?
prometheus_alertmanager_version:  0.5.1

# ランタイムデータベースのディレクトリ(現在は`silences.json`用)
prometheus_alertmanager_db_path: /var/lib/alertmanager

ユーザーがインストールできるalertmanager設定ファイル(詳細はドキュメントを参照):

# メインの設定テンプレート(`playbook_dir`に相対);
# "{{ prometheus_config_path }}/alertmanager.yml"にインストールされます
prometheus_alertmanager_conf

追加のコマンドライン引数(ある場合)(alertmanager --helpで引数の全リストを確認):

prometheus_alertmanager_opts

任意:ソースツリーからのビルド

(著作権: Robbie Trencheny

前述のprometheus_componentsについて、オプションでPrometheusリポジトリmasterブランチからダウンロード/コンパイルできます。それぞれのバージョンをgitに設定すると、prometheus_workdirディレクトリに一時的なGolangコンパイラーがインストールされます(defaults/main.ymlで定義)。

例えば、すべてのコンポーネントの最新コードを取得するには、すべての*_version変数をgitに設定します:

prometheus_version: git
prometheus_node_exporter_version: git
prometheus_alertmanager_version: git

毎回強制的に再ビルドしたい場合は、次の変数を有効にします(デフォルトはfalse):

prometheus_rebuild: true

ハンドラー

Prometheusサーバー:

  • restart prometheus
  • reload prometheus
  • stop prometheus

Node exporter:

  • restart node_exporter
  • reload node_exporter(実際にはrestartと同じ)
  • stop node_exporter

Alertmanager:

  • restart alertmanager
  • reload alertmanager
  • stop alertmanager

使用法

ステップ1:ロールを追加

ロール名kibatic.prometheusをあなたのプレイブックファイルに追加します。

ステップ2:変数を追加

必要に応じて、プレイブックファイルに変数を設定します。

シンプルな例:

---
# ファイル: simple-playbook.yml

- hosts: all
  become: True
  roles:
    - kibatic.prometheus

  vars:
    prometheus_components: [ "prometheus", "alertmanager" ]

    prometheus_alertmanager_url: "http://localhost:9093/"

ステップ3:ユーザーの設定ファイルをコピー(必要な場合)

より実用的な例:

---
# ファイル: complex-playbook.yml

- hosts: all
  become: True
  roles:
    - kibatic.prometheus

  vars:
    prometheus_components:
      - prometheus
      - node_exporter
      - alertmanager

    prometheus_rule_files:
      this_is_rule_1_InstanceDown:
        src:  some/path/basic.rules
        dest: basic.rules

    prometheus_alertmanager_conf: some/path/alertmanager.yml.j2

ステップ4:デフォルトのPrometheusページをブラウズ

ブラウザでページを開きます:

  • Prometheus - http://HOST:9090 または http://HOST:9090/consoles/node.html
  • Alertmanager - http://HOST:9093

依存関係

なし。

貢献者

ライセンス

MITライセンス。詳細はLICENSEファイルを参照してください。

プロジェクトについて

Install and configure Prometheus

インストール
ansible-galaxy install kibatic.prometheus
ライセンス
mit
ダウンロード
1k
所有者
Ajoutez de l'intelligence à vos systèmes