Yapc Asia 2008 TMTOWTMS
Upcoming SlideShare
Loading in...5
×
 

Yapc Asia 2008 TMTOWTMS

on

  • 4,948 views

YAPC::Asia 2008 Tokyo

YAPC::Asia 2008 Tokyo

Statistics

Views

Total Views
4,948
Views on SlideShare
4,915
Embed Views
33

Actions

Likes
1
Downloads
16
Comments
0

3 Embeds 33

http://blog.infomarks.co.jp 31
http://192.168.10.100 1
http://web.archive.org 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

Yapc Asia 2008 TMTOWTMS Presentation Transcript

  • 1. - TMTOWTMS - There’s More Than One Way To Monitor System(s) May 16 2008 Toshiyuki Sugimoto Shuichi Tajiri Jong-jin Lee
  • 2. Who are We?
  • 3. http://d.hatena.ne.jp/antipop/20080501/1209636817
  • 4. Let me introduce myself to you
  • 5. JEEN
  • 6. Perldoc-kr
  • 7. ~ ! Yesterday, I got an incredible super sexy item. Jesse T-Shirt
  • 8. He said, “If you make a patch for Prophet during this talk, I’ll give you this T-shirt.” Jesse “Prophet T-Shirt ”
  • 9. But I did nothing! ...
  • 10. Hmm...
  • 11. Maybe What He thought would be...
  • 12. “How Pity!” “ ”
  • 13. It’s a Joke!
  • 14. Anyway, Thanks so so much Jesse! Jesse !
  • 15. Your Free Software “will” be running at our company
  • 16. 2007 2008 Silver Sponsor Gold Sponsor
  • 17. Company Works
  • 18. System Monitoring, Maintenance
  • 19. Promotion Support
  • 20. EC Service Support
  • 21. And
  • 22. CodeRepos
  • 23. CodeRepos
  • 24. http://www.infomarks.co.jp/ http://blog.infomarks.co.jp/
  • 25. - Index
  • 26. - Index • System Monitoring • About System Monitoring • What to Monitor? • CTI • Nagios || App::MadEye • Trac • Demo • Summary
  • 27. System Monitoring
  • 28. Why?
  • 29. It’s a main job of our company
  • 30. There has been too many session about
  • 31. System Monitoring
  • 32. in YAPC::(.+) (¥d+)
  • 33. Yeah, That Is Why I’m talking about
  • 34. “Too Many” eq “Very Important”
  • 35. True / False ?
  • 36. It’s Your Choice.
  • 37. TALOMT
  • 38. It Means...
  • 39. There’s A Lot Of Monitoring Tools
  • 40. • •Nagios http://www.nagios.org/ • •Zabbix http://www.zabbix.com/ • •JFFNMS http://www.jffnms.org/ • •Big Brother http://bb4.com/ • •Big Sister http://bigsister.graeff.com/ • Etc
  • 41. What To Monitor
  • 42. • Port-Availability • HTTP, HTTPS, SSH,TELNET • FTP, SMTP, IMAP • POP3 • etc
  • 43. • System Resources • DISK • CPU • Memory • Swap • Network • I/O • Load Average • Process • etc
  • 44. • Application/Daemons • MySQL/Oracle • DNS • Mail • Apache • etc
  • 45. • System/Application Log • Kernel log • DB error.log • Web server error.log / access.log • etc
  • 46. There’s More Than One Way To Notify Warnings!
  • 47. Mail
  • 48. Instant Messenger
  • 49. IRC
  • 50. and...
  • 51. VFD?
  • 52. But No one knows SOMETHING WRONG
  • 53. Like This...
  • 54. Or
  • 55. Warning Lamp?
  • 56. What do you think about CTI? CTI
  • 57. CTI
  • 58. CTI ?
  • 59. Computer Telephony Integration
  • 60. CTI • • • •
  • 61. Computer Telephony Integration
  • 62. CTI is used on...
  • 63. Tele-Banking
  • 64. Customer Support
  • 65. Tele-Marketing
  • 66. Voice Phishing ( )
  • 67. And so on...
  • 68. Before CTI CTI
  • 69. We used to get inbound calls From Several Services Whenever system is in trouble
  • 70. But, It Costs Every Months ...
  • 71. ¥ But, It Costs Every Months ...
  • 72. Hmm...
  • 73. We always wanted to make a system that is either
  • 74. a Low Cost
  • 75. Scalable
  • 76. under our Control
  • 77. The Answer is ... ,
  • 78. CTI
  • 79. And
  • 80. OSS
  • 81. CTI with Closed Source CTI
  • 82. - OS $200 - Application $3000 - from www.voicetronix.com.au
  • 83. But, Open Source is...
  • 84. - OS ¥0 - Application ¥0 - from www.voicetronix.com.au
  • 85. Wow!
  • 86. Voicetronix OpenPCI Card - CPAN Module (Telephony::CTPort) - Low Cost ($400~) - RJ-11
  • 87. CTI on System Monitoring? CTI ?
  • 88. Call Log Warning! / Critical!
  • 89. ex > while(Monitoring)
  • 90. HTTP is down!
  • 91. Ringing~
  • 92. Off Hook
  • 93. Hello?
  • 94. “Somethings Wrong!” “ ”
  • 95. “Somethings Wrong!!” “ ”
  • 96. Somethings Wrong!!! “ ”
  • 97. the CTI Notifier(?) just called us CTI
  • 98. Whenever SA hears “Somethings Wrong” ” ”
  • 99. • He would be ( ) • stressed ( ) • impatient ( ) • angry ( ) • et cetra....( )
  • 100. Like This
  • 101. “WTF?” “ ”
  • 102. In the Graph...
  • 103. SA’s Stress 100 75 50 25 0 1 2 3 4 5 System trouble (# of Calls)
  • 104. we wish SA for some happiness
  • 105. Is there any good solution?
  • 106. !
  • 107. Yatta~
  • 108. After We have Completed this Mission,
  • 109. SA will be (.+) whenever Service goes Down
  • 110. • Happy( ) • Less Stress( ) • etc( )
  • 111. In Visual Mode
  • 112. SA’s Stress 70.0 52.5 35.0 17.5 0 1 2 3 4 5 System trouble (Call)
  • 113. More x 2 Visual Mode
  • 114. Like This
  • 115. Why? ?
  • 116. What’s happened to him?
  • 117. The Silver Bullet is what we gave to him is... ...
  • 118. Code
  • 119. use Telephony::CTPort
  • 120. Methods
  • 121. Methods • on_hook(), off_hook()
  • 122. Methods • on_hook(), off_hook() • wait_for_ring(), wait_for_dialtone()
  • 123. Methods • on_hook(), off_hook() • wait_for_ring(), wait_for_dialtone() • record($file_name, $timeout,$term_key)
  • 124. Methods • on_hook(), off_hook() • wait_for_ring(), wait_for_dialtone() • record($file_name, $timeout,$term_key) • collect($max_digits, $max_sec)
  • 125. Methods • on_hook(), off_hook() • wait_for_ring(), wait_for_dialtone() • record($file_name, $timeout,$term_key) • collect($max_digits, $max_sec) • dial($number)
  • 126. Make a Call
  • 127. Make a Call on_hook()
  • 128. Make a Call on_hook()
  • 129. Make a Call on_hook() off_hook()
  • 130. Make a Call on_hook() off_hook()
  • 131. Make a Call on_hook() off_hook() wait_for_dial_tone()
  • 132. Make a Call on_hook() off_hook() wait_for_dial_tone()
  • 133. Make a Call on_hook() off_hook() wait_for_dial_tone() dial($num)
  • 134. Make a Call on_hook() off_hook() wait_for_dial_tone() dial($num)
  • 135. Make a Call on_hook() off_hook() wait_for_dial_tone() dial($num) Ring~ Ring~
  • 136. Make a Call on_hook() off_hook() wait_for_dial_tone() dial($num) Ring~ Ring~
  • 137. Make a Call on_hook() off_hook() wait_for_dial_tone() dial($num) Ring~ Ring~
  • 138. Make a Call on_hook() off_hook() wait_for_dial_tone() dial($num) Ring~ Ring~ some_event()
  • 139. Receive a Call
  • 140. Receive a Call on_hook()
  • 141. Receive a Call on_hook()
  • 142. Receive a Call on_hook() wait_for_ring()
  • 143. Receive a Call on_hook() wait_for_ring()
  • 144. Receive a Call on_hook() wait_for_ring() Ring~ Ring~
  • 145. Receive a Call on_hook() wait_for_ring() Ring~ Ring~
  • 146. Receive a Call on_hook() wait_for_ring() Ring~ Ring~
  • 147. Receive a Call on_hook() wait_for_ring() Ring~ Ring~ off_hook()
  • 148. Receive a Call on_hook() wait_for_ring() Ring~ Ring~ off_hook()
  • 149. Receive a Call on_hook() wait_for_ring() Ring~ Ring~ off_hook() some_event()
  • 150. # CTI daemon $ ctserver -d # use strict; use warnings; use CTIServer; my @list = (#phone numbers#); my $ct = CTIServer->new(port => 1234); foreach my $person (@list) { if ($ct->call($person, 20)) { # Call! $person = PHS number do_something() if 1 == $ct->play(“39_warn.wav”); } } sub do_something { blahblah; }
  • 151. It will be a very Amazing System with previously mentioned features.
  • 152. But, It has a Critical Weakness! CTI
  • 153. It is...
  • 154. Phone Bill 100 75 50 25 0 1/4 2/4 3/4 4/4 While we were testing CTI, our company received a huge telephone bill. CTI .....
  • 155. orz
  • 156. I hope...
  • 157. Please Don’t Use CTI for Voice Phishing! :-) “ ”
  • 158. Nagios or App::MadEye
  • 159. use Class::Component;
  • 160. Pluggable Monitoring System
  • 161. Why Trac?
  • 162. package App::MadEye::Plugin::Notify::HTTP; use LWP::UserAgent; sub request : Hook(‘notify’) { $ua = LWP::UserAgent->new; $url = $posts->{target} . “?” . $parameter; $res = $ua->get($url); }
  • 163. package App::MadEye::Plugin::Notify::Trac; use DBI; sub request : Hook(‘notify’) { my $dbh = DBI->connect(“dbi:SQLite:trac.db”,””,””); my $sth = $dbh->prepare(“INSERT INTO ticket ....”); $sth->execute(...); }
  • 164. Demo
  • 165. Summary • CTI will be the best choice to happy M.S. (but, you have to be with HOOO MOOO) • WARNING : Telephone bill • One Way on TMTOWTMS is Telephony ?
  • 166. Thank You!
  • 167. Any Questions?