構築事例:GraylogとLogstashによるログ収集システム構築
今回は、通信事業者様にログ収集及び検索システムを構築した事例についての記事です。お客様は、既存のログ収集システムの更改を検討されていました。システムを起動した際に高速に検索でき、過去のデータも検索できるようなものが良いというご要望に対し、GraylogとLogstashを利用したシステムの構築をご提案しました。
- お客様が悩まれていた課題
- 既存のログ収集/検索システムがアプライアンス機で費用が高い
- 一般的なサーバではCLI操作に慣れていないとログを調べることが難しい
- 特定期間のログを抽出して確認したいが、方法が分からない
- +導入企業プロフィール
- ★
導入企業業種
情報・通信
ユーザー規模
-
利用OS
Red Hat Enterprise Linux 8
導入月
2021年8月
デージーネットが提案した「GraylogとLogstashによるログ収集システム構築」
Webブラウザでログ検索ができるGraylogを提案
Graylogとは、GUIからログサーバの管理やログの参照、検査、可視化などを行うことができる統合ログ管理ツールです。言語はJavaで開発されています。Graylogは、ビッグデータ解析などで使われる全文検索エンジンのElasticsearch、MongoDBを利用し、Graylogサーバ上で動作します。syslogやJSONなど様々な形式のログに対応し、大量のログを高速に検索することができるため、各種デバイスやソフトウェアから出力されるログを集中管理することができます。さらに、Grokと呼ばれる一種の言語を利用して、データを分析し抽出することができます。そのため、ログの中のIPアドレス、ユーザ名、URLなどを識別し、検索しやすい形式で管理することができます。またコマンド入力からではなくWebUIからの操作が可能で、別途に操作専用のアプリケーションをインストールする必要もなく、簡単にログを確認することができます。Graylogをパッケージにして提供することで、既存アプライアンス機と同様に、上記の通りWebブラウザで簡単にログ検索が実行できるようになりました。
過去のログをインポートできるLogstashを採用
お客様は、対象のシステムから過去5年間のログの収集・確認をご要望されていました。ただし、GraylogはElasticsearchの利用で大量のリソースを消費します。Graylogサーバーでそのまま5年間をリアルタイムでログ検索することはリソースが大量に必要なため、次のとおり環境の構成を変更しました。まず直近半年分は、リアルタイムでGraylogでブラウザから閲覧するように、次にそれより前については5年分ごとにrsyslogに取り込む形でログをため込み、Logstashと接続し、最後に特定期間のログを任意のタイミングでGraylogにインポートするようにしました。
Logstashとは
次に、Logstashについて解説します。Logstashとは、Elastic社が開発しApache2ライセンスの下で公開されているOSSです。Logstashはログの収集と記録のための基本の機能を備えており、ログファイルに溜まっているドキュメントを解析してデータベースへ格納するなど、用途にあった形にデータを変換しリポジトリへ保存することができます。これらの処理は「Input(入力)」「Filter(変換)」「Output(出力)」という名前で定義されており、公式のサイト上でダウンロードできるプラグインとして提供されています。基本機能のベースから用途に合ったプラグインを、処理毎に選択してインストールすることで、使い方の可能性が無数に広がるという特徴をもっています。扱えるデータの形式を増やすことができ、さまざまなイベントや出力先へ対応が可能です。またLogstashはセクション毎に、何のデータをどのように処理するかなどの動作をきめ細かく設定して稼働することができます。同社開発のElasticsearch、Kibanaと連携し、データをまとめ、グラフで可視化することも可能です。
Logstashを使い、他のシステムと連携することで、データをただ貯めておくだけではなく、監視や統計など様々な用途に活用することができるようになります。今回は、任意のタイミングでデータベース内の過去ログにアクセスし、必要なファイルをディレクトリから取得しGraylogに送信するソリューションとしてLogstashを採用しました。
Logstashでログをインポートするときタイムスタンプを変換
注意点として、通常のインポートでは、Graylogで表示されるタイムスタンプはログのインポートが完了したタイミングで登録されます。しかしそれでは本来の値のタイムスタンプとずれてしまい、指定の期間での検索ができません。そこで、Logstashの設定ファイルにログ解析を行う設定を追加し、Graylogへのインポート時にタイムスタンプに本来の時間を記述させるようにしました。
大量のログがきてもGraylogで表示
Graylogが利用するElasticsearchの影響で、ログ検索の表示件数にデフォルトで制限がかけられています。そのため、移行作業時に複数のログの流量や数を確認し、制限以上に大量にきても、保存されているすべてのログを表示できるようにしました。
導入後の結果
【Webセミナー】社内動画でDXを加速!効果的な活用法解説セミナー
日程: | 2月19日(水)Webセミナー「BigBlueButton」を使用します。 |
内容: | 社内にある動画を使ってどのようにDXを促進できるのかご紹介します! |
ご興味のあるかたはぜひご参加ください。 |