UbuntuのログをGraylogサーバーに送信する方法
UbuntuのログをGraylogサーバーに送信する方法
Graylogは、集中型ログ管理システムのプラットフォームです。DevOpsの世界で最も人気のあるログ管理システムの一つであり、マルチプラットフォームのサポートがあり、DockerやKubernetesなどのコンテナ環境にインストールすることができます。
Graylogはログ管理システムとして、さまざまなアプリケーションやシステムに対して複数の入力をサポートしています。Unix系オペレーティングシステム用のSyslog入力、Windowsシステム用のWindows EventLog、カスタムアプリケーション用のGELF(Graylog拡張ログフォーマット)を使用できます。
このチュートリアルでは、UbuntuマシンからGraylogサーバーにログを送信する方法を学びます。このデモでは、最新のUbuntu 22.04マシンをクライアントとして、Graylogサーバーv4.3を使用します。Debian 11でGraylogサーバーを設定する方法を知りたい場合は、こちらをご覧ください。
前提条件
- Graylogサーバーがインストールされています - このデモはDebianサーバーにインストールされたGraylog v4.3を使用しています。
- Ubuntuクライアントマシン - このドームはUbuntu 22.04サーバーを使用しています。
- sudo管理者権限を持つ非ルートユーザー。
Graylog入力の設定
Ubuntuクライアントマシンの設定を始める前に、Graylogサーバーで入力を設定する必要があります。
Graylogは、Syslog、Journald、Windowsイベントログ、生のテキスト、ファイルなど、さまざまな種類の入力をログシステムにサポートしています。
Linuxシステムでは、Syslog入力を使用してログをGraylogサーバーに簡単に送信できます。GraylogサーバーでSyslogタイプの入力を作成するだけで、特定のポートとIPアドレスで自動的に実行されます。
ウェブブラウザを開いて、Graylogサーバーのインストール先(つまり、http://graylog.howtoforge.local/)にアクセスします。デフォルトのユーザーであるadminと強力なパスワードを使用してGraylogサーバーにログインします。
今、システムメニューをクリックし、入力をクリックすると、新しいページが表示されます。
ドロップダウン入力ページで、ここで入力タイプ「Syslog UDP」を選択し、「新しい入力を開始」ボタンをクリックします。
これからGraylogサーバーでSyslog入力を設定する必要があります:
- ここではノードが自動的に選択されるので、そのままデフォルトのままにしてください。
- 新しい入力のタイトルを入力してください。例えば、「Syslog Linux UDP」のように。
- ここでのバインドアドレスは、入力用のIPアドレスを指定できます。これはサーバーのローカルIPアドレスであるか、サーバー上のすべてのIPアドレスで入力を実行するために0.0.0.0を使用することもできます。
- ここでは、入力用に別のポートを使用できます。他のサービスがそのポートで実行されていないことを確認し、ポートが1から1024の範囲内にないことを確認してください。このデモでは、UDPポート5148を使用しています。
今すぐ保存ボタンをクリックして、入力の作成を確認してください。
現在、入力ページでは、Graylogサーバーで実行されているすべての利用可能な入力が表示されます。下のスクリーンショットでは、入力"Syslog Linux UDP"がUDPポート5148で、バインドアドレス0.0.0.0で実行されていることがわかります。これは、サーバー上のすべてのIPアドレスで実行されていることを意味します。
Ubuntuクライアントを構成してログを送信する
今、UbuntuクライアントマシンをGraylogサーバーにログを送信するために設定する時です。これはRsyslogサービスを使用して行うことができます。
まず、以下のsshコマンドを使ってUbuntuマシンに接続します。
ssh user@SERVER-IPUbuntuマシンでRsyslogパッケージを確認し、それがインストールされていることを確認してください。
sudo dpkg -l | grep rsyslog
sudo apt info rsyslog下のスクリーンショットでは、rsyslogパッケージがデフォルトでインストールされていることがわかります。フィールドの「ii」は、インストールされていることを意味します。
次のコマンドを使用してRsyslogサービスを確認してください。
sudo systemctl is-enabled rsyslog
sudo systemctl status rsyslogrsyslogサービスが有効であることがわかるでしょう。これは、システムの起動時に自動的に実行されることを意味します。そして、rsyslogサービスの現在の状態は実行中です。
UbuntuクライアントマシンからGraylogサーバーにログを送信するために、rsyslogの新しい追加設定を作成する必要があります。rsyslogのデフォルトの設定は「/etc/rsyslog.conf」ファイルで、追加のrsyslog設定は「/etc/rsyslog.d」ディレクトリに保存できます。
nanoエディタを使って新しい追加のrsyslog設定「/etc/rsyslog.d/60-graylog.conf」を作成します。
sudo nano /etc/rsyslog.d/60-graylog.conf
次の設定をファイルに追加してください。
*.*@192.168.5.10:5148;RSYSLOG_SyslogProtocol23Format作業が完了したら、ファイルを保存して閉じてください。
ここにあるIPアドレスは192.168.5.10で、これはUDPポート5148で入力を実行しているGraylogサーバーのIPアドレスです。
新しい変更と新しい構成を適用するために、以下のコマンドを使用してrsyslogサービスを再起動してください。
sudo systemctl restart rsyslogそして、あなたはログをGraylogサーバーに送信するための基本的なrsyslog設定を完了しました。
Graylogサーバーのログを確認しています
さあ、ウェブブラウザに戻って、Graylogダッシュボードに移ります。上部の検索メニューをクリックすると、以下のようにUbuntuクライアントマシンのすべてのログが表示されます。
Graylog検索ダッシュボードから、サーバーやアプリケーションのログメッセージをフィルタリングしたり、リアルタイムでログメッセージを確認したり、特定の時間枠からのログメッセージを確認したりすることができます。
結論
おめでとうございます!あなたは、Rsyslogサービスを使用して、ログをGraylogサーバーに送信するためにUbuntuクライアントマシンを正常に設定しました。また、Graylogサーバーで新しい入力タイプのSyslog UDPを作成することにより、Graylog Inputsの基本設定も学びました。ログを送信する別の方法として、Syslog TCP、ファイル、JSON、およびElasticのbeatsを使用することができます。





