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_swift
52c52  
< 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=$OPTARG

NRPEの設定

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_swift

2番目のテストは、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'

投稿者: ブライアン・キング

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。