エルクスタックを使用したStorageGRID ログ分析
Angela Cheng著_
StorageGRID syslog転送機能を使用すると、StorageGRIDログメッセージを収集および分析するように外部syslogサーバを設定できます。エルク(Elasticsearch、Logstash、Kibana)は、最も人気のあるログ分析ソリューションの1つになっています。ELK設定の例と、失敗したS3要求の特定とトラブルシューティングにELKを使用する方法については、を参照して "エルク・ビデオを使用したStorageGRID ログ解析" ください。StorageGRID 11.9では、ロードバランサエンドポイントのアクセスログの外部syslogサーバへのエクスポートがサポートされています。この新機能の詳細については、こちらをご覧 "YouTubeビデオ"ください。この記事では、StorageGRID ログの管理と分析をすばやく開始できるように、Logstashの設定、Kibanaのクエリ、グラフ、およびダッシュボードのサンプルファイルを紹介します。
要件
-
StorageGRID 11.6.0.2以降
-
Elk(Elasticsearch、Logstash、Kibana)7.1x以降がインストールされており、動作中です
サンプルファイル
-
"Logstash 7.xサンプルファイルパッケージをダウンロードします" +*MD5チェックサム*148c23d0021d9a4bb4a6c0287464deab +*SHA256チェックサム*f51ec9e2e3f842d5a7861566b167a561beb4373038b4e7bb3c8be3d522adf2d6
-
"Logstash 8.xサンプルファイルパッケージをダウンロードします" *MD5チェックサム*e11bae3a662f87c310ef363d0fe06835* SHA256チェックサム*5c670755742cfdfd5aa723a596ba087e0153a65bcaef3934afdb682f61cd278d
-
"StorageGRID 11.9用のLogstash 8.xサンプルファイルパッケージのダウンロード"+* MD5チェックサム* 41272857c4a54600f95995f6ed74800d +* SHA256チェックサム* 67048ee8661052719990851e1ad960d4902fe537a6e135e8600177188da677c9
前提条件
読者はStorageGRID およびElkの用語および操作に精通しています。
指示
grokパターンで定義される名前の違いにより、2つのサンプルバージョンが提供されます。+たとえば、Logstash設定ファイルのSYSLOGBASE grokパターンでは、インストールされているLogstashのバージョンによってフィールド名が異なります。
match => {"message" => '<%{POSINT:syslog_pri}>%{SYSLOGBASE} %{GREEDYDATA:msg-details}'}
-
Logstash 7.17サンプル*
ログスタシュ8.23サンプル
-
手順 *
-
インストールされているエルクバージョンに基づいて、提供されたサンプルを解凍します。サンプル・フォルダには'Logstash configサンプルが2つ含まれていますsglog-2-file.conf :この構成ファイルは'データ変換を行わずにLogstash上のファイルにStorageGRID ログ・メッセージを出力しますこの機能を使用すると、LogstashがStorageGRID メッセージを受信していることを確認したり、StorageGRID ログパターンを理解したりできます。+ sglog-2-es.conf:*この構成ファイルは、さまざまなパターンやフィルタを使用してStorageGRID ログメッセージを変換します。この例には、パターンまたはフィルタに基づいてメッセージをドロップするDROPステートメントが含まれています。インデックスを作成するために出力がElasticsearchに送信されます。+ファイル内の指示に従って、選択した構成ファイルをカスタマイズします。
-
カスタマイズした構成ファイルをテストします。
/usr/share/logstash/bin/logstash --config.test_and_exit -f <config-file-path/file>
返される最後の行が次の行に似ている場合、構成ファイルに構文エラーはありません。
[LogStash::Runner] runner - Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash
-
カスタマイズされたconfファイルをLogstashサーバのconfig:/etc/logstash/conf.d+にコピーします/etc/logstash/logstash.ymlでconfig.reload.automaticを有効にしていない場合は'Logstashサービスを再起動しますそれ以外の場合は、設定のリロード間隔が経過するのを待ちます。
grep reload /etc/logstash/logstash.yml # Periodically check if the configuration has changed and reload the pipeline config.reload.automatic: true config.reload.interval: 5s
-
/var/log/logstash/logstash-plain.logを確認し、Logstashを新しい設定ファイルで起動する際にエラーがないことを確認します。
-
TCPポートが開始され、リスンしていることを確認する。+この例では、TCPポート5000が使用されています。
netstat -ntpa | grep 5000 tcp6 0 0 :::5000 :::* LISTEN 25744/java
-
StorageGRID マネージャGUIから、ログメッセージをLogstashに送信するように外部syslogサーバを設定します。詳細については、を参照して "デモビデオ" ください。
-
定義されたTCPポートへのStorageGRID ノード接続を許可するには、Logstashサーバ上でファイアウォールを設定または無効にする必要があります。
-
Kibana GUIから、[Management]→[Dev Tools]を選択します。Consoleページで、次のgetコマンドを実行して、Elasticsearch上に新しいインデックスが作成されていることを確認します。
GET /_cat/indices/*?v=true&s=index
-
Kibana GUIから、索引パターン(Elk 7.x)またはデータビュー(Elk 8.x)を作成します。
-
Kibana GUIから、上部中央にある検索ボックスに「saved objects」と入力します。+[保存済みオブジェクト]ページで、[インポート]を選択します。[インポートオプション]で、[競合時にアクションを要求]を選択します。
elk <version>-query-chart-sample.ndjsonをインポートします。+競合を解決するよう求められたら、手順8で作成したインデックスパターンまたはデータビューを選択します。
次のKibanaオブジェクトがインポートされます。* Query ** audit-msg-s3rq-orlm * bycastログs3関連メッセージ* loglevel warning以上+* failed security event * nginx-gwエンドポイントアクセスログ(elk8-sample-for-sg119.zipでのみbycast.log使用可能)* Chart **リクエストタイプ別***+*ダッシュボードリクエストの平均応答時間
-
これで、Kibanaを使用してStorageGRID ログ分析を実行する準備ができました。