スクリプトを用いたカスタムメーターのご利用方法

ここでは、APIリファレンスにあるサンプルスクリプト(custom_meter_scripts.tar.gz)を元にカスタムメーターを作成する方法について説明します。

カスタムメーターを作成してみる

今回利用するスクリプトは、サーバーインスタンスのメモリー情報をカスタムメーターとしてモニタリング基盤へ登録を行います。
スクリプトの内容は、お客さまの環境に合わせて修正してください。

サンプルスクリプトのダウンロード

メモリー情報を取得したいサーバーインスタンス上で、サンプルスクリプトをダウンロードします。

# curl -LO https://sdpf.ntt.com/docs/files/monitoring/custom_meter_scripts.tar.gz

ダウンロードできたら、圧縮ファイルを展開します。 展開先のパスは適宜修正ください。

# tar zxvf custom_meter_scripts.tar.gz

上記ファイルを展開すると、以下のようなファイルが存在します。

custom_meter_scripts
├── bin
│   ├── save_token
│   └── send_custom_meter
├── load_average_01.sh
├── load_average_05.sh
├── load_average_15.sh
├── use_memory.sh
├── ping_status.sh
├── ping_rtt_avg.sh
├── save_token.sh
├── setup.conf
└── token

項目

説明

お客さまでの変更要否

save_token

トークンを取得するためのスクリプトです。
save_token.shによってコールされますので、編集は不要です。

不要

send_custom_meter

カスタムメーターへ取得した値を送信するスクリプトです。
各スクリプトによってコールされますので、編集は不要です。

不要

load_average_01.sh

uptime コマンドから1分平均のload averageの値を取得し、カスタムメーターとして送信します。

適宜変更

load_average_05.sh

uptime コマンドから5分平均のload averageの値を取得し、カスタムメーターとして送信します。

適宜変更

load_average_15.sh

uptime コマンドから15分平均のload averageの値を取得し、カスタムメーターとして送信します。

適宜変更

use_memory.sh

free -m コマンドから使用中のメモリー値を取得し、カスタムメーターとして送信します。

適宜変更

ping_status.sh

ping コマンドでパケットを3回送信した結果を取得し、カスタムメーターとして送信します(成功=0、失敗=1)。

適宜変更

ping_rtt_avg.sh

ping コマンドでパケットを3回送信してRTTの平均値を取得し、カスタムメーターとして送信します。

適宜変更

save_token.sh

APIによってトークンを取得します。

不要

setup.conf

サンプルスクリプトを実行するためのパラメータを設定します。

必要

token

トークンを記録するファイルです。
save_token.shよってトークンが記録されますので、編集は不要です。

不要

環境設定

setup.confを編集し、お客さまの環境でAPIを送信できるようにします。 ここでは、JP2リージョンで実施する環境に設定しています。 テナントIDやAPI鍵はお客さまの環境に合わせて設定してください。

# vi setup.conf

export AUTH_URL=https://keystone-jp2-ecl.api.ntt.com
export MONITORING_URL=https://monitoring-jp2-ecl.api.ntt.com
export TENANT_ID=<tenantID>
export USER_NAME=<API key>
export PASSWORD=<API secret key>

トークンの取得

環境設定が終わったら、APIエンドポイントからトークンを取得します。 正常にAPIエンドポイントと通信ができていれば、取得されたトークンが、tokenファイルに記載されます。

# sh save_token.sh
# cat token
8ee901ded...488efc28050

スクリプトファイルの編集

次にスクリプトファイルを編集します。ここでは例として、use_memory.shを編集します。

  • use_memory.sh

#!/bin/sh

. ./setup.conf

free -m | grep Mem: | awk {'print $3'} | send_custom_meter (RESOURCE_ID) (METER_NAME) (METER_TYPE) (METER_UNIT)

設定項目

説明

RESOURCE_ID

カスタムメーターを紐づけるリソースのIDを設定します。

モニタリング対象メニューのリソースに対してカスタムメーターを登録する場合は、そのリソースのIDを指定します。

モニタリング対象外メニューのリソースに対してカスタムメーターを登録する場合は、任意の文字列を指定します。

METER_NAME

カスタムメーターの名前を設定します。

METER_TYPE

カスタムメーターのデータタイプを設定します。これは値がどんな種類かラベル付けするものです。

タイプは以下の通りです。

  • cumulative: 累積値

  • delta: 差分値

  • gauge: 瞬時値

METER_UNIT

カスタムメーター値の単位を設定します。

注釈

モニタリング対象メニューのリソースのIDはモニタリングの画面上で確認可能です。

リソースIDの取得

データの取得と送信

前述で設定したスクリプトを実行します。 これによって、データの取得とモニタリング基盤へのデータ送信が完了します。 ただし、初回起動時はカスタムメーターの受け皿を作成しますので、データは保存されません。

# sh use_memory.sh

定期的にデータを送信するためには、上記スクリプトをcronで設定します。 モニタリング基盤は、最短で1分間隔のデータ受信が可能です。1分より短い場合には、受け付けられませんのでご注意ください。

# crontab -e
*/5 * * * * cd /root/custom_meter_scripts; sh use_memory.sh

注釈

送信されたデータがモニタリンググラフに反映されるまで数分時間かかる場合がございます。

注釈

最後の値登録を実施後、24時間何もサンプル値登録がなかった場合、非アクティブカスタムメーターとなります。非アクティブとなったカスタムメーターがデフォルトの保存期間31日を超過して自動的に削除された場合、当該カスタムメーターに対して作成していたアラームも同時に自動削除されます。アドバンスドプランのメーター保存期間延長機能により、保存期間を397日に延長できます。(※カスタムメーターは自動削除以外にユーザーによる操作で削除することはできません。)


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

APIによってモニタリングサーバーへ送られたデータは、Smart Data Platformのモニタリングサービスによってグラフ表示することができます。
確認方法については、 メーター(監視項目)の確認方法 をご参照ください。
API送信で指定したリソースに対して登録したメーターが追加されていますので、そちらを選択していただくことで、グラフが表示されます。
カスタムメーターグラフ

注釈

モニタリング対象メニュー以外のメニューに対してカスタムメーターを登録された場合、カスタムメーターのグラフは「カスタムリソース」タブに表示されます。


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

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