Asial Blog

Recruit! Asialで一緒に働きませんか?

外部からのsyslogを受信する

カテゴリ :
バックエンド(インフラ)
タグ :
Tech
ルーター
RTX-1000
syslog-ng
Debian
最近、社内で使用しているRTX-1000が不調で、突然telnetやpingすら返さなくなる現象に悩まされています。
ログを詳細に取り、原因を究明するため、Linuxにsyslogを転送してログをとるようにしてみました。

1・RTX-1000側での設定

  1. syslog host 172.16.0.100   # syslogサーバーのIP
  2. syslog facility user       # facility名
  3. syslog notice on
  4. syslog info on
  5. syslog debug on

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

2・Linux側の設定

今回はせっかくなのでsyslog-ngをインストールしてみました。
  1. $ sudo apt-get install syslog-ng

設定は、 /etc/syslog-ng/syslog-ng.conf を変更します。
  1. source s_all {
  2.         (省略)
  3.         udp();  # これをつけないと外部から取得できない                                                                                                                                                 
  4. }
  5. # 保存先を指定
  6. destination df_router { file("/var/log/router"); };                                                                                                                                                    
  7. # フィルタの設定 172.16.0.1 からのログはフィルタにマッチ
  8. filter f_router { host(172.16.0.1); };                                                                                                                                                                 
  9. # ログの設定
  10. log {
  11.         # 全部のログから
  12.         source(s_all);                                                                                                                                                                                 
  13.         # f_routerフィルタのマッチするものを
  14.         filter(f_router);                                                                                                                                                                              
  15.         # df_routerの場所に記録
  16.         destination(df_router);                                                                                                                                                                        
  17. };                                                                                                                                                                                                     

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

蛇足ですが、フィルタには以下のように条件を組み合わせることも出来ます。
  1. filter f_router { host(172.16.0.1) or host(172.16.1.1); };                                                                                                                                             

設定が完了したら再起動します。
  1. $ sudo /etc/init.d/syslog-ng restart

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

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

・おまけ
フリーズの原因ですが、一つ心当たりがあります。
最初にフリーズしたとき、
  1. |            |
  2. |  ルーター  |
  3. |  RTX-1000  |
  4. |  ルーター  |
  5. [↑ラックの棚]
のようにルーター同士でサンドイッチになっていいたため、筐体が触れないほど熱くなっていました。
もしかしたらコンデンサが熱でやられたのかもしれません。
外部からの攻撃よりも熱暴走が最大の敵・・・?

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

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