SlideShare una empresa de Scribd logo
1 de 181
Descargar para leer sin conexión
- TMTOWTMS -


 There’s More Than One
Way To Monitor System(s)


        May 16 2008
       Toshiyuki Sugimoto
          Shuichi Tajiri
          Jong-jin Lee
Who are We?
http://d.hatena.ne.jp/antipop/20080501/1209636817
Let me introduce myself to you
JEEN
Perldoc-kr
~   !




Yesterday, I got an incredible super sexy item.
         Jesse     T-Shirt
He said,
“If you make a patch for Prophet during this talk,
            I’ll give you this T-shirt.”


                   Jesse
        “Prophet
                     T-Shirt         ”
But I did nothing!




                     ...
Hmm...
Maybe What He thought would be...
“How Pity!”

“                 ”
It’s a Joke!
Anyway, Thanks so so much Jesse!


                Jesse     !
Your Free Software “will” be running at our company
2007            2008




Silver Sponsor   Gold Sponsor
Company Works
System Monitoring, Maintenance
Promotion Support
EC Service Support
And
CodeRepos
CodeRepos
http://www.infomarks.co.jp/
http://blog.infomarks.co.jp/
- Index
- Index
• System Monitoring
 • About System Monitoring
 • What to Monitor?
 • CTI
 • Nagios || App::MadEye
 • Trac
• Demo
• Summary
System Monitoring
Why?
It’s a main job of our company
There has been too many session
             about
System Monitoring
in
YAPC::(.+) (¥d+)
Yeah, That Is Why I’m talking about
“Too Many” eq “Very Important”
True / False ?
It’s Your Choice.
TALOMT
It Means...
There’s A Lot Of Monitoring Tools
• •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
What To Monitor
• Port-Availability
 • HTTP, HTTPS, SSH,TELNET
 • FTP, SMTP, IMAP
 • POP3
 • etc
• System Resources
 • DISK
 • CPU
 • Memory
 • Swap
 • Network
 • I/O
 • Load Average
 • Process
 • etc
• Application/Daemons
 • MySQL/Oracle
 • DNS
 • Mail
 • Apache
 • etc
• System/Application Log
 • Kernel log
 • DB error.log
 • Web server error.log / access.log
 • etc
There’s More Than
     One Way
To Notify Warnings!
Mail
Instant Messenger
IRC
and...
VFD?
But No one knows
SOMETHING WRONG
Like This...
Or
Warning Lamp?
What do you think about
         CTI?
      CTI
CTI
CTI ?
Computer Telephony Integration
CTI

•
•
•
•
Computer Telephony Integration
CTI is used on...
Tele-Banking
Customer Support
Tele-Marketing
Voice Phishing



(                    )
And so on...
Before CTI
 CTI
We used to get
         inbound calls
From Several Services Whenever
      system is in trouble
But, It Costs Every Months

                       ...
¥
But, It Costs Every Months

                       ...
Hmm...
We always wanted to make a system that is either
a Low Cost
Scalable
under our Control
The Answer is ...



      ,
CTI
And
OSS
CTI with Closed Source

          CTI
- OS $200
- Application $3000

 - from www.voicetronix.com.au
But, Open Source is...
- OS ¥0
    - Application ¥0


- from www.voicetronix.com.au
Wow!
Voicetronix
 OpenPCI Card
- CPAN Module
  (Telephony::CTPort)
- Low Cost ($400~)
- RJ-11
CTI on System
 Monitoring?
 CTI
       ?
Call



Log




      Warning! / Critical!
ex >
while(Monitoring)
HTTP is down!
Ringing~
Off Hook
Hello?
“Somethings Wrong!”
     “       ”
“Somethings Wrong!!”
    “         ”
Somethings Wrong!!!
   “           ”
the CTI Notifier(?) just called us


          CTI
Whenever SA hears
“Somethings Wrong”

”        ”
• He would be (    )

 • stressed (              )

 • impatient (                 )

 • angry (             )

 • et cetra....(                   )
Like This
“WTF?”   “   ”
In the Graph...
SA’s Stress

100

 75

 50

 25

  0
      1   2       3         4   5

