[前][次][番号順一覧][スレッド一覧]

ruby:473

From: Hiroshi Takagi <gollum@h...>
Date: Tue, 19 Oct 2004 15:31:21 +0900
Subject: [ruby:473] Re: Ruby 活用事例募集(Re: 関西オープンソース2004について)

高木といいます。

バイトでやとった某K女子大生がRuby しか知らなかったので
かれらに仕事をさせるためにRuby を覚えたら、
こちらがRuby に はまってしまいました。


On Mon, 18 Oct 2004 00:59:55 +0900
SASADA Koichi <ko1@a...> wrote:

>  どなたか、いらっしゃいませんか? それとも、Ruby って使われ
> てないのかなあ。

つかいまくってます。

組織名:

匿名にしといてください。
わたしは、ネットワークセキュリティ機器(Firewall, IDP, SSL-VPN, etc)の
運用監視サービス会社の技術顧問です。

対象とする問題の概要:

Rubyを適用している業務課題はいろいろあります。
最も便利なのが機器のシステムログの解析でしょうか。
grep でがんばって集計するのもありですが、
Rubyを使うと正規表現と後方参照がシンプルに書けるのが楽ちんです。

例えば、ある機器に正常にログインしたユーザーのログをmatch するのに

## regexp for login log

ip_exp = /\[(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\]/
time_stamp_exp = %r|(\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2})|
uid_exp = /\w+\(.+\)\[(.+)\]/
host_exp = /(\w+)/ 

login_exp = /#{ip_exp} - #{uid_exp} - #{time_stamp_exp} - #{host_exp} - Login succeeded for/

