すべてのシステム管理者の生活の中で、遅かれ早かれ、目と手がすべてのサーバーを追跡するのに十分ではなくなった瞬間が来ます。そして、いくつかの問題があり、それらを解決するために、私は本当に「その前に」何が起こったかを知りたいです。 そして、彼らが救助に来るのはここです-led
他のひどい監視システム。 長い間Nagiosを使用していましたが、それでも便利なことにモンスターと呼ぶことはできません。 その結果、この美しいシステムの機能のうち実際に使用されたのはわずか10%でした。 Muninに出会ったとき、それはすべて変わりました。小さなネットワークを監視するための優れたソリューションです。
システム自体は、2つの独立した部分で構成されます。サーバー(munin自体)は、すべてのデータが収集される1台のマシンにインストールされ、監視対象のマシンにインストールされる小さなmunin-nodeデーモンです。 このデーモン自体は、Net :: Serverを使用してポート4949でリッスンする小さなPerlスクリプトです。 起動すると、/ etc / munin / pluginsにインストールされているプラグインを調べ、その名前を記憶します。 5分ごとに、muninサーバーはすべてのノードに接続し、すべてのプラグインから情報を受け取り、rrdtoolデータベースに保存します。 したがって、MuninはMySQLを動作させる必要さえありません。
プラグインは、Muninで最も美味しいものです。 実装が非常にシンプルであるため、システムで必要なすべてのプラグインを記述でき、ドキュメントを読むのに最小限の時間しかかかりません。 どうやらこれは、比較的若いシステムがすでに多数の既製のプラグインを使用して成長しているという事実を説明しています 。
実際、各プラグインは実行可能ファイルであり、出力ではパラメーターの現在の値を提供する必要があります。
これを理解する最も簡単な方法は、最も単純な例です。
ネットワークのリーダーシップについては、ネットワークのすべての「ライフアクティビティ」が、何が起こっているかを迅速に評価できる明確なグラフで表されていることが本当に気に入っています。 そして、私に依頼された最初のスケジュールは、現在インターネットに接続している人の数でした。
NASはFreeBSD(MPD)を使用します。 クライアントはPPTPを介して接続されているため、既存のngインターフェイスの数はオンラインのサブスクライバーの数と正確に一致します(mpd5は「不要なインターフェイスをスイープする」ことを学習したため)。 つまり、コマンドで必要な値を取得できます
ifconfig | grep ^ ng | wc -l
それだけです プラグインを実装するにはこれで十分です。 この場合、shはプラグインを実装するのに十分です(ただし、bash / perl / ruby / what-you-want-and-knowを使用してプラグインを作成することを禁止する人はいません)。
プラグイン自体のコードは次のとおりです。
#!/ bin / sh
#
#課金ユーザー数を監視するためのプラグイン
#
if ["$ 1" = "config"]; それから
echo 'graph_title課金ユーザー'
echo 'graph_vlabelユーザー'
echo 'graph_noscale true'
echo 'graph_category請求書'
echo 'users.label users'
echo 'graph_infoこのグラフは、インターネットに接続しているユーザーの数を示します';
echo 'users.infoユーザー数'
出口0
fi
echo -n„ users.value“
echo `/ sbin / ifconfig | / usr / bin / grep '\- > ' | wc -l`
したがって、スクリプトによって処理される唯一のパラメーターはマジックワードconfigであることがわかります。 これは、最初のリクエストでmuninプラグインに渡すものです。 それに応じて、スクリプトはrrdtoolの将来のスケジュール仕様を返す必要があります。 完全なドキュメントについては、Muninのプラグインの作成に関する素晴らしいチュートリアルを参照しますが、ここでは使用するパラメーターのみを分析します。
graph_title Billing users
は、単にグラフのタイトルです。 少なくともFreeBSDでは、rrdtoolはすばらしい強力なツールでは正しく動作しないため、英語を使用する必要があることに注意してください。
graph_vlabel users
縦軸で、
users
パラメーターの値を延期します。
graph_noscale true
-rrdtoolを無効にしてグラフをスケーリングします。 これは、実際の値が軸に沿ってプロットされるので便利です(2 * 10 3の代わりに2000ユーザー)。
graph_category Billing
-グラフのカテゴリ。 1つのカテゴリのグラフは1ページに形成されます。
users.label users
軸の名前「users」。 チャートに収まるほど短くする必要があります。
users.info Users amount
-軸の説明。
私にとって非常に楽しい発見は、munin-node-winの存在でした。これにより、わずかではありますが、Windowsサーバーを監視できます。
そして結論として、実際に出て行くものについてのいくつかの言葉。 デモの方が1000語上手いと思います。出力では、スクリプトのヒントが1つもない生成されたhtmlがあります。
便利なリンク
muninexchange.projects.linpro.no -Muninの既製プラグインのコレクション。
ネットワーク監視システムの比較は、Wikipediaの非常に有益な表であり、1つまたは別の監視システムがどれほど適しているかをすばやく評価できます。
linux-ru.blogspot.com/2007/02/munin.html-ロシア語でのMuninのインストールについて。
munin.projects.linpro.no/wiki/HowToContactNagios-NagiosとMuninの友達