この記事では、docker を使用して prometheus+grafana をデプロイし、アプリケーション システムのさまざまなインジケーター データを監視します。springboot アプリケーションはマイクロメーターとアクチュエータを統合してメトリクス データを外部に公開します。Prometheus はアプリケーションによって公開されたメトリクス データの収集を担当し、grafana はデータ ソース データをグラフィカルに表示します。比較的簡単で内容は以下の通りです。
1. 環境説明
この記事で使用している springboot は 2.7+、各コンポーネントの docker イメージは最新、docker ホスト環境は virtualbox 仮想マシンです。
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2. 注意事項
: 最初にホストのファイアウォールをオフにすることをお勧めしますが、docker のデプロイ中にファイアウォールをオフにすると、docker のセキュリティ チェックが行われるため、docker を再起動する必要があります。
springbootアプリケーションはアクチュエータ+マイクロメータに依存しているため、セキュリティコンポーネントがある場合はデータを公開するインターフェースアドレス(/actuator/prometheus)を許可してください。
3. docker をデプロイして
prometheus を起動するには、設定ファイルを指定する必要があります 簡易設定: prometheus.yml 簡易設定 この記事が置かれているパス: /root/prometheus
global:
scrape_interval: 15s
external_labels:
monitor: 'codelab-monitor'
scrape_configs:
- job_name: 'star'
scrape_interval: 5s
metrics_path: '/actuator/prometheus'
scheme: http
static_configs:
- targets: ['192.168.1.1:8080']
ここでは、metrics_path を指定する必要があります (デフォルトでは、/metrics は正しくありません)。残りの操作は、Docker イメージをプルして起動するだけです。prometheus ターゲットにアクセスして、アプリケーションの公開されたアドレスを確認します。ステータスが up であれば、問題ありません。4. grafana アドレスにアクセスし、prometheus データ ソースを追加するように
grafana を設定します。データ ソースを使用する場合は、ダッシュボードで新しいパネルを作成するか、テンプレートをインポートし (公式 Web サイトで利用可能なテンプレートを検索してインポートできます)、ターゲット データ ソースを選択してグラフを表示します。