System trouble (# of Calls)
we wish SA for some happiness
Is there any good solution?
!
Yatta~
After We have Completed
       this Mission,
SA will be
        (.+)
     whenever
Service goes Down
• Happy(         )

• Less Stress(       )

• etc(           )
In Visual Mode
SA’s Stress

70.0

52.5

35.0

17.5

  0
       1   2       3         4   5

       System trouble (Call)
More x 2 Visual Mode
Like This
Why?
   ?
What’s happened to him?
The Silver Bullet is what
  we gave to him is...

                            ...
Code
use Telephony::CTPort
Methods
Methods
• on_hook(), off_hook()
Methods
• on_hook(), off_hook()
• wait_for_ring(), wait_for_dialtone()
Methods
• on_hook(), off_hook()
• wait_for_ring(), wait_for_dialtone()
• record($file_name, $timeout,$term_key)
Methods
• on_hook(), off_hook()
• wait_for_ring(), wait_for_dialtone()
• record($file_name, $timeout,$term_key)
• collect($max_digits, $max_sec)
Methods
• on_hook(), off_hook()
• wait_for_ring(), wait_for_dialtone()
• record($file_name, $timeout,$term_key)
• collect($max_digits, $max_sec)
• dial($number)
Make a Call
Make a Call

on_hook()
Make a Call

on_hook()
Make a Call

on_hook()   off_hook()
Make a Call

on_hook()   off_hook()
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()


                                dial($num)
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()


                                dial($num)
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()


                                dial($num)


                Ring~ Ring~
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()


                                dial($num)


                Ring~ Ring~
Make a Call

on_hook()   off_hook()       wait_for_dial_tone()


                                dial($num)


                Ring~ Ring~
Make a Call

on_hook()    off_hook()       wait_for_dial_tone()


                                  dial($num)


                    Ring~ Ring~

     some_event()
Receive a Call
Receive a Call

on_hook()
Receive a Call

on_hook()
Receive a Call

on_hook()   wait_for_ring()
Receive a Call

on_hook()   wait_for_ring()
Receive a Call

on_hook()   wait_for_ring()     Ring~ Ring~
Receive a Call

on_hook()   wait_for_ring()     Ring~ Ring~
Receive a Call

on_hook()   wait_for_ring()     Ring~ Ring~
Receive a Call

on_hook()   wait_for_ring()     Ring~ Ring~



                                off_hook()
Receive a Call

on_hook()   wait_for_ring()     Ring~ Ring~



                                off_hook()
Receive a Call

on_hook()   wait_for_ring()     Ring~ Ring~



                                off_hook()


                some_event()
# 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; }
It will be a very Amazing System with
    previously mentioned features.
But, It has a Critical Weakness!
    CTI
It is...
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
                                     .....
orz
I hope...
Please Don’t Use
     CTI for
Voice Phishing! :-)
 “         ”
Nagios
     or
App::MadEye
use Class::Component;
Pluggable Monitoring System
Why Trac?
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);
}
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(...);
}
Demo
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 ?
Thank You!
Any Questions?

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

Video club consulta
Video club consultaVideo club consulta
Video club consulta
 
From Zero to Iterators: Building and Extending the Iterator Hierarchy in a Mo...
From Zero to Iterators: Building and Extending the Iterator Hierarchy in a Mo...From Zero to Iterators: Building and Extending the Iterator Hierarchy in a Mo...
From Zero to Iterators: Building and Extending the Iterator Hierarchy in a Mo...
 
dplyr use case
dplyr use casedplyr use case
dplyr use case
 
dplyr
dplyrdplyr
dplyr
 
Descobrindo a linguagem Perl
Descobrindo a linguagem PerlDescobrindo a linguagem Perl
Descobrindo a linguagem Perl
 
TDDBC お題
TDDBC お題TDDBC お題
TDDBC お題
 
05 1 수식과 연산자
05 1 수식과 연산자05 1 수식과 연산자
05 1 수식과 연산자
 
NDC 2011 - The FLUID Principles
NDC 2011 - The FLUID PrinciplesNDC 2011 - The FLUID Principles
NDC 2011 - The FLUID Principles
 

