syslog機能は、sysadminの主要なツールの1つです。対象のイベントを含むログファイルの書き込みはすべてのアプリケーションの一般的な機能ですが、システム全体のログ機能があるということは、すべてのログをシステム上で1つとして処理できることを意味します。しかし、syslogはそこで止まりません。これらのツールを使用すると、システム管理者は、アプリケーションからの着信イベントを中央のログサーバーに転送することで、データセンターのログ処理を一元化できます。中央のログサーバーでは、大規模な処理が可能です。
一元化されたロギングは、数台のコンピューターを備えたホームシステムではやり過ぎですが、すでに12台のマシンでメリットがあります。たとえば、すべてのログファイルを中央のログサーバーに送信する12台のデスクトップは、長期的にはログファイルを保存する必要がないことを意味し、ログはログサーバーのディスク領域を占有します。管理者は1か所でのみ問題をチェックでき(おそらく自動レポートによって)、ログはバックアップによって安全な方法で保存でき、高圧縮によってより効果的に保存でき、クライアントの障害またはユーザーエラー。
このチュートリアルでは、次のことを学びます。
- RHEL 8 /CentOS8にrsyslogパッケージをインストールする方法
- インストールが成功したことを確認する方法。
- rsyslogサービスを開始、停止、自動開始する方法。
- ロガーを使用してsyslog機能をテストする方法。
systemctlを使用したrsyslogサービスのステータス出力。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
rsyslog 8 | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
RHEL 8 /CentOS8にsyslogをインストールする方法ステップバイステップの説明
RHEL 8 / CentOS 8 rsyslog
の場合 パッケージはデフォルトでインストールされ、実行されている必要があります。とにかくインストールする必要がある場合があります。たとえば、パッケージが壊れている/削除されている、別のsyslogサービスから元に戻されているなどです。
-
rsyslog
ベースリポジトリから到達可能です。パッケージをインストールするには、サブスクリプション管理リポジトリを設定して到達可能にする必要があります。これで、インストールは1つのdnf
だけになります コマンドアウェイ:# dnf install rsyslog -y
- インストールが成功したことを確認するために、
rpm
にクエリを実行できます。 パッケージのデータベース:# rpm -q rsyslog rsyslog-8.37.0-6.el8.x86_64
dnf
info
に「インストール時間」ステータスも表示する必要があります--verbose
で出力 オプション:# dnf info rsyslog --verbose [...] Installed Packages Name : rsyslog Version : 8.37.0 Release : 6.el8 Arch : x86_64 Size : 2.2 M Source : rsyslog-8.37.0-6.el8.src.rpm Repo : @System [...] Install time : Thu Dec 27 12:24:35 2018 Installed by : [...]
そして最後に、
systemd
サービス(実行されていない)について知っている必要があります。これは、サービスファイルが配置されていることを意味します。# systemctl status rsyslog.service ● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:rsyslogd(8) http://www.rsyslog.com/doc/
- サービスを開始、停止、およびステータスを取得するには、
systemctl
を使用します 。最後のステップでは、インストールしたばかりのサービスのステータスが非アクティブ状態になっていることを確認しました。次のコマンドで開始できます:# systemctl start rsyslog.service
そして、次のように停止します:
# systemctl stop rsyslog.service
ステータスは、サービスがインストール時に有効になっていることを示しています。つまり、オペレーティングシステムの起動時にサービスが自動的に開始されます。この自動起動機能は次の方法で無効にできます:
# systemctl disable rsyslog.service
そして、同じ方法で再度有効にします:
# systemctl enable rsyslog.service
- サービスが機能しているかどうか(つまり、システムからのsyslogイベントを受け入れるかどうか)をテストするには、
logger
を使用できます。 :# echo "test message from user root" | logger
また、
/var/log/messages
の最後の行を確認して、メインのsyslogファイルに正しく送信されたメッセージを確認してください。 :# tail /var/log/messages [...] Dec 27 12:39:46 rhel8 rsyslogd[2636]: [origin software="rsyslogd" swVersion="8.37.0-6.el8" x-pid="2636" x-info="http://www.rsyslog.com"] start Dec 27 12:39:46 rhel8 systemd[1]: Started System Logging Service. Dec 27 12:41:56 rhel8 testuser[2668]: test message from user root
rhel8
の場所 ラボマシンのホスト名、testuser
root
に切り替えた元のユーザーです 、セッションのPID、最後にecho
からのメッセージlogger
にリダイレクトされました のSTDIN。