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について