File.open(log_file).each{|line|
    if matched = login_exp.match(line) then
        # extract fields
        ip = matched[1]
        uid = matched[2]
        time_stamp = str2time(matched[3])
        host = matched[4]
.......

と、正規表現のパーツを書いておいてから合成できるんで、
長い長い暗号のような正規表現を書かずにすみますし、
他人にみせたときもわかりやすい。

正規表現に加えて重宝するのが Marshal.dump/load です。
syslog サーバー上で、複雑な解析後に生成したカスタムクラスの配列や、
HashのHash などの複雑なデータ構造も、
Marshl.dump 一発でファイルに落とせます。
(Python にもあるっていわないで。。。)

dump した解析データファイルはWindows に持ってきて、
Marshal.load して、win32ole でExcel にぺたぺた。

Rubyによる解決の概要:

・正規表現が書きやすく他人にわかりやすく記述できる。(と、私は思っている。
・Ruby がunix, Windows の両プラットホームをサポートし、
  Marshal.load/dump でデータを簡単に持ってくることができるので
  (一般人向け)レポート作成に便利だ。

#ってか、あんまりRuby っぽくない古典的運用管理ネタですね、すみません。
-- 
Hiroshi Takagi <gollum@h...>



--
ML: ruby@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

       434 2004-10-14 12:59 [ko1@a...            ] 関西オープンソース2004について          
       435 2004-10-14 16:47 ┗[o-fukui@p...        ]                                       
       437 2004-10-15 06:51  ┣[adzumi@d...         ]                                     
       438 2004-10-15 08:24  ┃┗[o-fukui@p...        ]                                   
       439 2004-10-15 08:40  ┣[o-fukui@p...        ]                                     
       444 2004-10-16 21:18  ┣[maki@r...           ]                                     
       474 2004-10-19 08:43  ┃┣[o-fukui@p...        ]                                   
       475 2004-10-19 08:45  ┃┗[o-fukui@p...        ]                                   
       476 2004-10-19 08:49  ┃ ┣[o-fukui@p...        ]                                 
       479 2004-10-19 09:18  ┃ ┣[shugo@r...          ] 発表希望                        
       481 2004-10-19 09:38  ┃ ┃┣[o-fukui@p...        ]                               
       503 2004-10-20 21:52  ┃ ┃┗[maki@r...           ]                               
       511 2004-10-21 18:17  ┃ ┃ ┗[shugo@r...          ]                             
       513 2004-10-22 00:50  ┃ ┃  ┗[o-fukui@p...        ]                           
       520 2004-10-22 07:27  ┃ ┃   ┗[maki@r...           ]                         
       490 2004-10-20 03:34  ┃ ┗[takahashi@t...      ]                                 
       507 2004-10-21 15:10  ┃  ┗[o-fukui@p...        ]                               
       508 2004-10-21 15:19  ┃   ┣[usa@g...            ] ブースの看板(?)(was Re: 関西オープンソース2004について)
       512 2004-10-22 00:44  ┃   ┃┗[o-fukui@p...        ]                           
       514 2004-10-22 03:58  ┃   ┃ ┗[o-fukui@p...        ]                         
       523 2004-10-22 14:15  ┃   ┗[kjana@d...          ]                             
       526 2004-10-22 18:41  ┃    ┣[o-fukui@p...        ]                           
       531 2004-10-23 19:25  ┃    ┗[kjana@d...          ]                           
       532 2004-10-24 08:59  ┃     ┗[konami@k...         ]                         
       534 2004-10-24 18:55  ┃      ┗[kazuhiko@f...       ]                       
       445 2004-10-16 21:41  ┣[maki@r...           ]                                     
       448 2004-10-17 02:55  ┃┣[ko1@a...            ]                                   
       449 2004-10-17 05:07  ┃┃┗[konami@k...         ]                                 
       453 2004-10-17 17:59  ┃┃ ┗[ko1@a...            ] Ruby 活用事例募集(Re: 関西オープンソース2004について)
       454 2004-10-17 18:57  ┃┃  ┣[konami@k...         ]                             
       456 2004-10-18 00:19  ┃┃  ┣[moriq@m...          ]                             
       457 2004-10-18 03:26  ┃┃  ┣[konami@k...         ]                             
       459 2004-10-18 09:14  ┃┃  ┃┣[ko1@a...            ]                           
       460 2004-10-18 10:01  ┃┃  ┃┃┣[nagai@a...          ] Re: Ruby 活用事例募集   
       461 2004-10-18 11:22  ┃┃  ┃┃┗[konami@k...         ]                         
       462 2004-10-18 13:10  ┃┃  ┃┃ ┣[konami@k...         ]                       
       463 2004-10-18 14:22  ┃┃  ┃┃ ┃┣[ko1@a...            ]                     
       468 2004-10-19 01:24  ┃┃  ┃┃ ┃┃┗[konami@k...         ]                   
       470 2004-10-19 04:58  ┃┃  ┃┃ ┃┗[zophos@D...         ]                     
       515 2004-10-22 04:14  ┃┃  ┃┃ ┗[konami@k...         ]                       
       516 2004-10-22 04:35  ┃┃  ┃┃  ┗[o-fukui@p...        ]                     
       467 2004-10-18 22:15  ┃┃  ┃┗[maki@r...           ] Re: Ruby 活用事例募集     
       458 2004-10-18 04:17  ┃┃  ┣[shimurahiroyuki@o...]                             
->     473 2004-10-19 08:31  ┃┃  ┣[gollum@h...         ]                             
       483 2004-10-19 11:01  ┃┃  ┃┗[konami@k...         ]                           
       493 2004-10-20 04:53  ┃┃  ┃ ┗[gollum@h...         ]                         
       496 2004-10-20 11:51  ┃┃  ┗[shin@f...           ]                             
       471 2004-10-19 07:46  ┃┗[o-fukui@p...        ]                                   
       451 2004-10-17 16:33  ┣[o-fukui@p...        ] CD-R ラベル(Re: 関西オープンソース2004について
       472 2004-10-19 08:31  ┃┗[o-fukui@p...        ] CD中味(Re: CD-R ラベル(Re: 関西オープンソース2004について
       477 2004-10-19 08:52  ┃ ┣[nagai@a...          ]                                 
       478 2004-10-19 09:20  ┃ ┃┗[o-fukui@p...        ]                               
       482 2004-10-19 10:05  ┃ ┣[moriq@m...          ]                                 
       486 2004-10-19 15:23  ┃ ┃┗[o-fukui@p...        ]                               
       492 2004-10-20 03:35  ┃ ┃ ┗[takahashi@t...      ]                             
       494 2004-10-20 06:58  ┃ ┃  ┗[ko1@a...            ]                           
       495 2004-10-20 09:14  ┃ ┃   ┗[o-fukui@p...        ]                         
       485 2004-10-19 15:06  ┃ ┗[o-fukui@p...        ]                                 
       487 2004-10-19 15:57  ┃  ┣[moonwolf@m...       ]                               
       489 2004-10-19 18:57  ┃  ┃┗[o-fukui@p...        ]                             
       488 2004-10-19 18:29  ┃  ┗[o-fukui@p...        ]                               
       536 2004-10-25 15:42  ┗[o-fukui@p...        ] 盛会御礼(Re: 関西オープンソース2004について