Prometheus連携※本書では「Operation Autonomy Support Engine」を「OASE」として記載します。

Exastro Operation Autonomy Support Engine Version 1.5
Exastro developer目次
1. はじめに
1.1

Prometheus連携【実習】について

2. シナリオ説明
2.1 本書のシナリオ

3. 事前設定
3.1
3.2

事前設定
監視アダプタ設定

4. 作業実行
4.1
4.2
4.3
4.4
4.5
4.6

ディシジョンテーブルファイルの作成
ディシジョンテーブルファイルのアップロード
テストリクエスト
プロダクション適用
アラート発火アクション実行結果の確認

1. はじめに1.1

Prometheus連携【実習】について （1/2）▌本書について本書では Exastro OASE と監視ソフトウェア「Prometheus」の連携について解説しています。
OASE はいくつかのソフトウェアと連携が可能ですが、本書では「Prometheus アダプタ」および「メールドライバ」との連携をします。
包括的な内容は、OASE の公式マニュアル集である OASE_docs をご参照く
ださい。

▌前提
OASE および以下の設定が完了していること⚫ 「① OASE インストール」～「③ メールの送信確認」については、OASE クイックスタートの「1.1 クイックスタートについて （2/3）」を参照⚫ 「④Prometheusアダプタインストール」については、
環境構築マニュアル -ドライバインストール編- を参照⚫ 「⑤Prometheusのインストール」～「⑥Prometheusの設定」については別途公式ドキュメントなどを参照

Exastro前提①OASEインストール②

メールドライバインストール
導③

メールの送信確認④

Prometheusアダプタインストール⑤

Prometheusのインストール⑥

Prometheusの設定

入イ

メージ

Prometheus連携（本書）実行可能

4

1.1

Prometheus連携【実習】について （2/2）▌Prometheus連携メニュー概要
Prometheusとの連携では、下記のメニューを操作します。
それぞれのメニュー機能についての説明は、Exastro OASEの公式マニュアル集である OASE_docs をご参照ください。

カテゴリ：システム

画面名称
アクション設定
監視アダプタ

カテゴリ：ルール

画面名称
ディシジョンテーブル

トークン払い出しルール
リクエスト履歴アクション履歴
Exastro5

2. シナリオ説明2.1

本書のシナリオ (1/3)▌シナリオ
下図は本書で実行するシナリオのイメージです。
監視対象のインスタンスが Down することでアラートが発生し、OASE が連動してアクションを実行します。

※実際には、監視対象のインスタンスにある Node Exporter のコンテナを停止させる。
①インスタンスDown(Node Exporter を停止)

②インスタンスDownの検知とアラート発報③アラートリストを収集し、ルールとマッチさせる

メールドライバの実行
監視対象サーバ

ExastroPrometheusサーバ

OASEサーバ

7

2.1

本書のシナリオ (2/3)▌OASEの事前設定～作業実行
アクション設定※メールドライバ【事前設定】

トークンの払い出し

OASEの各種設定

ディシジョンテーブル作成
監視アダプタ※Prometheusアダプタ

ディシジョンテーブルファイル作成 ※エクセル操作【作業実行】

ディシジョンテーブルファイルアップロード

ルールの作成・登録

テストリクエスト
プロダクション適用

ルールマッチング
およびアクション実行

実行
アクション実行結果の確認

Exastro8

2.1

