職場では、しばしば疑問が生じます-DHCPサーバーはうまく機能しますか? 私はインターネットプロバイダーで働いており、DHCPはクライアントネットワークを提供しています。 歴史的に、次の作業スキームが開発されました。2台のDHCPサーバーがあり、構成は請求サーバーで生成され、rsyncを使用してサーバーにアップロードされます。 Centosを作業システムとして使用し、ISC DHCPをサーバーとして使用します。 フェールオーバーは構成または構成されていません-必要はありません。 サーバーが同一の構成で動作していれば十分です。 サブスクライバーのポピーアドレスへのバインドが使用されます。機器が変更された場合、サブスクライバーは個人アカウントにログインして新しいポピーを指定することができます。 構成は5分ごとに1回生成されます。新しい構成のmd5合計が変更されると、サービスが再起動します。 このスキームは数年間機能しており、問題はありません。
構成が構文的に正しく生成されないという問題が定期的に発生し、再起動後にサービスがクラッシュしました。 再起動スクリプトに構文チェックを追加し(dhcpd -t)、クラッシュが停止しました。 まあ、請求側からは小切手でハングアップしています-住所、ケシなどの存在のために
リクエストがネットワークから送信されたが、答えがネットワークに届かない状況に数回直面しました。 アグリゲーターは非難され、彼らは治療されました。 この間ずっと、単純なグラフィカル分析が欠けていました-DHCPサーバーがどのように機能するか。 問題を解体した経験からわかるように(ログの通常の表示とサーバーが送受信するメッセージの数の評価)、すでにネットワーク上の問題の存在を大まかに推定できます。 まあ、原則として、スケジュールを指示で夜間オペレーターに表示することができます-インジケーターに急激な変化がある場合は、管理者に電話してください。
したがって、私たちは自分自身のためにタスクを策定します。 標準に従って、DHCPには次のメッセージタイプが存在します。
DHCPDISCOVER-アドレスのクライアント要求
DHCPOFFER-アドレスを取得するためのサーバー提供
DHCPREQUEST-アドレスのクライアント要求(DHCPOFFERのサーバーによって提案された)
DHCPACK-アドレスの発行のサーバー確認
DHCPDECLINE-クライアントは提案されたアドレスの受信を拒否します
DHCPNAK-サーバーは要求されたアドレスの発行を拒否します
DHCPRELEASE-アドレスのリリースに関するクライアントへの通知
DHCPINFORM-追加パラメーターのクライアント要求
各タイプのメッセージのグラフを作成します。
サーバーログファイルを情報源として使用できます。 別のソースは見つかりませんでした。特別なこともできません。dhcpがこの情報をどこかに蓄積できると仮定すると、そもそもそのような統計を抽出する手段があり、2番目に、絶え間ないプロセスの再起動がその有用性をゼロに減らします。
私たちのネットワークでは、dhcpサーバーは独立した仮想マシンであり、グラフィックスを構築するマシン(mrtgと呼ばれる)も独立した仮想マシンです。 つまり マシン間で情報を転送する方法が必要です。
その結果、まさにそのようなスキームを実装しました。 dhcpサーバーで、構成に追加します。
log-facility local6
syslog(これらの仮想マシンはまだCentOS 5で動作します。1年前のマシンの稼働時間は長くなります。1年前に私たちの街で1か月間ライトがオフにならなかった場合はさらに多くなります)。
*.info;mail.none;authpriv.none;cron.none;local6.none /var/log/messages local6.* /var/log/dhcpd.log local6.* /var/log/dhcpd-stat.log
つまり 禁止local6は、共通ファイル/ var / log / messagesに出力され、同時に2つのファイルに出力されます。
次のステップは、mrtgにパスワードなしでキーでdhcpにアクセスするように教えることです。 さて、mrtgには次のようなスクリプトがあります。
このスクリプトの仕組みを説明します。
dhcpサーバーごとに、Webサーバーに個別のディレクトリが作成されます。 次に、サーバーから現在のdhcpd-stat.logをscpし、次のコマンドでクリアします。 次回、過去のログファイルを取得するため。 スクリプトは5分ごとにクラウンから呼び出されるため、統計情報は5分間の作業でログを処理します。 コピーコマンドとクリーンアップコマンドの間に経過する間に、失われたデータがログに記録されることは間違いありません。 しかし、天気のいくつかの行はそうではないと思います。
同時に、dhcpログが2つのファイルに表示される理由-質問に答えます。 最初のログは通常のログで、標準のlogrotateでローテーションされます。常に対応しているわけではなく、人を対象としています-読む必要がある場合。 2番目はスクリプト用で、5分ごとにクリアされます。
スクリプトでは、原則として、すべてが明確になっている必要があります.rrdデータベースを初期化し、存在しない場合は、awkを使用して各タイプのメッセージの数を計算し、rrdデータベースに入れてから、標準の4イメージ(日次チャート、週次チャート、月次チャート)を作成します年間スケジュール。 さて、index.shtmlがなければ作成します。
スクリプトが機能し始め、チャートが描かれます。 今すぐに見ることができます-dhcpは機能するかどうか...
チャートは次のようになります。
