web-dev-qa-db-ja.com

カスタムビュー/テンプレートを備えた監視ツール?

私は現在、zabbixやicingaのようなオープンソースの監視ソリューションを探しています。これらはどちらもハードウェアとソフトウェアの一般的な状態を監視するのに非常に強力なようですが、重要な機能に関する情報が不足しているか、ドキュメントを読んだだけではどのように機能するかわかりませんでした。

このような監視ツールにジョブキューを統合したいと思います。一方では、一般的な可用性などのキューの要約情報を知る必要があります。これらのツールの1つと統合しても問題はありません。一方、キューで何が起こっているかについての追加の詳細情報が欲しいです。

キューに保存されている各ジョブに関する情報など、任意の量の詳細データを返すことができるプラグインを開発したいと思います。カスタムビュー/テンプレートに入力して、これらの監視の1つにうまく統合できます。ツール。

これは、zabbix、icinga、またはその他のオープンソースの監視ソリューションで可能ですか?

1
harald

Nagiosを検討しましたか?これにより、プラグインを(任意の言語で)記述し、通常、それらを監視フレームワークに簡単に統合できます。実際、Nagiosを実行しているすべてのユーザーがいると、必要なことを実行するプラグインが存在する可能性があります。

ジョブまたは特定のコンテンツに関するより具体的な情報をキューに格納するには、Nagiosコレクションエージェントを使用してサーバーから必要なデータを取得する簡単なWebCGIスクリプトを作成することを検討してください。

NagiosはApacheで実行されるため、これは可能なアプローチである可能性があります。

2
mdpc

nagiosタグを追加したので、それとNRPEの例を示します。

まず、好きな言語で独自のプラグインを作成します。リターンコードを覚えておいてください:

0 - OK
1 - WARNING
2 - CRITICAL
3 - UNKNOWN

Redisでリストの長さを監視するためのシェルスクリプトスニペットは次のとおりです。

#!/bin/sh

help()
{
    echo "Usage: $0 <Host> <port> <key> -w <warning> -c <critical>"
}

case "$1" in
    --help)
        help
        exit
        ;;
esac

if [ $# -eq 0 ]; then
    help
    exit 3
fi
if [ $# -ne "7" ]; then
    help
    exit 4
fi
if [ $4 !="-w" -o $6 !="-c" ]; then
    help
    exit 5
fi

REDIS_CLI="/usr/local/bin/redis-cli"
LLEN=`echo "$3" | $REDIS_CLI -h $1 -p $2 llen`
if [ $LLEN -lt $5 ]; then
    echo "$3.llen:$2 OK - $LLEN | $3.llen:$2=$LLEN;$5;$7"
    exit 0
Elif [ $LLEN -ge $5 -a $LLEN -lt $7 ]; then
    echo "$3.llen:$2 WARNING - $LLEN | $3.llen:$2=$LLEN;$5;$7"
    exit 1
Elif [ $LLEN -ge "$7" ]; then
    echo "$3.llen:$2 CRITICAL - $LLEN | $3.llen:$2=$LLEN;$5;$7"
    exit 2
fi

次に、/etc/nagios/nrpe.cfgで次のようなコマンドを定義します。

command[check_queue]=/usr/lib64/nagios/plugins/check_queue.sh <Host> <port> \
    <queue_name> -w <warning_threshold> -c <critical_threshold>

そして第三に、Nagiosサーバーでは、このプラグインは次のコマンドで呼び出すことができます。

define service{
    use                     generic-service
    Host_name               <remote_server>
    service_description     <queue_name>
    check_command           check_nrpe!check_queue
    contact_groups          admin-sms
}
1
quanta