このチュートリアルでは、CentOS 7で集中型Rsyslogサーバーをセットアップして、クライアントシステムのログを共通の場所から管理する方法について説明します。クライアントシステムのログファイルを確認する場合は、クライアントシステムにアクセスする必要はありません。これは、ネットワーク上に多数のシステムがあり、一元化された専用ログサーバーからログ管理を実行する場合に役立ちます。
このガイドでは、2つのシステムを使用します。1つはrsyslogサーバーとして機能し、もう1つはクライアントとして機能します。以下は私のテストボックスの詳細です。
Rsyslogサーバー:
- OS: CentOS7ミニマルエディション
- IPアドレス: 192.168.43.150/24
- ホスト名: logserver.ostechnix.local
クライアントシステム:
- OS: CentOS7ミニマルエディション
- IPアドレス: 192.168.43.151
まず、Ryslogサーバーをセットアップしましょう。
CentOS7で集中型Rsyslogサーバーをセットアップする
このガイドは、CentOS7最小サーバーエディションでテストされました。ただし、RHEL、Fedora、ScientificLinuxなどのすべてのRPMベースのディストリビューションで動作するはずです。
以下に示すすべてのコマンドは、 rootとして実行する必要があります ユーザー。
rsyslogパッケージがまだインストールされていない場合は、インストールします。
# yum install rsyslog
次に、rsyslog構成ファイルを編集します。
# vi /etc/rsyslog.conf
以下を見つけてコメントを外し、サーバーがudpポートとtcpポートでリッスンするようにします。
[...] $ModLoad imudp $UDPServerRun 514 [...] $ModLoad imtcp $InputTCPServerRun 514 [...]
ESCを押す キーとタイプ:wq ファイルを保存して閉じます。
ファイアウォール/ルーターでRsyslogのデフォルトポート514を許可します。次のコマンドは、firewalldを介してこのポートを開きます。
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp
変更を有効にするには、firewalldサービスを再起動します。
# firewall-cmd --reload
最後に、rsyslogサービスを有効にして開始します。
# systemctl enable rsyslog
# systemctl start rsyslog
次のコマンドを使用して、resyslogサービスが実行されているかどうかを確認します。
# systemctl status rsyslog
以下のような出力が表示された場合は、おめでとうございます。 Rsyslogサーバーが稼働しています!
● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-03-23 16:30:11 IST; 17min ago Main PID: 2490 (rsyslogd) CGroup: /system.slice/rsyslog.service └─2490 /usr/sbin/rsyslogd -n Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Starting System Logging... Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Started System Logging ... Hint: Some lines were ellipsized, use -l to show in full
次のコマンドを使用して、サーバー自体のログの詳細を確認できます。
# tail -10 /var/log/messages
このコマンドは、ログメッセージの最後の10行を表示します。
クライアント構成
rsyslogをrootとしてインストールします コマンドを使用するユーザー:
# yum install rsyslog
次に、rsyslog構成ファイルを編集します。
# vi /etc/rsyslog.conf
##ルール## ディレクティブセクションに、次の行を追加します:
*.* @192.168.43.150:514
または、この行を最後に配置します。これにより、すべてがログに記録され、ログファイルがRsyslogサーバーに送信されます。
特定のアイテムをログに記録することもできます。たとえば、 cronのみをログに記録するとします。 スタッフ、次の行を追加します:
cron.* @192.168.43.150:514
すべてのメールメッセージをログに記録するには、次を追加します。
mail.* @192.168.43.150:514
すべてをログに記録したいので、次の行を追加しました。
*.* @192.168.43.150:514
IPアドレスの代わりにRsyslogサーバーのFQDNを指定することもできます。
rsyslog構成ファイルを保存して閉じます。
最後に、rsyslogサービスを有効にして開始します。
# systemctl enable rsyslog
# systemctl start rsyslog
同様に、必要な数のクライアントを構成できます。ログを監視します。
ダウンロード -無料の電子書籍:「GNU/Linuxの高度な管理」ログメッセージのテスト
クライアントシステムで何でも実行します。
ロガーを使用して、システムログファイルに手動でエントリを追加します コマンド。
# logger -i -t ostechnix "This is our first log test."
次に、Rsyslogサーバーマシンに移動して、このログが見つかったかどうかを確認します。
# tail -l /var/log/messages
これで、サーバーからクライアントシステムのログを取得します。
Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="http://www.rsyslog.com"] start Mar 23 17:30:29 client systemd: Stopping System Logging Service... Mar 23 17:30:29 client systemd: Starting System Logging Service... Mar 23 17:30:29 client systemd: Started System Logging Service. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="http://www.rsyslog.com"] exiting on signal 15. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="http://www.rsyslog.com"] start Mar 23 17:30:34 logserver systemd: Stopping System Logging Service... Mar 23 17:30:34 logserver systemd: Starting System Logging Service... Mar 23 17:30:34 logserver systemd: Started System Logging Service. Mar 23 17:31:35 client ostechnix[2959]: This is our first log test.
と。それで全部です。 Rsyslogサーバーとクライアントの構成が完了します。このガイドでわかるように、基本的なRsyslogサーバーのセットアップは非常に簡単です 。これは非常に基本的なログサーバーのセットアップですが、私にとっては箱から出してすぐに機能しました。
推奨される読み物:
- LinuxでLogrotateを使用してログファイルを管理する方法