ernestas-poskus.ansible-prometheus
ansible-prometheus
Prometheus 監視システムをインストールするための Ansible プレイブックです。
このプレイブックは、systemd を使用してサービスをインストールおよび管理します。現在サポートされているもの:
- Prometheus
- Node Exporter(ホストマシンのメトリクスを収集)
- アラートマネージャー
- プッシュゲートウェイ
- SNMP エクスポーター
- ブラックボックスエクスポーター
プレイブックには詳細な設定オプションが含まれており、デフォルトは main.yml をチェックしてください。
貢献
必要なエクスポーターが見つからない場合は、これらの例を確認してください #47 または #50 そしてプルリクエストを作成してください。
インストール
ansible-galaxy install ernestas-poskus.ansible-prometheus
要件
Systemd
ロール変数
---
# ansible-prometheus のデフォルトファイル
prometheus_install: true
prometheus_node_exporter_install: true
prometheus_alert_manager_install: true
prometheus_push_gateway_install: false
prometheus_snmp_exporter_install: false
prometheus_blackbox_exporter_install: false
prometheus_owner: 'prometheus'
prometheus_group: 'prometheus'
prometheus_install_dir: '/usr/local/opt'
prometheus_config_dir: '/etc/prometheus'
prometheus_lib_dir: '/var/lib/prometheus'
prometheus_rules_dir: "{{ prometheus_config_dir }}/rules"
prometheus_data_dir: "{{ prometheus_lib_dir }}/prometheus2"
prometheus_alert_manager_data_dir: "{{ prometheus_lib_dir }}/alertmanager"
prometheus_alert_manager_config_dir: "{{ prometheus_config_dir }}/alertmanager"
prometheus_alert_manager_templates_dir: "{{ prometheus_config_dir }}/alertmanager/templates"
prometheus_snmp_exporter_config_dir: "{{ prometheus_config_dir }}/snmpexporter"
prometheus_blackbox_exporter_config_dir: "{{ prometheus_config_dir }}/blackboxexporter"
# Prometheus
prometheus_version: '2.25.1'
prometheus_platform_architecture: 'linux-amd64'
# 開いているファイルの最大数、LimitNOFILE の値
prometheus_service_limitnofile: infinity
# Node exporter
prometheus_node_exporter_version: '1.1.2'
# アラートマネージャー
prometheus_alert_manager_version: '0.21.0'
# プッシュゲートウェイ
prometheus_push_gateway_version: '1.4.0'
# SNMP エクスポーター
prometheus_snmp_exporter_version: '0.20.0'
# ブラックボックスエクスポーター
prometheus_blackbox_exporter_version: '0.18.0'
依存関係
なし。
例プレイブック
ロールの使用方法の例を含めることは、ユーザーにとっても便利です(例えば、パラメーターとして渡す変数を使用):
- name: ホストされたマシンに Prometheus をインストール
hosts: vagrant1
sudo: yes
roles:
- role: ansible-prometheus
prometheus_config_scrape_configs:
- job_name: 'prometheus'
honor_labels: true
scrape_interval: '15s'
scrape_timeout: '3s'
metrics_path: '/metrics'
scheme: 'http'
static_configs:
- targets:
- 'localhost:9090' # Prometheus 自身
- 'localhost:9100' # Node exporter
- job_name: 'consul-services'
consul_sd_configs:
- server: "localhost:8500"
ライセンス
著作権 (c) 2021, Ernestas Poskus 全著作権所有。
ソースおよびバイナリ形式での再配布および使用は、変更の有無にかかわらず、以下の条件を満たしている限り許可されます:
ソースコードの再配布には、上記の著作権表示、このリストの条件、および以下の免責事項を保持する必要があります。
バイナリ形式での再配布は、上記の著作権表示、このリストの条件、ならびに以下の免責事項を、配布物に付随する文書および/またはその他の資料に再現する必要があります。
ansible-prometheus の名前や、その貢献者の名前を、特定の事前の書面による許可なしに、このソフトウェアから派生した製品を承認または宣伝するために使用することはできません。
このソフトウェアは著作権者と貢献者によって「現状有姿」で提供され、明示または暗示にかかわらず、商品性や特定の目的への適合性に関するいかなる保証も否認されます。このソフトウェアの使用に関連して生じるいかなる直接的、間接的、偶発的、特別、例示的、または結果的な損害(代替商品やサービスの調達、使用の喪失、データ、または利益の喪失、ビジネスの中断を含むがこれに限定されない)についても、著作権者や貢献者は責任を負いません。
著者情報
Twitter: @ernestas_poskus
Ansible playbook for managing Prometheus monitoring system
ansible-galaxy install ernestas-poskus.ansible-prometheus