本書のシナリオ (3/3)▌シナリオ
本シナリオでは、「インスタンスダウン状態が5分続いた場合に Critical としてアラート発火」するという監視ルールのYAML ファイルを使用します。
alert_rules.yml
groups:- name: example
rules:#ダウンの状態が5分間継続していたらアラートを出す- alert: instance_down
expr: up == 0
for: 5mlabels:severity: critical#通知内容
annotations:summary: “Instance {{ $labels.instance }} down”
description: “{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.”

Exastro93. 事前設定

3.1

事前設定

▌事前設定
ルールマッチングした場合メール通知するために以下の設定が必要となります。
Zabbix 実習編同様、事前設定が必要となりますので Exastro OASE Zabbix連携（実習）5.事前設定 を参照し以下の設定を行ってください。
アクション設定

メールドライバの追加

トークンの払い出し※テストリクエスト送信時に利用

ディシジョンテーブルファイルの作成

POINT
事前に環境構築マニュアル -ドライバインス
トール編-を参照のうえメールドライバをインストールしてください。

Exastro11

3.2

監視アダプタ設定 (1/3)

システム > 監視アダプタ▌監視先の追加
Prometheusアダプタを追加します。
① 監視先の追加を押下する② Prometheus Adapter ver1を押下する

１2※ドライバをインストールしていない場合、上記の画面は表示されません。
Exastro12

3.2

監視アダプタ設定 (2/3)

システム > 監視用アダプタ▌Prometheusで設定したアラートを使用する場合① Prometheus Adapter ver1の必要な情報を入力する

1

Exastro項目

設定値

名前(任意の文字列)

URI

http://××.×××.××.×××:9090/api/v1/
alerts(API(alerts)のエンドポイント)

ディシジョンテーブル名
選択

warning_test(イベントリクエストの実施対象となるディシジョンテーブル名をプルダウン名から選択する)

13

3.2

監視アダプタ設定 (3/3)

システム > 監視用アダプタ▌Prometheusで設定したアラートを使用する場合
Prometheus側で設定したアラートを使用する場合の設定値は何か変わる① と都合情報を入力する② 保存を押下する※設定値は対象環境によって変わりますのでご注意ください
1

項目
突合情報

設定値
監視情報

Prometheus項目

イベント発生日時
インスタンス情報
条件名

Prometheus項目

アラート名
対象
2
Exastro14

4. 作業実行4.1

ディシジョンテーブルファイル作成

ルール > ディシジョンテーブル

ディシジョンテーブルファイル作成
ディシジョンテーブルファイル
アップロード▌ディシジョンテーブルファイルのダウンロードおよび作成

テストリクエスト① 事前設定で作成したディシジョンテーブルの「ダウンロードボタン」を押下しプロダクション適用

ディシジョンテーブルファイルをダウンロードする② 以下の内容を記述作成する(詳細についてはExastro OASE_docsをご参照ください。)

アラート発火アクション実行結果の確認

ルール説明

Prometheus連携

リトライ間隔1

アラート

instance_down

リトライ回数1

対象

node-exporter:9090

抑止間隔

1

ルール名

rule_warning

抑止回数

1

発生事象

インスタンスダウン

条件回数

X

対処概要

アラート通知条件期間

X

アクション種別

mail(ver1)

大グループ

X

アクションパラメータ情報

MAIL_NAME=（メールドライバ名),MAIL_TO=,MAIL_CC=,MAIL_BCC=,
MAIL_TEMPLATE=(メールテンプレート名

優先順位

X

小グループ

X

X

優先順位

X

承認パラメータ情報
Exastro16

4.2

ディシジョンテーブルファイルのアップロード

ルール > ルール

ディシジョンテーブルファイル作成
ディシジョンテーブルファイル
アップロード▌ディシジョンテーブルのアップロード
作成したファイルを選択しアップロードします。

テストリクエスト

プロダクション適用① 「ファイル選択」を押下し作成したディシジョンテーブルファイルを選択する② 「アップロード」を押下する

アラート発火③ ステージング適用完了になっていることを確認する

アクション実行結果の確認

2

1

3

Exastro17

4.3

テストリクエスト

ルール > ルール

ディシジョンテーブルファイル作成
ディシジョンテーブルファイル
アップロード▌登録したルールのテスト① 「テストリクエスト」を押下する

テストリクエスト② ディシジョンテーブルタブを押下し作成したディシジョンテーブルをプロダクション適用

プルダウン選択する③ 設定タブを押下し作成したルールと合致する値を入力する

アラート発火④ 実行ボタンを押下しルールに合致したことを確認する

アクション実行結果の確認⑤ 閉じるボタンを押下しステータスを検証完了にする

３１

以下のように記述
アラート

instance_down

対象node-exporter:9090（環境によって読み替える必要有)

２
4
Exastro

５
18

4.4

プロダクション適用

ルール > ルール

ディシジョンテーブルファイル作成▌検証完了したルールを本番環境で使用できるようにする

ディシジョンテーブルファイル
アップロードテストリクエスト① チェックマークを押下しプロダクション適用を開始する② 作業ステータスがプロダクション適用完了になっていることを確認する

プロダクション適用

アラート発火アクション実行結果の確認

１２

Exastro19

4.5

アラート発火(1/2)▌node-exporter の起動と確認①node-exporterを起動する

ディシジョンテーブルファイル作成
ディシジョンテーブルファイル
アップロードテストリクエスト# docker-compose up –d node-exporter
Starting node-exporter ... done
②upになっていることを確認する# docker-compose psName
CommandState
Ports------------------------------------------------------------------------------------------node-exporter /bin/node_exporter
Up0.0.0.0:9100->9100/tcp,:::9100->9100/tcp
prometheus/bin/prometheus --config.f Up
0.0.0.0:9090->9090/tcp,:::...
9090->9090/tcp

Exastroプロダクション適用

アラート発火アクション実行結果の確認

20

4.5

アラート発火(2/2)▌node-exporter の停止(アラート発火)

ディシジョンテーブルファイル作成
ディシジョンテーブルファイル
アップロード③node-exporterを停止する

テストリクエスト# docker-compose stop node-exporter
Stopping node-exporter ... done

プロダクション適用④Exit2になっていることを確認する# docker-compose ps
NameCommandStatePorts------------------------------------------------------------------------------------------node-exporter /bin/node_exporter
Exit2
prometheus

Exastro/bin/prometheus --config.f...

Up

アラート発火アクション実行結果の確認

0.0.0.0:9090->9090/tcp,:::9090->9090/tcp

21

4.6

アクション実行結果の確認▌各種画面を確認する
OASE の「リクエスト履歴」と「アクション履歴」画面に該当のディシジョンテーブル名が上がっていることを確認する。

アクション設定（メールドライバ）で設定した件名・本文が届いていることを確認する。

ディシジョンテーブルファイル作成
ディシジョンテーブルファイル
アップロードテストリクエスト

プロダクション適用

アラート発火アクション実行結果の確認

Exastro22