※この記事は「AOS 7.0.xx」時点の情報をもとに作成しています。その後の機能アップデートについてはメーカーの公開情報をご確認ください。
今回はNutanix環境でCLIからsyslogの設定をしてみます。
目次
1.今回の環境
3ノードAHVクラスタ
AOS: 7.0.1
AHV: 10.0.1
rsyslogサーバ用VM: Rocky Linux v9.5
環境は以下のイメージで、一般的なNutanixの3ノードクラスタです。

2. 転送先のrsyslogサーバの設定
今回は、syslog転送先のサーバとしてRocky Linux v9.5を使用します。rsyslogをインストールしたlinuxサーバで、/etc/rsyslog.d/配下に、転送されてきたログを処理するための設定ファイルを作成します。設定ファイルはRHELのドキュメントを参考にしました。
14.3. TCP でのリモートロギング用のサーバーの設定
https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/9/html/security_hardening/configuring-a-server-for-remote-logging-over-tcp_assembly_configuring-a-remote-logging-solution#configuring-a-server-for-remote-logging-over-tcp_assembly_configuring-a-remote-logging-solution
▽作成した設定ファイルは以下の通りです。
[root@rsyslog ~]# cat /etc/rsyslog.d/remote.conf
# Per-Host templates for remote systems
template(name="TmplAuthpriv" type="list") {
constant(value="/var/log/remote/auth/")
property(name="hostname")
constant(value="/")
property(name="programname" SecurePath="replace")
constant(value=".log")
}
template(name="TmplMsg" type="list") {
constant(value="/var/log/remote/msg/")
property(name="hostname")
constant(value="/")
property(name="programname" SecurePath="replace")
constant(value=".log")
}
# Provides TCP syslog reception
module(load="imtcp")
# Adding this ruleset to process remote messages
ruleset(name="remote1"){
authpriv.* action(type="omfile" DynaFile="TmplAuthpriv")
*.info;mail.none;authpriv.none;cron.none
action(type="omfile" DynaFile="TmplMsg")
}
input(type="imtcp" port="514" ruleset="remote1")
[root@rsyslog ~]#
△中身を簡単に説明すると、以下の内容が書かれています。
- syslogをTCPプロトコル ポート:514で受信
- 「remote1」ルールセットで振り分け
- 認証関連ログ(authpriv)は /var/log/remote/auth/ に保存
- 一般ログ(*.info)は /var/log/remote/msg/ に保存
- テンプレートを使用してログの保存先やファイル名を分類する
▽rsyslogサービスを再起動しておきます。
[root@rsyslog ~]# systemctl enable rsyslog
これで、ログを受信したら/var/log/remote/配下にディレクトリやログファイルを自動で作成して保存してくれます。
▽rsyslogサーバのファイアウォールは停止しておきます。
3. Nutanix側でCLIからsyslogを設定
任意のCVMにログインし、nCLIコマンドツールを使用します。
▽nCLIの起動はCVMから以下コマンドを実行します。
▽設定変更中はrsyslogを無効化します。
▽転送先のrsyslogサーバを追加します。今回はTCPでrelpは無効化。
Name : syslog-test
Host Address : 172.22.5.104
Port : 514
Protocol : TCP
Relp Enabled : false
Nutanixでは、AHVやCVMのsyslogのほかに、Nutanixのサービスに関するログをモジュールとして使用できます。今回は「syslog」「audit」「Prism」の「info」レベル以上のログを転送する設定をしてみます。
▽以下の通り実行して、転送するモジュールやレベルを設定します。なお、モジュールの追加は一つずつとなります。
<ncli> rsyslog-config add-module module-name=syslog_module level=info server-name=syslog-test
RSyslog Servers : syslog-test
Module Name : SYSLOG_MODULE
Log Level : INFO
Include Monitor Logs : true
<ncli> rsyslog-config add-module module-name=prism level=info server-name=syslog-test
RSyslog Servers : syslog-test
Module Name : PRISM
Log Level : INFO
Include Monitor Logs : true
<ncli> rsyslog-config add-module module-name=audit level=info server-name=syslog-test
RSyslog Servers : syslog-test
Module Name : AUDIT
Log Level : INFO
Include Monitor Logs : true
Nutanixで転送可能なログの種類(モジュール)は、リンク先をご参照ください。
Send Logs to Remote Syslog Server
https://portal.nutanix.com/page/documents/details?targetId=Advanced-Admin-AOS-v7_0:set-rsyslog-config-c.html
▽設定した内容は以下のコマンドで確認可能です。
<ncli> rsyslog-config ls-servers
Name : syslog-test
Host Address : 172.22.5.104
Port : 514
Protocol : TCP
Relp Enabled : false
Module Name : SYSLOG_MODULE
Log Level : INFO
Include Monitor Logs : true
Module Name : PRISM
Log Level : INFO
Include Monitor Logs : true
Module Name : AUDIT
Log Level : INFO
Include Monitor Logs : true
▽設定が完了したら、rsyslogを有効化します。
<ncli> rsyslog-config set-status enable=true
RSyslog Status : Enabled
RSyslog Servers : 1
Name : syslog-test
Host Address : 172.22.5.104
Port : 514
Protocol : TCP
Relp Enabled : false
設定が問題なければ、これでログが転送されます。
<参考資料>
Configuring the Remote Syslog Server Settings
https://portal.nutanix.com/page/documents/details?targetId=Advanced-Admin-AOS-v7_0:set-rsyslog-config-t.html
How to Send Logs to a Remote Syslog Server
https://portal.nutanix.com/kbs/7250
4. 転送されたログの確認
ログを受信するrsyslogサーバで、/etc/rsyslog.d/remote.confに記述した保存先のディレクトリを「tree」コマンドで見てみると、以下のようにAHV/CVM個別でディレクトリが作成され、受信したログが保存されていることが確認できます。
[root@rsyslog ~]# tree /var/log/remote/
/var/log/remote/
├── auth
│ ├── NTNX-CVM-01
│ │ ├── sshd.log
│ │ └── mqq sudo.log
│ ├── NTNX-CVM-02
│ │ ├── sshd.log
│ │ ├── sudo.log
│ │ └── systemd.log
│ ├── NTNX-CVM-03
│ │ ├── sshd.log
│ │ ├── sudo.log
│ │ └── systemd.log
│ ├── ahv-01
│ │ ├── sshd.log
│ │ ├── su.log
│ │ └── systemd.log
│ ├── ahv-02
│ │ ├── sshd.log
│ │ ├── su.log
│ │ └── systemd.log
│ └── ahv-03
│ ├── sshd.log
│ ├── su.log
│ └── systemd.log
└── msg
├── NTNX-CVM-01
│ ├── -bash.log
│ ├── TMPWATCH.log
│ ├── acropolis.log
│ ├── audispd.log
│ ├── auditd.log
│ ├── cleanup-kernel-core.log
│ ├── kernel.log
│ ├── modify_fd_and_exec.log
│ ├── prism_gateway.log
│ ├── prism_monitor.log
│ └── rsyslogd.log
├── NTNX-CVM-02
│ ├── TMPWATCH.log
│ ├── acropolis.log
│ ├── audispd.log
│ ├── auditd.log
│ ├── cleanup-kernel-core.log
│ ├── kernel.log
│ ├── modify_fd_and_exec.log
│ ├── prism_monitor.log
│ └── rsyslogd.log
├── NTNX-CVM-03
│ ├── TMPWATCH.log
│ ├── audispd.log
│ ├── auditd.log
│ ├── cleanup-kernel-core.log
│ ├── kernel.log
│ ├── modify_fd_and_exec.log
│ ├── prism_monitor.log
│ └── rsyslogd.log
├── ahv-01
│ ├── ahv-host-agent.log
│ ├── audisp-syslog.log
│ ├── dnf.log
│ ├── ipfix-exporter.log
│ ├── kernel.log
│ ├── logrotate.log
│ ├── nutanix_privileged_cmd.log
│ ├── ovs-dpctl.log
│ ├── pressured.log
│ ├── rsyslogd.log
│ ├── su.log
│ └── systemd.log
├── ahv-02
│ ├── ahv-host-agent.log
│ ├── audisp-syslog.log
│ ├── dnf.log
│ ├── ipfix-exporter.log
│ ├── kernel.log
│ ├── logrotate.log
│ ├── nutanix_privileged_cmd.log
│ ├── ovs-dpctl.log
│ ├── pressured.log
│ ├── rsyslogd.log
│ ├── su.log
│ └── systemd.log
└── ahv-03
├── ahv-host-agent.log
├── audisp-syslog.log
├── dnf.log
├── ipfix-exporter.log
├── kernel.log
├── logrotate.log
├── nutanix_privileged_cmd.log
├── ovs-dpctl.log
├── rsyslogd.log
├── su.log
└── systemd.log
今回はこの辺で。
次回の記事はおまけ編で、syslogがすべてのCVM/AHVから転送されている仕組みを紹介します。