OpenStack · 1 min read · Oct 18, 2025
Opsviewを使用したOpenStack Swiftの監視
Opsviewを使用したOpenStack Swiftの監視
出発点として、これは使用しているSwiftの実装に関係なく機能するはずなので、「フロントドア」チェックを実行します。
tempauthではなく、Keystoneを使用して認証バージョン2.0を使用していることに注意してください。
以下は、OpsviewサーバーとOpenStackオブジェクトストレージ(Swift)がすでに構成され、実行されていることを前提としています。
前提条件のセットアップタスク
チェックを実行するマシンには、SwiftクライアントとOpsviewエージェントが必要です。Swiftプロキシサーバーから監視する予定の場合は、後者のみが必要です。Opsviewサーバーからチェックを実行する予定の場合は、前者が必要です。
Swiftクライアントのインストール
これにはPythonがインストールされている必要があります。ソースを取得してください:
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(両方とも)
UbuntuにOpsviewエージェントをインストール
echo "deb http://downloads.opsview.com/opsview-core/latest/apt precise
main" > /etc/apt/sources.list.d/opsview-core.list
apt-get update
apt-get install opsview-agentチェックの取得
プラグインの詳細はここにあります:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
直接ダウンロードリンク:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
これを/usr/local/nagios/libexec(Opsviewエージェント上)に配置し、ファイルを実行可能にします(
chmod +x check_swift)およびnagiosが所有します(
chmod nagios:nagios check_swift)。
環境変数
ST_AUTH(テナント)、ST_USER、ST_KEY環境変数がまだ設定されていない場合は、次のようにチェックを適宜修正することをお勧めします(以下のdiffに従って):
diff check_swift.orig check_swift52c52
< export OS_AUTH_URL=$OPTARG
> export ST_AUTH=$OPTARG
55c55
< export OS_USERNAME=$OPTARG
---
> export ST_USER=$OPTARG
58c58
< export OS_PASSWORD=$OPTARG
---
> export ST_KEY=$OPTARGNRPEの設定
Opsviewサーバーからチェックを実行することもできますが(Swiftクライアントをインストールした場合)、NRPEを介してOpsviewエージェントで実行される可能性が高くなります。
したがって、OpsviewエージェントのNRPE構成にサービスチェックコマンドを追加する必要があります:
echo "command[check_swift]=/usr/local/nagios/libexec/check_swift \$ARG1\$" >> /usr/local/nagios/etc/nrpe_local/override.cfg
/etc/init.d/opsview-agent restartチェックの構成
Opsviewサーバーで新しいサービスチェックを定義する必要があります。図1は完成した例を示しています。
図1 – サービスチェック定義
コピー&ペーストが好きな場合、check_nrpeへの引数は:
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'適用可能な値に置き換えるか、ホストレベルでオーバーライドします。
チェックの実行
図2はサービスチェックのホストレベルのビューを示しています(-c containerの値を無視しているようです)。
図2 – サービスチェック結果
これで、OpenStack Swiftの基本的な監視が迅速かつ簡単に行えます。
トラブルシューティング
動作しない場合は、まずSwiftクライアントを使用してアップロードを実行できるか確認してください:
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swift2番目のテストは、Nagiosプラグインがゼロの終了コードを返すことを確認することです:
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo $?プラグインは出力を/dev/nullにリダイレクトするため、このステップが失敗した場合は、Swiftエラーメッセージが表示されるようにスクリプトのコピーを調整する必要があるかもしれません。
最後にNRPEをテストします:
check_nrpe -H localhost -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container -s 128'投稿者: ブライアン・キング
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。