[20081214九州Ruby会議01] Rubyによる簡単なスクリプト作成の紹介
Upcoming SlideShare
Loading in...5
×
 

[20081214九州Ruby会議01] Rubyによる簡単なスクリプト作成の紹介

on

  • 4,604 views

 

Statistics

Views

Total Views
4,604
Slideshare-icon Views on SlideShare
3,830
Embed Views
774

Actions

Likes
2
Downloads
6
Comments
0

5 Embeds 774

http://dev.eventdots.jp 756
http://thunderhead.home 6
http://www.slideshare.net 6
http://nil.plala.jp 5
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    [20081214九州Ruby会議01] Rubyによる簡単なスクリプト作成の紹介 [20081214九州Ruby会議01] Rubyによる簡単なスクリプト作成の紹介 Presentation Transcript

    • Rubyによる簡単な スクリプト作成の紹介 山田 毅 <ASPインターネット(株)>
    • 自己紹介 名前: 山田 毅 Ruby歴: 5年くらい Rubyist九州 参加しています 所属: ASPインターネット(株) 技術本部システム部 お仕事: サーバー の運用・管理
    • サーバー 主なサーバー環境:LAMP, LAPP Linux Apache MySQL や PostgreSQL Perl サーバーの数:100以上(仮想化)
    • サーバー管理とRuby サーバーがたくさんあるので大変です 各サーバーのドットファイルの同期 仮想環境の割当リソース管理 LDAPでのアカウント管理 アプリのソースコードの確認 サーバーのリソース監視 サービスの死活監視 そこでRuby
    • ドットファイル同期(1) 自分のシェルの設定など(ドットファイル)を 各サーバに同期しておきたい
    • ドットファイル同期(2): rsync ファイルの同期: rsync -Cauv ~/file remote:file ディレクトリの同期: rsync -Cauv ~/dir/ remote:dir ディレクトリ末尾の「/」の有無 サーバーの数だけ手でrsync打つのは大変 サーバーごとに同期するファイルを変えたい rsyncのラッパーをRubyで作成
    • ドットファイル同期(3): 設定 - :host: serverA :targets: - .zshrc - .zshenv - .vimrc - :host: serverB :targets: - .zshrc - .zshenv - .emacs.el - .emacs.d/
    • ドットファイル同期(4): 実行 % syncdots.rb rsync -Cauv ~/.zshrc serverA:.zshrc rsync -Cauv ~/.zshenv serverA:.zshrc rsync -Cauv ~/.vimrc serverA:.vimrc rsync -Cauv ~/.zshrc serverB:.zshrc rsync -Cauv ~/.zshenv serverB:.zshenv rsync -Cauv ~/.emacs.el serverB:.emacs.el rsync -Cauv ~/.emacs.d/ serverB:.emacs.d
    • 死活監視(1): Nagios Nagiosとは (Wikipediaより) オープンソースのコンピュータシステムおよびネットワー クの監視のためのアプリケーションソフトウェアである。 Nagios は指定されたノードとサービスを監視し、問題が 発生したり解決したりした時にユーザーに通知する。
    • 死活監視(2): Nagios Plugin Nagiosはさまざまなサービスを監視できる すべてプラグインという形で提供されている 実はただのコマンド
    • 死活監視(3): Nagios Pluginの自作 プラグインの終了ステータスが サービスの状態に対応する 0: OK 1: WARNING 2: CRITICAL 3: UNKNOWN Rubyでプラグインを自作→特殊な監視
    • MySQLを監視(1) MySQLのスレッドの状態 SHOW PROCESSLIST
    • MySQLを監視(2): 仕組み
    • syslogを監視(1) syslogを監視したい 設定しておいたキーワードがsyslogに出現したら アラートを出したい (●●がsegmentation faultとか)
    • syslogを監視(2): 仕組み
    • syslogを監視(3) : ツッコミどころ syslog-ngやswatchでもできるのでは? その通りです syslogに限らずログならなんでもいける アラートはNagiosに集約したかった Nagios Pluginを書いてみたかった
    • syslogを監視(4) : ツッコミどころ dRubyで通信するんじゃなくて、NagiosのNRPE やNSCAを使えばいいのでは? その通りです NRPEやNSCAは当時よくわからなかった 年末だったので急いでた dRubyを使ってみたかった
    • まとめ Rubyによる事例の紹介でした ドットファイルの同期 rsyncコマンドのラッパー サービス死活監視 Nagios Plugin Rubyist九州 で こんな話+コードを紹介してたりします ご静聴ありがとうございました