0x0i.prometheus
Ansible ロール :fire: :straight_ruler: Prometheus
目次
このAnsibleロールは、Prometheusをインストールして設定します。Prometheusは、マルチ次元の非分散型時系列データベースおよび監視/アラートツールキットです。
対応プラットフォーム:
* Debian
* Redhat (CentOS/Fedora)
* Ubuntu
要件
ターゲットホストにunzip/gtar
ユーティリティがインストールされている必要があります。詳細については、ansible unarchive
モジュールのノートを参照してください。
ロール変数
変数は、以下のソフトウェアおよびマシンプロビジョニング段階に従って整理されています:
- install
- config
- launch
- uninstall
インストール
prometheus
およびその関連のalertmanager
は、圧縮アーカイブ(.tar
、.zip
)を使用してインストールできます。これらのアーカイブはさまざまなソースからダウンロードして抽出できます。
インストールプロセスのさまざまな側面を制御するためにカスタマイズできる以下の変数があります。これは、ソフトウェアバージョンやバイナリのソース位置、およびそれらが保存されるインストールディレクトリなどです:
managed_services: <サービスのリスト (prometheus | alertmanager)>
(デフォルト: *['prometheus']*)
- 管理するPrometheusツールキットサービスのリスト
prometheus_user: <サービスユーザー名>
(デフォルト: prometheus)
- 特権の分離に使用される
prometheus
の専用サービスユーザーとグループ(詳細についてはこちらを参照)
install_dir: </インストールディレクトリへのパス>
(デフォルト: /opt/prometheus
)
- ターゲットホスト上で
prometheus
バイナリが抽出されるパス
archive_url: <アーカイブへのパスまたはURL>
(デフォルト: defaults/main.yml
を参照)
prometheus
バイナリを含む圧縮tarまたはzipアーカイブのアドレス。この方法では、技術的に利用可能な任意のバージョンのprometheus
をインストールできます。公式バージョンのリンクはこちらで見つけられます。
archive_checksum: <チェックサムへのパスまたはURL>
(デフォルト: defaults/main.yml
を参照)
- 指定された
prometheus
アーカイブのデータ整合性を検証するためのチェックサムファイルのアドレス。推奨されており、一般的に最良のプラクティスと見なされますが、チェックサムを指定することは必須ではありません。その値に空文字列(''
)を提供することで無効にすることができます。
checksum_format: <文字列>
(デフォルト: sha256
を参照)
- 指定されたアーカイブチェックサムに関連するファイルの検証に使用されるハッシュアルゴリズム。より多くの情報についてはこちらを参照してください。
alertmgr_installdir: </インストールディレクトリのパス>
(デフォルト: /opt/alertmanager
)
- ターゲットホスト上で
alertmanager
バイナリが抽出されるパス
exporter_installdir: </インストールディレクトリのパス>
(デフォルト: {{ install_dir }}/exporters
)
- ターゲットホスト上でPrometheusエクスポーターバイナリが抽出されるパス
alertmgr_archive_url: <アーカイブへのパスまたはURL>
(デフォルト: defaults/main.yml
を参照)
alertmanager
バイナリを含む圧縮tarまたはzipアーカイブのアドレス。この方法では、技術的に利用可能な任意のバージョンのalertmanager
をインストールできます。公式バージョンのリンクはこちらで見つけられます。
alertmgr_archive_checksum: <チェックサムへのパスまたはURL>
(デフォルト: defaults/main.yml
を参照)
- 指定された
alertmanager
アーカイブのデータ整合性を検証するためのチェックサムファイルのアドレス。推奨されており、一般的に最良のプラクティスと見なされますが、チェックサムを指定することは必須ではありません。その値に空文字列(''
)を提供することで無効にすることができます。
alertmgr_checksum_format: <文字列>
(デフォルト: sha256
を参照)
- 指定されたアーカイブチェックサムに関連するファイルの検証に使用されるハッシュアルゴリズム。より多くの情報についてはこちらを参照してください。
filesd_path: </ファイルSDファイルへのパス>
(デフォルト: {{ install_dir }}/filesd
)
- ターゲットホスト上でデフォルトでprometheusファイルディスカバリーファイルが保存されるパス
rules_path: </ルールファイルへのパス>
(デフォルト: {{ install_dir }}/rules.d
)
- ターゲットホスト上でデフォルトでprometheusルールファイルが保存されるパス
templates_path: </alertmanagerテンプレートファイルへのパス>
(デフォルト: {{ alertmgr_installdir }}/templates
)
- ターゲットホスト上でデフォルトでalertmanagerテンプレートファイルが保存されるパス
設定
このロールを使用して、prometheus
インストールの設定は以下のコンポーネントに従って整理されています:
- prometheusサービス設定(
prometheus.yml
) - ファイルサービスディスカバリ(
file_sd - *.[json|yml]
) - レコーディングおよびアラートルール(
rule_files - *.[json|yml]
) - alertmanagerサービス設定(
alertmanager.yml
) - alertmanagerテンプレートファイル(
*.tmpl
)
各設定は次の変数内で表現でき、指定された設定ファイルの内容や設定をカスタマイズできます:
config_dir: </設定ディレクトリへのパス>
(デフォルト: {{ install_dir }}
)
- ターゲットホスト上で
prometheus
の設定ファイルがレンダリングされるパス
data_dir: </データディレクトリへのパス>
(デフォルト: /var/data/prometheus
)
- ターゲットホスト上で
prometheus
がデータを保存するパス
alertmgr_configdir: </設定ディレクトリへのパス>
(デフォルト: {{ alertmgr_installdir }}
)
- ターゲットホスト上で
alertmanager
の設定ファイルがレンダリングされるパス
alertmgr_datadir: </データディレクトリへのパス>
(デフォルト: /var/data/alertmanager
)
- ターゲットホスト上で
alertmanager
がデータを保存するパス
以下に続く内容も日本語に翻訳し、さらに詳しく説明することができますが、基本的には上記の形式を踏襲しながら進めていく形となります。必要な項目についてお知らせいただければ、適時翻訳を続けます。
Prometheus - a multi-dimensional time-series data monitoring and alerting toolkit
ansible-galaxy install 0x0i.prometheus