今日は、Linuxサーバーの集中ログ管理を設定する方法を検討します。これは、Linux管理者が1か所に複数のサーバーログを持つのに役立ちます。 Linux管理者は、ログを確認するために各サーバーにログインする必要はありません。集中サーバーにログインして、ログの監視を開始するだけです。
Linuxラベル(auth、cron、FTP、LPR、authpriv、news、mail、syslogなど)は、重大度(アラート、クリティカル、警告、通知、情報、など)。
メッセージラベルと重大度レベルの詳細については、こちらをご覧ください
ログサーバーを設定するには、次のものがあることを確認してください。
2台のLinuxサーバー(サーバーとクライアント)。
server.itzgeek.local 192.168.0.10
client.itzgeek.local 192.168.0.20
Syslogサーバーのセットアップ
Rsyslogパッケージをインストールしていない場合は、インストールします。
yum -y install rsyslog
/etc/rsyslog.conf
を編集します ファイル。
vi /etc/rsyslog.conf
TCPまたはUDP
Rsyslogは、ログを受信するためにUDPプロトコルとTCPプロトコルの両方をサポートします。 TCPプロトコルは、ログの信頼性の高い送信を提供します。
UDP
以下のコメントを外して、syslogサーバーがUDPプロトコルでリッスンできるようにします。
FROM:
# Provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514
TO:
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514
TCP
以下のコメントを外して、syslogサーバーがTCPプロトコルでリッスンできるようにします。
FROM:
# Provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514
TO:
# Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514
syslogサービスを再起動します
systemctl restart rsyslog
ポート514でリッスンしているsyslogサーバーを確認します。
netstat -antup | grep 514
出力:
udp 0 0 0.0.0.0:514 0.0.0.0:* 1467/rsyslogd udp6 0 0 :::514 :::* 1467/rsyslogd
Syslogクライアントのセットアップ
Rsyslogパッケージをインストールしていない場合は、インストールします。
yum -y install rsyslog
/etc/rsyslog.conf
を編集します ファイル。
vi /etc/rsyslog.conf
ファイルの最後に次の行を配置して、クライアントメッセージログがサーバーを指すようにします。
UDP
*.info;mail.none;authpriv.none;cron.none @192.168.0.10:514
TCP
*.info;mail.none;authpriv.none;cron.none @@192.168.0.10:514
ホスト名またはIPアドレスのいずれかを使用できます。
systemctl restart rsyslog
これで、すべてのメッセージログが中央サーバーに送信され、コピーがローカルに保持されます。
ファイアウォール
ほとんどすべての本番環境はハードウェアファイアウォールで保護されているため、TCPとUDP514を開くように依頼してください。
FirewallDを有効にしている場合は、UDP / TCPポート514で着信トラフィックを受け入れるために、サーバーで次のコマンドを実行します。
TCP
firewall-cmd --permanent --add-port=514/tcp firewall-cmd --reload
UDP
firewall-cmd --permanent --add-port=514/udp firewall-cmd --reload
検証
syslogサーバーに移動し、メッセージログファイルを表示します。
tail -f /var/log/messages
クライアントのログがsyslogサーバーに記録されていることを確認する必要があります。
Feb 9 04:26:09 client systemd: Stopping System Logging Service... Feb 9 04:26:09 client rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-41.el7_7.2" x-pid="910" x-info="http://www.rsyslog.com"] exiting on signal 15. Feb 9 04:26:09 client systemd: Stopped System Logging Service. Feb 9 04:26:09 client systemd: Starting System Logging Service... Feb 9 04:26:09 client rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-41.el7_7.2" x-pid="1546" x-info="http://www.rsyslog.com"] start Feb 9 04:26:09 client systemd: Started System Logging Service.
このようにして、セキュア、メール、cronログなどの他のログを監視できます。
結論
それで全部です。 CentOS 7 / RHEL 7で一元化されたsyslogサーバーを正常にセットアップできれば幸いです。また、ELKスタックやGraylogなどのオープンソースのログ管理ツールを試して、Webインターフェイス、ログイベントの関連付けなどのより高度な機能を試すこともできます。
>