kibatic.prometheus
kibatic.prometheus for Ansible Galaxy
概要
Ansible Galaxyのロール名: kibatic.prometheus
このAnsibleロールはPrometheusのための以下の機能を持っています:
- Prometheusサーバー、Node exporter、Alertmanagerの特定バージョンをインストールします。
- 再起動、リロード、停止イベントのためのハンドラー。
- 基本的な設定 (実際の 設定はユーザーのテンプレートファイルに任せます; 使用法セクションを参照してください)。
このロールはシンプルに保つために、Prometheusサーバー、Node exporter、Alertmanagerの3つのコンポーネントのみをインストールします。他のPrometheusエクスポーターをインストールしたい場合は、以下のロールを使用してください:
- Consul: William-Yeh.consul_exporter
- Elasticsearch: William-Yeh.es_cluster_exporter
- MongoDB: williamyeh.mongodb_exporter
ロール変数
必須変数
インストールするコンポーネント:
# サポートされるコンポーネント:
#
# [サーバーコンポーネント]
# - "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
依存関係
なし。
貢献者
- William Yeh
- Robbie Trencheny - Goソースコードからのバイナリビルドの初期バージョンを提供。
- Travis Truman - consul_exporterインストーラーの初期バージョンを提供;現在はWilliam-Yeh.consul_exporterに移動。
- Musee Ullah
ライセンス
MITライセンス。詳細はLICENSEファイルを参照してください。
ansible-galaxy install kibatic.prometheus