Your SlideShare is downloading. ×
  • Like
Yapc Asia 2008 TMTOWTMS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Yapc Asia 2008 TMTOWTMS

  • 3,470 views
Published

YAPC::Asia 2008 Tokyo

YAPC::Asia 2008 Tokyo

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,470
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
17
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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?