vRealize Operation Managerのログ転送(syslog)について
vROpsの製品インタフェースからログ転送(syslog)を設定しましたが、syslogサーバにログが送信されませんでした。
インターネットを調べると、"/etc/liagent.ini"ファイルの下記部分を変更するとありました。
proto = syslog -> proto = syslog_udp
このファイルを変更してサービスを再起動(service liagentd restart)したら、ログが転送できました。
※当方の環境は、UDPでsyslogが受信できない環境です
上記の方法が正しい変更方法でしょうか。
また、製品インタフェースから変更することはできないのでしょうか。
UDP のみで、という事ですとご認識の通りで設定変更などを行うと /etc/liagent.ini の設定が元に戻ってしまいます。
また、複数台でクラスタ構成となっている場合にはそれぞれの /etc/liagent.ini に設定が必要になって来ると思いますので、この辺りもご注意いただければと思います。
手元の環境で試してみましたが、Syslog TCP (SSL 無し) に対応している Syslog サーバに対して、
vROps の UI からの設定で問題なく転送できました。
/etc/liagent.ini には以下の様に設定が反映されます。
GUI から設定がサポートされているログの転送は
cfapi SSLなし 9000
cfapi SSLあり 9543
syslog SSLなし 514
syslog SSLあり 6514
の4パターンなので、Syslog UDP で転送が必要な場合は liagent.ini の修正が必要となるはずですが、
GUI で設定変更すると liagent.ini の内容も上書きされます → (既存のログ タイプの変更 : "既存のエントリまたはログのセクションを手動で変更し、vRealize Operations Manager からログ転送設定を変更した場合、変更内容は失われます")。
記載いただいた事象で確認させていただきたいのですが、
proto = syslog_udp でログ転送が出来た、とありますがこれは Syslog サーバー側での受け取りが確認できたという事でしょうか?
"UDPでsyslogが受信できない環境です" との説明と逆の事象なので気になった次第です。
Syslog サーバー側やその間のファイアウォールで必要なポートが開いているかなどの確認も必要かもしれません。
ご参考まで
ありがとうございます。
当方のsyslogサーバは、UDPのみ受信できるものです。
C:\Users\Administrator>netstat -an
プロトコル ローカル アドレス 外部アドレス 状態
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
UDP 0.0.0.0:500 *:*
UDP 0.0.0.0:514 *:*
UDP 0.0.0.0:3389 *:*
下記の順番でログ転送を設定しました
①製品インタフェースのログ転送でsyslogを指定してSSLなしに設定
②エディタで、/etc/liagent.iniファイルを修正
cat /etc/liagent.ini | grep syslog
proto = syslog_udp
③サービス再起動
上記の対応を行うと、syslogが受信できるようになりました。
製品インタフェースで変更(転送するログの指定変更など)を行うと、上記の②の設定が元(TCP)に戻るということですね。
UDP のみで、という事ですとご認識の通りで設定変更などを行うと /etc/liagent.ini の設定が元に戻ってしまいます。
また、複数台でクラスタ構成となっている場合にはそれぞれの /etc/liagent.ini に設定が必要になって来ると思いますので、この辺りもご注意いただければと思います。