Prometheus


プロメテウス


Webサーバ、DB、ネットワーク機器など多様なシステムの時系列データ形式(TSDB:Time Seriesデータベース)でメトリック情報を格納するシステム.

こうぞう



Prometheus Serverは、ターゲットシステムから各種Jobs/Exporterが収集したメトリック情報をHTTP Endpointアクセス(プール化)でストレージに格納する構造で、Grafanaのような可視化システムでPromQLを利用してダッシュボードをお客様のスタイルに合わせてカスタマイズできます.
また、Exporterによる解凍が適切でないターゲットシステムについて、ターゲットシステムがPush Gatewayを使用してメトリック情報をPush Gatewayにプッシュすると、PrometheusサーバはPushGateWayにアクセスしてデータを収集します.

ビルド


サービス固有の使用ポート
Alertmanager : 9093
Prometheus Server : 9090
Node_exporter : 9100

リポジトリの追加

sudo tee /etc/yum.repos.d/prometheus.repo <<EOF 
[prometheus]
name=prometheus
baseurl=https://packagecloud.io/prometheus-rpm/release/el/7/x86_64
repo_gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/prometheus-rpm/release/gpgkey
https://raw.githubusercontent.com/lest/prometheus-rpm/master/RPM-GPG-KEY-prometheus-rpm
gpgcheck=1
metadata_expire=300
EOF

設定

sudo yum -y install prometheus2 node_exporter
プロファイルにnode exporter(ローカル)を追加する
sudo vim /etc/prometheus/prometheus.yml

global:
scrape_interval:     15s   
evaluation_interval: 15s 

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

- job_name: 'prometheus'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

- job_name: 'node_exporter'
    static_configs:
    - targets: ['localhost:9100']

再起動

sudo systemctl restart prometheus node_exporter
sudo systemctl enable prometheus node_exporter