アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

外部からのsyslogを受信する

最近、社内で使用しているRTX-1000が不調で、突然telnetpingすら返さなくなる現象に悩まされています。
ログを詳細に取り、原因を究明するため、Linuxにsyslogを転送してログをとるようにしてみました。

1・RTX-1000側での設定



syslog host 172.16.0.100   # syslogサーバーのIP
syslog facility user       # facility名
syslog notice on
syslog info on
syslog debug on


設定はこれだけでOKです。

2・Linux側の設定

今回はせっかくなのでsyslog-ngをインストールしてみました。


$ sudo apt-get install syslog-ng


設定は、 /etc/syslog-ng/syslog-ng.conf を変更します。


source s_all {
        (省略)
        udp();  # これをつけないと外部から取得できない                                                                                                                                                 
}

# 保存先を指定
destination df_router { file("/var/log/router"); };                                                                                                                                                    

# フィルタの設定 172.16.0.1 からのログはフィルタにマッチ
filter f_router { host(172.16.0.1); };                                                                                                                                                                 

# ログの設定
log {
        # 全部のログから
        source(s_all);                                                                                                                                                                                 
        # f_routerフィルタのマッチするものを
        filter(f_router);                                                                                                                                                                              
        # df_routerの場所に記録
        destination(df_router);                                                                                                                                                                        
};                                                                                                                                                                                                     


C言語のような構文で割とわかりやすい書式です。

蛇足ですが、フィルタには以下のように条件を組み合わせることも出来ます。


filter f_router { host(172.16.0.1) or host(172.16.1.1); };                                                                                                                                             


設定が完了したら再起動します。


$ sudo /etc/init.d/syslog-ng restart


これでログの転送が出きるようになりました。

まだ、不安定になる現象は再現していませんがしばらくRTX-1000の状態を監視していればなにか分かるかもしれません。

・おまけ
フリーズの原因ですが、一つ心当たりがあります。
最初にフリーズしたとき、


|            |
|  ルーター  |
|  RTX-1000  |
|  ルーター  |
[↑ラックの棚]

のようにルーター同士でサンドイッチになっていいたため、筐体が触れないほど熱くなっていました。
もしかしたらコンデンサが熱でやられたのかもしれません。
外部からの攻撃よりも熱暴走が最大の敵・・・?

電子機器と熱は切っても切れない関係。そして最大の敵でもある。

世の中の管理者の皆さん。ルーターを雑に扱っていると、
忙しいときに限って壊れます。
普段から気にかけてあげてください。