概要
企業の日々の運用・保守では、多種多様な機器、異なるログ形式、膨大なログ量、多数のアラームが存在し、これらのログをどのように一元的に保管するかが課題となっています。大量のログを表示および分析するにはどうすればよいですか? 従来のログデバイスでは、さまざまなログ形式でのデータアクセスのニーズを満たすことができず、収集したログをさらに分析することもできますが、最終的にこれらの問題点を完全に解決できるHonghuを選択しました。
この記事は、運用および保守担当者が障害やセキュリティの問題を迅速に特定できるように、ネットワーク機器からログを収集および分析します。
監視対象
インフラストラクチャ内のスイッチやファイアウォールなどのネットワークデバイスからログを収集します
ネットワークデバイスのログインセキュリティを監視する
ネットワークデバイス構成のセキュリティを監視する
ネットワークデバイスインターフェースのステータスを監視する
アーキテクチャの説明
コンポーネントの説明
ネットワーク機器: スイッチ、ルーター、ファイアウォール、および syslog モードをサポートするその他の機器
Honhu プラットフォーム: データコレクターには Vector が使用されます。データセットは、さまざまなデータを保存するために使用されます。クエリ。データセット内のデータをクエリするために使用されます。
データインポートプロセス
ネットワーク デバイスは syslog を通じてデータを Honhu プラットフォームに送信し、Vector がデータを収集した後、それをデータ セットに保存してクエリ用のデータを提供します。
Syslogデータインポート設定
Honhu プラットフォームはインターネットにアクセスできる必要があることに注意してください。
Honhu での Syslog データ収集の構成
ベクターのインストール
インストール後にベクターのバージョンをチェックして、インストールが成功したことを確認します。
Vector をインストールした後、Vector を直接実行すると、システムはまず /usr/bin でコマンドを探しますが、このディレクトリにない場合は見つかりません。現時点では、見つからないコマンド用のリンク ファイルを作成し、/usr/bin にリンクする必要があります。
(特定のコードについては、Honghu 技術交換グループに参加し、ナレッジ ベースから入手してください)
Honhu プラットフォームにログインし、[データ管理] > [新しいデータセットを作成]
データソース名を編集し、上で作成した「スイッチ」としてデータセット範囲を選択すると有効になります。
syslog.toml スクリプトを作成します。フィールドを調整する必要があります
address = "0.0.0.0:514": 0.0.0.0 はすべてのホストから送信された syslog を受信することを意味し、514 は受信ポートを意味します (syslog のデフォルトは 514)
mode = "udp": syslog を受信するためのプロトコルを示します。syslog のデフォルトは udp)
._target_table = "switch" : 上記で作成したデータセットの名前を示します
address = "172.20.6.111:9092": Honhu の IP と対応するポート
変更した syslog スクリプトを実行し、実行を続けます。
(特定のコードについては、Honghu 技術交換グループに参加し、ナレッジ ベースから入手してください)
スイッチにログインして syslog をトリガーします(注: スイッチにログインしてコマンドを入力すると、自動的に syslog がトリガーされます)。Honhu プラットフォームにログインして、データがスイッチ データセットにインポートされているかどうかを確認します。以下の図に示すように、イベント数はデータのインポートが成功したことを示しています。
ベクトルを介してスイッチ データ セットにインポートされたデータをクエリします
ネットワークデバイス構成の syslog
H3C スイッチの syslog 構成
ログをオンにして、Honghu プラットフォームに送信する必要があります。デフォルトでは、syslog は udp514 ポート経由でログを送信します。
IP アドレス 172.20.6.111 のホストをログ ホストとして使用し、loghost チャネルを使用して情報を送信します (オプション、システムのデフォルトは
loghost チャネル)、ログホスト記録ツールとして local5 を使用します。
注: ここでは、ログの送信元アドレスを指定できますが、指定する必要はありませんが、識別の便宜上、通常は指定することをお勧めします
注: 管理ポートを介してログを送信する場合、管理ポートは VPN-Instance で構成されているため、VPN-Instance を指定する必要があります。
出力ルールを設定します。情報レベル以上のすべてのモジュールとログ情報がログ ホストに出力されることを許可します。
ここにある実際の構成コマンド
Ciscoスイッチのsyslog設定
Cisco ネットワーク デバイスの設定コマンドは通常、次のとおりです。
グローバルモード <config> の場合
ここにある実際の構成コマンド
フィールド抽出
H3C スイッチには独自のログ形式があるため、Honghu はすべてのフィールドを抽出しないため、データは H3C スイッチのログ形式に基づいて抽出する必要があります。フィールド抽出のロジックは、最初に SQL ステートメントを通じてビューを作成することです。ビューが生成された後、ビュー内のフィールドを直接呼び出すことができ、実際のログは元のデータ セットに保存されたままになります。
まず、H3C スイッチのログ形式を分析してみましょう。公式の説明ログの形式は次のとおりです。
実際のログ形式分析、抽出する必要があるフィールド
switch_syslog、ここは作成する必要があるビューの名前です
6 行目以降の switch._time スクリプトでは、switch はデータを抽出する必要がある元のデータセットを参照しているため、データセット名に応じてここで置き換える必要があります。
高レベルのクエリを実行し、成功しました
ビューでは、作成したswitch_syslogのビューが表示されます。
テストのために検索ステートメントを実行すると、赤い部分に抽出したフィールドが表示されます。
チャート表示
ダッシュボード>新しいダッシュボード
作成した
設備変更回数統計
新しいグラフ>設備交換回数統計
グラフの種類を選択します: 円グラフ
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
期間: 30 日を選択します。自分の状況に応じて調整できます。
グラフを生成した後、過去 30 日間にどのデバイスの設定が何回変更されたかを確認できます。
目的: 例えば、過去 1 か月間メンテナンスが行われておらず、デバイスの変更が多すぎると、異常が発生します。誰がログインし、何をしたかをクエリすることで、これらの動作が発生していないかどうかを判断できます。正常で準拠しています。
デバイスのログイン統計
新しいアイコン > ユーザーのログイン数の統計
グラフの種類を選択します: 棒グラフ
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
期間: 30 日を選択します。自分の状況に応じて調整できます。
グラフを生成すると、過去 30 日間にどのデバイスが何回ログインしたかを確認できます。
目的: 例えば、過去 1 か月間メンテナンスがなく、ログインが多すぎると異常が発生します。誰がログインし、何をしたかをクエリすることで、異常が発生していないかどうかを判断できます。行動は正常であり、従順です。
ユーザーログインイベントグラフ
新しいアイコン>ユーザーログインイベントチャート
グラフの種類を選択します: テーブル (ここでは詳細を表示する必要があるため、テーブル方法を選択します)
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
期間: 30 日を選択します。自分の状況に応じて調整できます。
グラフを生成すると、特定の時間、どのデバイス、どのユーザーがどの IP からログインしたかを表示できます。
目的: たとえば、非メンテナンス時間または非稼働時間には、デバイスへのログイン時に例外が発生します。この期間中に誰がデバイスにログインしたかを照会することで、これらの動作が正常であり、準拠しているかどうかを判断できます。 。
デバイス構成変更チャート
新しいアイコン>デバイス構成変更チャート
グラフの種類を選択します: テーブル (ここでは詳細を表示する必要があるため、テーブル方法を選択します)
クエリ ステートメント: このステートメントを最初にクエリ内で検証して、検索結果が希望どおりであることを確認できます。
期間: 30 日を選択します。自分の状況に応じて調整できます。
チャートを生成した後、特定の時間、どのユーザー、どのデバイス、どのコマンドが実行されたかを表示できます。
目的: たとえば、非メンテナンス時間または非稼働時間中にデバイス構成を変更し、この期間中に誰がデバイスにログインしたか、どのような構成が行われたかを照会して、これらの動作が正常かどうかを判断します。準拠しています。
検索ステートメント
この記事のすべての検索ステートメントは、参考のために以下にリストされています。
ヒント: 検索ステートメントのコマンド部分は、抽出された文字セグメントを呼び出します。文字セグメントが抽出されなかった場合は、エラーが表示されます。
レンダリング
チャートを作成した後、「グリッド レイアウト」を選択してチャート レイアウトを最適化および調整すると、最終的な結果は次のようになります。