graylogインストール&セットアップ

はじめに

graylogのインストール、およびセットアップ方法をメモしておきます。

環境

OS: Rocky Linux 8.6
Graylog: 5.0.11

インストール手順

以下のサイトの手順が分かりやすい。

Rocky Linux に Graylog 集中型ログ管理システムをインストールする方法

ただ、上記手順はElasticsearchを使用してしまっているので、そこはopensearchを使用する公式手順を確認すべし。公式手順はファイルの編集場所が分かりにくいので、そこは↑の記事が分かりやすい。

Red Hat Installation.htm

設定

基本的な設定、私のやった設定を残しておきます。
ちなみにsyslogで飛ばしています。

Input

ログの入力待ち受けを設定します。

System > Inputs
 Syslog UDP を設定
  bind_address にgraylogの実IPを指定

※ SyslogのポートはLinuxの制限で使用しづらい場合があります。その場合は1024以降の別ポートを指定します。5140や1514, 2514などとするのが一般的。

設定後はloggerなどで受信できるか確認する

logger -p local0.error "test" --udp -n 192.168.0.100 -P 5140

Manage extractor

実サーバーからログを受信したら、ログを抽出します。
ログに記録される項目をDBのカラムに分割する作業と言い換えてもいいかも。
特にレスポンスタイムなどは取得したいはず。

System > Inputs > [作成したInputの右側] > Manage extractors

“]:” で分割して右側を”json”として定義するextractorの例:

こういったことを細々とやっていきます。検索やアラートに使うものだけでOK。
元々ログがJSONで出力される場合は楽になります。

サーバー側でfluentdなどを使ってJSON整形してから送っても良いかも。

Indicate

ログの保存期間を指定します。

System > Indices > Default index set > edit
 Max documents per index: インデックスの中で何行保存するか
 Max number of indices: 何インデックス保存するか

※ Max doc * Max number = 保存行数となります

日数ではなく、何行分(厳密には何リクエスト分)を保存するかを指定する方式のため注意。
ちょっとここは使いにくいかも。日本の法律では保存日数を指定する方式が多いため。

かなりストレージ容量は必要な傾向で、私の環境だと1GB/100万行は欲しいです。
1日500万アクセスほどのため2日で10GB埋まります。90日保存する場合は500GBくらい必要になります。計算するとtar.gzの100倍くらい容量が必要です。ディスク容量にご注意を。

Map

GeoIPで地図と紐づける機能。

少々ややこしいので、以下のページ参照

Dashboard

Dashboards > Create new dashboard

上部のタブからダッシュボードを作成します。Searchの画面は表示を固定できないため。
このように作りました。

左側のメニューから組み込みパターンがあるので、そこを弄れば作れます。

レスポンスタイムのDashboardの設定例:

その他

私は使いませんでしたが、環境によっては使いそうな機能へのリンクを記載します。

Stream:
※ 別々のシステムのログを分けて管理したい場合に使う(ログファイルを分けるようなものと理解)

14. ログのカテゴライズと保存場所の変更方法 | Graylog日本語マニュアル | OSSでのシステム構築・デージ ーネット
ログのカテゴライズと保存場所の変更方法について記載しています。

アラートの設定例:

Graylog で log を管理する | Melody
Java 製の OSS ログ管理システム Graylog の紹介です。

graylog / opensearchをクラスター化する例:
OpenSearchが結構重いので大規模なサイトの場合は必要だと思われる。

Graylogで大規模なログ収集環境を構築する - Qiita
要件クライアント数は、約2000ノード各ノードから秒間1~2件のログ (5000件/秒程度)ログの保存期間は2週間アプリケーション/ミドルウェアGlaylog Server 2.1.1M…

以上!

コメント

タイトルとURLをコピーしました