11.1.5.2. カスタムメーターエージェントを用いたカスタムメーターのご利用方法

ここでは、カスタムメーターエージェントを用いてJP1リージョンの仮想サーバーインスタンスの5分毎のロードアベレージをモニタリングで監視する方法について説明します。

設定ファイルを設定する

インストールしたカスタムメーターエージェントをご利用頂くには、設定ファイルを設定する必要があります。

注釈

インストール時、カスタムメーターエージェントの設定ファイルは /etc/ecl2mond/ecl2mond.conf に作成されます。

設定ファイルの各種パラメータ

パラメータ名 必須/任意 データ形式 デフォルト値 指定可能値 パラメータ説明
monitoringUrl 必須 文字列 なし   MonitoringのAPIエンドポイント
interval 任意 整数 5 1~3599 サンプルの収集、送信間隔(分)
authUrl 必須 文字列 なし   KeystoneのAPIエンドポイント
authInterval 任意 整数 60 5~3599 トークン取得間隔(分)
resourceId 必須 文字列 なし   監視対象のリソースID
tenantId 必須 文字列 なし   テナントID
userName 必須 文字列 なし   API鍵
password 必須 文字列 なし   API秘密鍵
meters 必須 文字列配列 なし   収集対象のメーター名
logLevel 任意 文字列 INFO "TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL" ログレベル

注釈

トークン取得間隔は、基本的にはデフォルト値を設定して下さい。
トークン取得間隔にトークンの有効期限より長い時間を指定した場合は、カスタムメーターへの値登録時にトークン有効期限切れによる認証エラーが発生したタイミングで、カスタムメーターエージェント内でトークンの再取得を行います。
トークンの有効期限については、SSSのAPIリファレンス をご確認下さい。

APIエンドポイントを調べる

Monitoring、Keystone のAPIエンドポイントの情報は、APIリファレンス をご確認下さい。

監視対象のリソースIDを調べる

EnterpriseCloud2.0上のリソースをモニタリングの監視対象とする場合、リソースIDはモニタリングの画面上で確認可能です。
モニタリングの画面上でサービスを選択し、対象のリソースを参照します。この時、リソース名の横にグレーアウトされて表示されるものがリソースIDです。
リソースIDの取得

注釈

EnterpriseCloud2.0以外のサーバーをモニタリングの監視対象とする場合、任意の文字列をリソースIDに指定下さい。
リソースIDに指定した文字列をリソース名とするカスタムリソースが作成されます。

テナントID、API鍵、API秘密鍵を調べる

テナントID、API鍵、API秘密鍵の確認方法は、各種情報の確認とAPI鍵の更新 をご参照下さい。

収集対象のメーター名を調べる

収集対象メーターの情報は、サービス説明書 の「カスタムメーターエージェントで取得するメーター」の表をご確認下さい。
  • ディスク関連メーターの device名 は、 /proc/diskstats よりご確認頂けます。
# cat /proc/diskstats
252       0 vda 7539 9 379254 35296 430860 34304 4178175 3008943 0 1144564 3043883
252       1 vda1 1126 1 56425 3590 1043 0 4216 1273 0 2419 4862
252       2 vda2 6322 8 321237 31502 339169 34304 4173959 3003522 0 1138976 3034675
253       0 dm-0 6049 0 317373 31287 375337 0 4173959 3315145 0 1143978 3346433
253       1 dm-1 187 0 3040 233 0 0 0 0 0 233 233
ディスク vda1 の実行中のI/O数を収集するメーター名は disk.vda1.currently.ios.count となります。
  • ネットワーク関連メーターの nwif名 は、 /proc/net/dev よりご確認頂けます。
# cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
eth0: 6059364541 15552704    0    0    0     0          0         0 2258708075 14096298    0    0    0     0       0          0
lo:   23020     249    0    0    0     0          0         0    23020     249    0    0    0     0       0          0
ネットワークインターフェイス eth0 の受信バイト数を収集するメーター名は network.eth0.receive.bytes となります。

設定ファイルの設定例

monitoringUrl: Enter the ECL2.0 Monitoring API Endpoint URL
# ex. "https://monitoring-jp1-ecl.api.ntt.com/"
monitoringUrl = "https://monitoring-jp1-ecl.api.ntt.com/"

# interval: Specify the time interval to collect and send the value by the agent
# [ 1 - 3599 ] minutes, default: 5
interval = 5

# authUrl: Enter the ECL2.0 Keystone API Endpoint URL
# ex. "https://keystone-jp1-ecl.api.ntt.com/"
authUrl = "https://keystone-jp1-ecl.api.ntt.com/"

# authInterval: Specify the time interval to refresh auth token
# [ 5 - 3599 ] min, default: 60
authInterval = 60

# resourceId: Enter the target resource id for custom meter creation
# ex. nova_12ab-12cd56gh9-ab34ef78i-34cd
resourceId = "nova_6708b574-434d-4476-b8c1-2a128ab5edc1"

