第3章 Prometheus を使用した Fuse Online の監視
以下のセクションで説明されているように、Prometheus を使用して Fuse Online インフラストラクチャーおよび Fuse Online アプリケーションを監視できます。
本セクションで説明されているように、外部 Prometheus インスタンスを設定して Fuse Online アプリケーションを監視することができます。
3.1. Fuse Online インフラストラクチャーコンポーネントの監視
Prometheus を使用して、以下の Fuse Online インフラストラクチャーコンポーネントによって公開されるメトリクスを監視できます。
- Syndesis Server
-
syndesis-server
コンポーネントは Micrometer でインストルメント化され、デフォルトですべての JVM メトリクス Micrometer を自動的に公開します。さらに、syndesis-server
は要求レート、エラーレート、レイテンシーなどの REST API エンドポイントに関するメトリクスを公開します。 - Syndesis Meta
-
syndesis-meta
コンポーネントは Micrometer でインストルメント化され、デフォルトですべての JVM メトリクス Micrometer を自動的に公開します。また、REST API エンドポイントについてのメトリクスも公開します。 - Syndesis DB
- Fuse Online Postgres データベースのメトリクスは、サードパーティーの Prometheus エクスポーターを使用してエクスポートされます。
- 統合
-
インテグレーション
メトリクスは、デフォルトで複数の JVM メトリクスを公開する公式の JMX エクスポーターを使用してエクスポートされます。さらに、integration メトリクスは、メッセージレートやエラーレートなどの Apache Camel 固有のメトリクスを公開します。
Grafana ダッシュボードを使用して、Prometheus によって収集されるメトリクスを可視化することもできます。
前提条件
-
OpenShift クラスターにアクセス可能な
cluster admin
権限が必要です。 -
これらのインストール手順 にしたがって、Application Monitoring Operator(具体的にタグ
v1.1.6
タグ)で Prometheus および Grafana をデプロイします。
Grafana はコミュニティーがサポートする機能です。Grafana をデプロイして Red Hat Integration 製品を監視する構成は、Red Hat の実稼働環境におけるサービスレベルアグリーメント(SLA)の対象外です。
手順
Fuse Online namespace で以下のコマンドを使用して
monitoring-key=middleware
ラベルを設定します。oc label namespace <fuse-online-namespace> monitoring-key=middleware
oc label namespace <fuse-online-namespace> monitoring-key=middleware
Copy to Clipboard Copied! Fuse Online インストールでアプリケーション監視設定リソースが OpenShift クラスターに追加されたことを確認します。
-
OpenShift Web コンソールで、
applicaton-monitoring
プロジェクトに移動し、prometheus-route
URL を開きます。 Prometheus コンソールで、Status
Targets ページに移動します。 Syndesis
ターゲットがリストされている場合は、Fuse Online が監視用に設定されているため、ステップ 4 に進みます。Syndesis
ターゲットが一覧にない場合は、ステップ 3 に進みます。
-
OpenShift Web コンソールで、
インフラストラクチャーリソースが OpenShift クラスターにない場合、Prometheus モニタリングを有効にするには、以下を実行します。
Fuse Online の namespace に移動します。
OpenShift 4.x OpenShift 3.11 -
OpenShift Web コンソールで、Fuse Online (
syndesis
) プロジェクトに移動します。 - Catalog > Installed Operators の順に選択し、Fuse Online Operator をクリックします。
- Syndesis CRD をクリックし、app をクリックします。
-
Yaml をクリックし、エディターで
yaml
ファイルを開きます。
- Resources > Other Resources の順に選択します。
- ドロップダウンメニューから、Syndesis リソースタイプを選択します。
-
app リソースの Actions をクリックし、Edit YAML を選択してエディターで
yaml
ファイルを開きます。
-
OpenShift Web コンソールで、Fuse Online (
yaml
ファイルを編集し、以下の行を追加してSyndesis.Spec.Addons.Ops.Enable
値を true に設定します。spec: addons: ops: enabled: "true"
spec: addons: ops: enabled: "true"
Copy to Clipboard Copied! - ファイルを保存します。
Pod が再起動するまで待機します。
注記インフラストラクチャーリソースは、インストールコマンドの実行直後には使用できません。Prometheus Targets ページに Fuse Online (Syndesis) ターゲットが表示されるまで待機する必要がある場合があります。
Prometheus にアクセスするには、以下を実行します。
- アプリケーション監視 Operator がインストールされているプロジェクトの OpenShift コンソールで、ルートの一覧を開きます。
- prometheus-route エントリーの横にあるホスト名 URL をクリックし、Prometheus コンソールを開きます。
- Fuse Online インフラストラクチャーコンポーネントに設定されたアラートルールの一覧を表示するには、Alerts メニュー項目をクリックします。
Grafana ダッシュボードにアクセスするには、以下を実行します。
- アプリケーション監視 Operator がインストールされているプロジェクトの OpenShift コンソールで、ルートの一覧を開きます。
- grafana-route エントリーの横にあるホスト名 URL をクリックし、Grafana コンソールを開きます。
Grafana コンソールの上部で、ダッシュボードセレクターをクリックし、以下のインフラストラクチャーダッシュボードのいずれかを選択します。
- Infrastructure - DB
- Fuse Online の Postgres インスタンスに関連するメトリクスを表示します。
- Infrastructure - JVM
-
syndesis-meta
またはsyndesis-server
アプリケーションの実行中の JVM に関するメトリクスを表示します。ダッシュボードの上部にある Application ドロップダウンリストから、監視するアプリケーションを選択します。 - Infrastructure - REST APIs
-
request throughput
およびlatency
などの Fuse Online インフラストラクチャー API エンドポイントに関連するメトリクスを表示します。ダッシュボードの上部にある Application ドロップダウンリストから、監視するアプリケーションを選択します。
Prometheus Alertmanager にアクセスするには、以下を実行します。
- アプリケーション監視 Operator がインストールされているプロジェクトの OpenShift コンソールで、ルートの一覧を開きます。
alertmanager-route エントリーの横にあるホスト名 URL をクリックし、Alertmanager コンソールを開きます。
Fuse Online インフラストラクチャーが正常である場合、デフォルトのビューは空になります。
インフラストラクチャーコンポーネントのいずれかが正常でない場合は、生成されたアクティブなアラートとそれらのアラートの通知を無効にするオプションが表示されます。