Similar a Yapc Asia 2008 TMTOWTMS

Voicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.com
Voxeo Corp
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
Siva Arunachalam
 
Rootkit on Linux X86 v2.6
Rootkit on Linux X86 v2.6Rootkit on Linux X86 v2.6
Rootkit on Linux X86 v2.6
fisher.w.y
 

Similar a Yapc Asia 2008 TMTOWTMS (20)

Voicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.comVoicecon - Mashups with Tropo.com
Voicecon - Mashups with Tropo.com
 
Exact Real Arithmetic for Tcl
Exact Real Arithmetic for TclExact Real Arithmetic for Tcl
Exact Real Arithmetic for Tcl
 
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
Dip Your Toes in the Sea of Security (PHP MiNDS January Meetup 2016)
 
Dip Your Toes in the Sea of Security (PHP Berkshire Nov 2015)
Dip Your Toes in the Sea of Security (PHP Berkshire Nov 2015)Dip Your Toes in the Sea of Security (PHP Berkshire Nov 2015)
Dip Your Toes in the Sea of Security (PHP Berkshire Nov 2015)
 
Phone calls and sms from php
Phone calls and sms from phpPhone calls and sms from php
Phone calls and sms from php
 
Dip Your Toes in the Sea of Security (PHP UK 2016)
Dip Your Toes in the Sea of Security (PHP UK 2016)Dip Your Toes in the Sea of Security (PHP UK 2016)
Dip Your Toes in the Sea of Security (PHP UK 2016)
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
 
Serverless stateful
Serverless statefulServerless stateful
Serverless stateful
 
Writing Modular Command-line Apps with App::Cmd
Writing Modular Command-line Apps with App::CmdWriting Modular Command-line Apps with App::Cmd
Writing Modular Command-line Apps with App::Cmd
 
Fewer cables
Fewer cablesFewer cables
Fewer cables
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Home Automation with Asterisk - Astricon 2015 - Alberto Sagredo Castro
Home Automation with Asterisk - Astricon 2015 - Alberto Sagredo CastroHome Automation with Asterisk - Astricon 2015 - Alberto Sagredo Castro
Home Automation with Asterisk - Astricon 2015 - Alberto Sagredo Castro
 
A CTF Hackers Toolbox
A CTF Hackers ToolboxA CTF Hackers Toolbox
A CTF Hackers Toolbox
 
Rootkit on Linux X86 v2.6
Rootkit on Linux X86 v2.6Rootkit on Linux X86 v2.6
Rootkit on Linux X86 v2.6
 
Ss7 isup homer
Ss7 isup homerSs7 isup homer
Ss7 isup homer
 
OSMC 2013 | Making monitoring simple? by Michael Medin
OSMC 2013 | Making monitoring simple? by Michael MedinOSMC 2013 | Making monitoring simple? by Michael Medin
OSMC 2013 | Making monitoring simple? by Michael Medin
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Asterisk 11to16, What could go wrong
Asterisk 11to16, What could go wrongAsterisk 11to16, What could go wrong
Asterisk 11to16, What could go wrong
 
Chasing Bugs with the BeepBeep Event Stream Processor
Chasing Bugs with the BeepBeep Event Stream ProcessorChasing Bugs with the BeepBeep Event Stream Processor
Chasing Bugs with the BeepBeep Event Stream Processor
 

Más de Jeen Lee (6)

Systrade using perl (윤재원)
Systrade using perl (윤재원)Systrade using perl (윤재원)
Systrade using perl (윤재원)
 
Perl web app 테스트전략
Perl web app 테스트전략Perl web app 테스트전략
Perl web app 테스트전략
 
TRunner
TRunnerTRunner
TRunner
 
Smolder @Silex
Smolder @SilexSmolder @Silex
Smolder @Silex
 
YASPS OPENNING
YASPS OPENNINGYASPS OPENNING
YASPS OPENNING
 
Perlmania_Study - CPAN
Perlmania_Study - CPANPerlmania_Study - CPAN
Perlmania_Study - CPAN
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Yapc Asia 2008 TMTOWTMS