# tenantId: Enter your tenant id
tenantId = "<tenantID>"

# userName: Enter your API key
userName = "<API key>"

# password: Enter your API secret key
password = "<API secret key>"

meters = [
  "loadavg.1.count",
]

動作を確認する

起動コマンドとオプション

# ecl2mond [options]

収集されるサンプル値を確認する

まず、dry-run オプションを指定して実行することで、サンプル値の収集を確認します。
サンプル値の収集結果が、以下のように標準出力に出力されます。
# ecl2mond -m dry-run
+------+---------------------------------------------+-----------------+----------------+----------+
| No   | Name                                        | Value           | Unit           | Type     |
+------+---------------------------------------------+-----------------+----------------+----------+
|    1 |                             loadavg.1.count |            0.00 |          count |    gauge |
+------+---------------------------------------------+-----------------+----------------+----------+
  • 出力される各項目の内容
名称 内容
No メーター番号
Name メーター名
Value サンプル値
Unit メーター単位
Type メータータイプ

注釈

差分を収集するメーターの場合は、dry-run を2度実行して下さい。 2度目の実行時に、1度目の実行との差分からサンプル値を算出します。

カスタムメーターの作成とサンプル値の送信を確認する

次に、run-once オプションを指定して実行し、カスタムメーター作成リクエストをモニタリングサーバーへ送信します。
# ecl2mond -m run-once
+------+---------------------------------------------+-----------------+----------------+----------+
| No   | Name                                        | Value           | Unit           | Type     |
+------+---------------------------------------------+-----------------+----------------+----------+
|    1 |                             loadavg.1.count |            0.00 |          count |    gauge |
+------+---------------------------------------------+-----------------+----------------+----------+
Finished.
モニタリング画面上で、カスタムメーターが作成されたことを確認します。
作成されたカスタムメーター確認

注釈

送信されたデータをモニタリンググラフにて確認するには数分時間がかかる場合がございます。

注釈

1回目の実行時には、カスタムメーター作成のみが実施され、サンプル値は登録されません。

再度、run-once オプションを指定して実行し、サンプル値を1度だけモニタリングサーバーへ送信します。
# ecl2mond -m run-once
+------+---------------------------------------------+-----------------+----------------+----------+
| No   | Name                                        | Value           | Unit           | Type     |
+------+---------------------------------------------+-----------------+----------------+----------+
|    1 |                             loadavg.1.count |            0.00 |          count |    gauge |
+------+---------------------------------------------+-----------------+----------------+----------+
Finished.
モニタリング画面上で、カスタムメーターにサンプル値が登録されたことを確認します。
カスタムメーターにサンプル値が登録されていることを確認

注釈

※期待するメーターが表示されない場合
カスタムメーターエージェントご利用以前に、カスタムメーターエージェントで収集するメーター名と同一の文字列をAPIの counter_name に指定してカスタムメーターを作成していないかご確認ください。
その場合、API実行時の display_name で指定していたものがメーターの表示名となり、モニタリング画面上のメーター表示名とカスタムメーターエージェントのメーター名が異なりますのでご注意下さい。
メーター名を統一するように修正する場合、再度カスタムメーターAPIを実行し、display_name パラメータにカスタムメーターエージェントのメーター名を指定してください。

バックグラウンド起動、停止する

カスタムメーターエージェントで収集したサンプル値を継続してモニタリングサーバーへ登録するには、エージェントをバックグラウンド起動させます。
  • バックグラウンド起動
# service ecl2mond start
  • バックグラウンド起動の停止
# service ecl2mond stop
  • バックグラウンド起動の確認
# service ecl2mond status

ログを確認する

カスタムメーターエージェントをバックグラウンド起動した場合、/var/log/ecl2mond.log にログが出力されます。

サービスの自動起動を設定する

サーバー起動時にカスタムメーターエージェントが自動起動するように設定することで、サーバーを再起動した場合でもモニタリングで継続して監視することが出来ます。
  • 自動起動設定
# systemctl enable ecl2mond.service
  • 自動起動設定の解除
# systemctl disable ecl2mond.service
  • 自動起動設定の確認
# systemctl is-enabled ecl2mond.service

注釈

インストール直後は、自動起動が設定されている場合があります。

カスタムメーターのグラフを見る

カスタムメーターエージェントによってモニタリングサーバーへ送られたデータは、Enterprise Cloud 2.0のモニタリングサービスによってグラフ表示することができます。
確認方法については、 メーター(監視項目)の確認方法 をご参照ください。
設定ファイルで指定したリソースに対してメーターが追加されていますので、そちらを選択していただくことで、グラフが表示されます。

カスタムメーターのアラーム設定

標準のメーターと同様にアラーム設定することができます。
設定方法については、 モニタリングアラームのご利用方法 をご参照ください。