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