質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

解決済

2回答

3669閲覧

rsyslogのテンプレートについ

kamekame0505

総合スコア12

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

0グッド

0クリップ

投稿2022/05/18 13:40

質問内容

Aruba無線LANのsyslogをrsyslogに取り組む設定を行っております。
送信元のIPアドレスからhostsで名前解決させホスト名を表示させsysylog転送を行いたいと考えておりますが、送信されてくるsyslogのホスト名部分、IPアドレス部分がrsyslogで認識すると、西暦・syslogtagに相当してしまい名前解決ができない状態です。

このような状態の場合でホスト名をつける方法がございましたらご教授下さい。

実現したいこと

以下受信syslogに対して名前解決をさせsyslogを転送したい
May 18 22:28:21 2022 (192.168.11.2) cli[6147]: <541029> <DBUG> AP:Aruba-AP-Test <192.168.11.2 48:4A:E9:C9:CF:00> Receive stat publish for client - b0:73:9c:7f:0f:7d, from ap 127.0.0.1.

○rsyslogが認識する部分
%hostname%* :2022
(%syslogtag%) :(192.168.11.2)

テンプレート

template ap_syslog,"%timegenerated% %hostname% (%syslogtag%) %msg%\n"$

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

novelistory

2022/05/19 05:20 編集

redhatもしくはcentosでsyslogサーバを立てていて、Aruba無線LANからsyslogサーバへsyslog転送をしている、との認識でお間違いないでしょうか。 > 送信元のIPアドレスからhostsで名前解決させホスト名を表示させ これはsyslogサーバでの話でしょうか? syslogサーバでの話であれば、「%hostname%」 ではなく、「%fromhost%」 を使うのはどうでしょうか? 「%hostname%」 はsyslogに書かれているホスト名を引っ張ってくるようです。 「%fromhost%」はsyslogの送信元IPアドレスから名前解決するようです(名前解決できなければIPアドレスで表示)。 > テンプレート 「/etc/rsyslog.conf」に記載もしくは 「/etc/rsyslog.d/」 ディレクトリに任意のファイルを作成(ex.template.conf)しているとの認識でお間違いないでしょうか? でしたら、「template」ではなく、「$template」だと思います。
kamekame0505

2022/05/19 05:43 編集

コメントありがとうございます。 >redhatもしくはcentosでsyslogサーバを立てていて、Aruba無線LANからsyslogサーバへsyslog転送をしている、との認識でお間違いないでしょうか。 →認識相違ございません。RHEL8になります。 これはsyslogサーバでの話でしょうか? syslogサーバでの話であれば、「%hostname%」 ではなく、「%fromhost%」 を使うのはどうでしょうか? 「%hostname%」 はsyslogに書かれているホスト名を引っ張ってくるようです。 「%fromhost%」はsyslogの送信元IPアドレスから名前解決するようです(名前解決できなければIPアドレスで表示)。 →syslogサーバ側になります。  「%hostname%」 と「%fromhost%」の違いを理解しておりませんでした。。  大変失礼いたしました。 「%fromhost%」にて実施したところ希望の通りホスト名解決できました。 ※テンプレートの部分は$マークの漏れになります。 「%fromhost%」を使うことで解決する旨、回答へ記載いただけますと幸いです。  novelistoryさまの回答実績になると思いますので。
novelistory

2022/05/19 07:48

> 「%fromhost%」を使うことで解決する旨、回答へ記載いただけますと幸いです。  novelistoryさまの回答実績になると思いますので。 ありがとうございます。回答へ記載しました。 ちなみにこちらの方法では、もう1つのsyslogtagがIPアドレスになってしまう事象は継続中(解決していない)でしょうか?
kamekame0505

2022/05/26 12:44

コメントが遅くなり申し訳ありません。 syslogtagがIPアドレスになってしまう部分については解決しておりませんが、取り急ぎsyslogtagを使用せずで問題ないため実施したいことは実現できております。
guest

回答2

0

ベストアンサー

回答

syslogサーバがsyslog送信元IPアドレスを名前解決してホスト名としてログに書き込む場合、
「%fromhost%」を使用します。

shell

1$template ap_syslog,"%timegenerated% %fromhost% (%syslogtag%) %msg%\n"$ 2

補足

「%hostname%」 はsyslogに書かれているホスト名を引っ張ってくるようです。
「%fromhost%」はsyslogの送信元IPアドレスから名前解決するようです(名前解決できなければIPアドレスで表示)。

参考

rsyslog 8.2202.0 documentation

投稿2022/05/19 07:46

novelistory

総合スコア54

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Aruba無線LANがタイムスタンプの後ろに年をつけて送ってくるのが問題ということですよね?
detect.YearAfterTimestampオプションをセットすると、timestamp の後ろの年を skip できるようです。

https://www.rsyslog.com/doc/master/configuration/modules/pmrfc3164.html

投稿2022/05/19 06:00

sigsegv

総合スコア895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問