概要
ストレージは企業において常に重要な役割を果たしており、データのセキュリティを確保することが最優先事項です。ストレージは正常に機能していますか? 私たちのデータは安全ですか? ストレージ管理者は標準化された方法で運用されていますか? これらは企業が注意を払う必要がある問題です。では、これらの問題を効果的に解決するにはどうすればよいでしょうか? 私たちが選んだのはHonghu Data Platformです。Honhu は、セキュリティログ、操作ログ、アラームログを一元的に保管し、検索機能を利用して、豊富なレポート機能を通じて問題を迅速に特定し、表示することができます。
監視対象
ユーザーログインなどのセキュリティイベントを監視する
ユーザーの行動などの運用イベントを監視する
実行ステータスを保存するアラームなどのアラーム イベントを監視します。
上記の監視チャート表示を実現
ベクターをインストールする
データ コレクターとして、Vector はデバイスの syslog ログを受信し、Honghu プラットフォームに転送できます。ベクターの設定方法は以下を参照してください。
ベクターのインストール
インストール後にベクター バージョンをチェックして、インストールが成功したことを確認します。
Vector をインストールした後、Vector を直接実行すると、システムはまず /usr/bin の下でコマンドを検索します。このディレクトリにコマンドが存在しない場合、コマンドは見つかりません。現時点では、見つからないコマンド用のリンク ファイルを作成し、/usr/bin にリンクする必要があります。
(詳細なコードについては、記事の最後にあるコードをスキャンして、Honghu 交換グループに参加し、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 交換グループに参加し、Honghu ナレッジ ベースを取得してください)
デバイスにログインすると、syslog がトリガーされます (注: デバイスにログインすると、syslog が自動的にトリガーされます)。Honhu プラットフォームにログインして、データがスイッチ データセットにインポートされているかどうかを確認します。以下の図に示すように、イベント数はデータのインポートが成功したことを示しています。
ベクトルを介してスイッチ データセットにインポートされたデータをクエリします。たとえば、ここでは保存されたログを確認します。
配置PowerStore syslog
PowerStore にログインし、[設定] > [リモート ログ] > [追加]
ホスト/IP アドレス Honhu のアドレスを入力します。
プロトコル: デフォルトは udp です (上記の syslog.toml と一致します)。
ポート番号: デフォルト 514 (上記の syslog.toml と一致)
監査タイプ: すべて選択
SEND TEST MASEGE、テストログメッセージを送信してHonghuがそれを受信したかどうかをテストします
Honhu でログを問い合わせたところ、ストレージから送信されたテストログが受信されており、syslog の設定が完了していることがわかりました。
フィールド抽出
通常、ストレージによって送信されるログは、ログイン関連のログや構成関連のログなど、さまざまな種類があります。これらのログの形式は、Honghu で一度抽出されます。デフォルトで抽出されたフィールドが表示されます。これらのフィールドに既に次の内容が含まれている場合必要なものをそのまま使用できるようになります。一部のフィールドが抽出されない場合は、自分で抽出する必要があります。Honghu はフィールドを抽出するための正規表現をサポートしています。
以下のログを例に正規表現を書きます。
ログを正規表現テスト Web サイトにコピーして書き込むことができるため、いつでもどこで間違いを犯したかを知ることができます。以下は私が使用したテストサイトです https://regex101.com/
正規表現は次のとおりです
\w+\s\d+\s\d{2}:\d{2}:\d{2}\s\w+-\w+\s\[\d+]:\s\d+-\d+-\d+ \w+\d+:\d+:\d+.\d+\s\w+-\w+\s\w+\s\w+@(?\w+)\s(?\w+)\s\[\w+@\w+ \s\w+="(?\d+)"\s\w+="(?\w+)"\s\w+="(?\w+)"\s\w+="(?\w+)"\s \w+=(?"[^"]*")\s\w+=(?"[^"]*")\s\w+=(?"[^"]*")]\s(?.+ )
ps_syslog、これは作成する必要があるビューの名前です
switch._time スクリプトの 6 行目以降の switch は、データを抽出する必要がある元のデータ セットを参照しているため、データ セット名に応じて置き換える必要があります。
ここで、 contains( switch._message, 'powerstore') 'powerstore' は、この書き込みログを検索する特定のフィールドを指します。powerstore を通じて、ログ内に powerstore を含むすべてのログを制限できます。
(完全なコードについては、記事の最後にあるコードをスキャンして、Honghu 交換グループに参加し、Honghu ナレッジ ベースを取得してください)
高次のクエリを実行、成功
検索ステートメントのテストを実行してみましょう。抽出したフィールドが表示されます。
チャートの作成
チャート表示の前に重要な点がありますが、通常、ログがトリガーされていない場合、ログは生成されません。チャート表示が必要なので、できるだけ多くのログデータが必要です。ログ データを強化するために、ログイン、テスト ボリュームの作成、テスト ボリュームの削除など、ストレージに対していくつかの操作を実行できます。
ダッシュボード > 新しいダッシュボード
作成した
チャート作成方法1
ここではグラフを作成する 2 つの方法を紹介します。一般的には 2 番目の方法が推奨されます。Honhu はさまざまなチャート スタイルをサポートしており、検索ステートメントが正常に結果データを生成できる限り、対応するチャートを選択できます。この記事では、すべてのグラフのスタイルについて説明するのではなく、その作成方法のみを説明します。1 つ目は、次のようにダッシュボード内にグラフを作成することです。
新しいチャート > 機器数量
チャートの種類を選択します: 単一値トレンド チャート
クエリ ステートメント: 最初にクエリでこのステートメントを検証して、検索結果が目的の
時間範囲であることを確認できます: 30 日を選択し、それに応じて調整できます自分自身の状況に合わせて
チャートを生成する
チャート作成方法2
グラフ作成の 2 番目の方法は、最初に検索し、次に検索されたデータを使用してグラフを生成し、対応するダッシュボードに追加することです。その方法は次のとおりです。
クエリに検索語を入力してください
クエリ ステートメントの実行後、[新しいグラフ] をクリックします。
グラフの種類: ニーズに応じてさまざまなグラフの種類から選択できます
タイトル: 運用行動統計
ダッシュボードの選択: グラフを保存するダッシュボードを意味します
追加後、ダッシュボードで追加したグラフを確認できます
上記 2 つの方法は状況に応じて選択できますが、2 番目の方法の方が直感的で簡単です。ここではチャートの表示については詳しく説明しませんが、参考までに検索文を列挙します。
検索フレーズ
この記事のすべての検索用語は参考のために以下にリストされています
ヒント: 検索ステートメントのコマンド部分は、抽出された文字フィールドを呼び出します。文字フィールドが抽出されない場合、エラーが表示されます。
(完全なコードについては、記事の最後にあるコードをスキャンして、Honghu 交換グループに参加し、Honghu ナレッジ ベースを取得してください)
結果を示す
拡大
上記のチャート作成では、30日または1日のデータ表示など、チャートの生成時にチャートの時間を選択していますが、実際のシナリオでは、チャートを見るときに、すべてのチャートが表示されるようにしたいと考えています。表示方法は、例えば1日を見たい、7日を見たい場合、この時点で「時間項目」を作成することができます。方法は次のとおりです。
作成時間の選択
編集
入力を追加
入力タイプ: 時間を選択
タグ名: time_range (チャートを呼び出すために使用されます)
表示ラベル:今回の項目で表示される名前
デフォルトのタグ値: ここでは自分の状況に応じて選択します。通常は相対時間を選択し、30 日に設定します。
確認後、時間選択項目が生成されます
通話時間の選択
呼び出したいチャートを選択し、「クエリの編集」を選択します。
クエリ時間範囲を時間タグ値とタグ名 time_range (上で作成した時間を選択するときに入力されたタグ名) に変更します。
保存後、「時間選択」で表示したい時間を選択し、「適用」をクリックすると、時間に応じてチャートが変化します。
要約する
一般的に、ストレージ デバイス自体が独自のログ監査機能を提供し、表示や簡単な検索もサポートします。しかし、この問題について詳しく見てみましょう。ストレージ セットがある場合、ストレージ自体の機能は、サポートしていますが、10 個以上のストレージがある場合はどうなるでしょうか? Honhu を使用すると、保存されたデータを syslog を通じて統合的に保存し、その検索ステートメントを使用して高速検索を実行し、対応するグラフを生成することができ、運用と保守の作業を大幅に節約できます。
フォローアップ
今回のストレージは既存のログデータに基づく暫定的な表示であり、ログの充実に伴い、さらなる最適化が必要となる。
-
複数のストレージ デバイスの監視。たとえば、10 セットのストレージがある場合、各ストレージ セットの特定の状況を表示するよう柔軟に選択できる必要があり、選択したストレージに応じてグラフが変わります。
-
ハードディスク障害、コントローラ障害、リンク障害などのハードウェア障害監視
-
監視対象のアラームは、特定のエラー イベントが発生すると、電子メール アラームをアクティブにトリガーします