SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Distributed Monitoring
         for Web Apps
            Fernando Hönig
          fernando.honig@intel.com




1
About me
    - From Córdoba, Argentina
    - System Administrator
    - Working last 7 years in IT Companies
    - Working in Intel IT since April 2011
    - Married with Jesica and Father of Benjamin
    (2)




    * Other names and brands may be claimed as the property of others.
2
Third Party Vendors / Open Source
     This presentation will cover the solution achieved instead
      of talking about third party vendors.
     All products used for this are open source.


     Best Practices
     With this presentation we would like to show IT@Intel
      processes and best practices.




    * Other names and brands may be claimed as the property of others.
3
Topics
    - Problem Overview
    - Distributed Infrastructure
    - Failover Solution
    - Webinject Architecture
    - API Feeds Integration
    - Multi Checks + NRPE
    - Notifications with SMS and VoIP
    - Q/A



    * Other names and brands may be claimed as the property of others.
4
Why do we need a Distributed
    Infrastructure?
     More than 500 Services Checks per Customer
     Apps from our Customer needs to be reached from diff
      GEOs
     Checks every 1 or 5 minutes
    Why do we/ need a Centralized
      Redundancy Fast Recovery
     Dashboard?
     ACLs for different customers and groups.
     Fast and simple services/commands/hosts
      adds/updates/removal.
     MySQL stored performance data for external BI solutions.


    * Other names and brands may be claimed as the property of others.
5
Centralized Dashboard / Nagios
    Distribution
                                                                  External
                                                                 Monitoring
                                                                Provider #1




                                                                 Region #1




                                                                 Region #2




                                                                 Region #3




                                                               Region #N


                                                                   External
                                                                 Monitoring
                                                                 Provider #2




    * Other names and brands may be claimed as the property of others.
6
Simple Distributed Nagios with NDOUtils
                                                                         Ndomod.cfg - Example
                                                                         instance_name=Central
                                                                         output_type=tcpsocket
                                                                         output=127.0.0.1
                                                                         tcp_port=5668
                                                                         output_buffer_items=5000
                                                                         file_rotation_interval=14400
                                                                         file_rotation_timeout=60
                                                                         reconnect_interval=15
                                                                         reconnect_warning_interval=900
                                                                         data_processing_options=-1
                                                                         config_output_options=3

                                                                         Ndo2db.cfg - Example
                                                                         ndo2db_user=nagios
                                                                         ndo2db_group=nagios
                                                                         socket_type=tcp
                                                                         socket_name=/var/run/ndo.sock
                                                                         tcp_port=5668
                                                                         db_servertype=mysql
                                                                         db_host=localhost
                                                                         db_name=centstatus
                                                                         db_port=3306
                                                                         db_prefix=nagios_
                                                                         db_user=username
                                                                         db_pass=password
                                                                         max_timedevents_age=1440
                                                                         max_systemcommands_age=1440
                                                                         max_servicechecks_age=1440
                                                                         max_hostchecks_age=1440
                                                                         max_eventhandlers_age=1440



    * Other names and brands may be claimed as the property of others.
7
How to Enable a new distributed node?
       To enable a new Nagios node you just need to:

       • Install a VM with the latest Nagios/NRPE/NDOMod code.
       • Setup ssh-without-password auth for nagios user. Add some sudo rights.
       • Enable that node in the centralized interface.
            • Create a new poller
            • Create a new nagios.cfg config for that poller
            • Create a new ndomod config for that poller
       • Enable the service checks that you need on that poller



                                       All of this could be automated




    * Other names and brands may be claimed as the property of others.
8
Remote Pollers Visualization



    Remote Services / Checks




    * Other names and brands may be claimed as the property of others.
9
Distributed with Failover




     * Other names and brands may be claimed as the property of others.
10
Failover Infrastructure Scripts / Master
  Side
#!/bin/sh

apacherun=`ps ax | grep /usr/sbin/httpd | grep -v grep | cut -c1-5 | paste -s -`
nagiosrun=`ps ax | grep /usr/local/nagios/bin/nagios | grep -v grep | cut -c1-5 | paste -s -`

                      if [ "$nagiosrun" == "" ];
                      then
                          echo "Stopping Apache since Nagios is not running"
                           /etc/init.d/apache2 stop
                      else
                               echo "Nagios running"
                      fi

                      if [ "$apacherun" == "" ];
                      then
                           echo "Stopping Nagios since Apache is not running"
                          /etc/init.d/nagios stop
                      else
                               echo "Apache running"
                      fi
exit 0

 NRPE Command
command[check_nagios_failover]=/usr/local/nagios/libexec/check_nagios -F /usr/local/nagios/var/status.dat -e 1 -C
'/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg'




      * Other names and brands may be claimed as the property of others.
11
Failover Infrastructure Scripts / Failover
      Side
#!/bin/sh
nagcmd=`/usr/local/nagios/libexec/check_nrpe -H 172.16.0.1 -c check_nagios_failover`
now=`date +%s`
commandfile='/usr/local/nagios/var/rw/nagios.cmd'
apacherun=`ps ax | grep /usr/sbin/httpd | grep -v grep | cut -c1-5 | paste -s -`
nagiosrun=`ps ax | grep /usr/local/nagios/bin/nagios | grep -v grep | cut -c1-5 | paste -s -`
CHECK=`echo $nagcmd | grep CRITICAL`

if [ "$CHECK" == "" ] ; then
        echo "Nagios Master is OK"
       if [ "$apacherun" ];
                       then
                          echo "Stopping Apache"
                          /etc/init.d/apache2 stop
                       fi
                       if [ "$nagiosrun" ];
                       then
                          echo "Stopping Nagios"
                          /etc/init.d/nagios stop
                       fi
else
       if [ "$apacherun" == "" ];
         then
          echo "Starting Apache"
          /etc/init.d/apache2 start
       fi
       if [ "$nagiosrun" == "" ];
         then
          echo "Starting Nagios"
          /etc/init.d/nagios start
          sleep 15
       fi
 /bin/echo "[%lu] SEND_CUSTOM_HOST_NOTIFICATION;nagiosmaster;2;nagiosfailover;Master Nagios seems to be down. Oncall Group Engaged.
Nagios Failover in place.n" $now > $commandfile
fi
exit 0




       * Other names and brands may be claimed as the property of others.
 12
Web Apps Monitoring




     * Other names and brands may be claimed as the property of others.
13
How can we monitor Web Apps?



                                                                                   All these white holes are the
                                                                                   space that we’re not monitoring
                                                                                   using these checks.
                                                                  Intel Web Apps




     * Other names and brands may be claimed as the property of others.
14
How can we monitor Web Apps?




                                                                          Intel Web Apps




                           Probably we’re not covering 100%,
                           but white holes are not as big as
                           before. This is a continuous
                           improvement

     * Other names and brands may be claimed as the property of others.
15
What’s Webinject?
      WebInject is a free tool for automated testing of web applications
      and web services. It can be used to test individual system
      components that have HTTP interfaces. WebInject offers real-time
      results display and may also be used for monitoring system
      response times.*
      * Source: www.webinject.org

     How it works?
                                                                                Web
                                     Config                     TestCase
                                                                                Apps

     What do you receive after a check?

                                           OK                        CRITICAL



     * Other names and brands may be claimed as the property of others.
16
Webinject Installation
     How to Install it?:

     From Cpan Perl Library use: install Webinject




     From Consol Labs: http://labs.consol.de/lang/de/nagios/check_webinject/




     * Other names and brands may be claimed as the property of others.
17
Webinject Architecture
     Config File Model:

     <testcasefile>test.xml</testcasefile>
     <globalhttplog>no</globalhttplog>
     <reporttype>nagios</reporttype>
     <timeout>10</timeout>
     <useragent>Mozilla/5.0</useragent>
     <proxy>http://127.0.0.1:8080</proxy>




     * Other names and brands may be claimed as the property of others.
18
Webinject Architecture
     Test Case File Model:

     <testcases repeat="1">
     <case
         id=“1"
         description1=“Case Description"
         url="https://{BASEURL1}/id/health"
         method="post"
         posttype="application/x-www-form-
     urlencoded"
         postbody="string={BASEURL2}&id=1"
         parseresponse='"code":"|",“string"|'
         verifypositive='"state":"{BASEURL2}"'
     />
     </testcases>




     * Other names and brands may be claimed as the property of others.
19
Webinject Architecture
     Test Case File Model:
     <testcases repeat="1">
     <case
         id="1"
         description1="Case Description"
         url="https://{BASEURL1}/id/health"
         method="post"
         posttype="application/x-www-form-urlencoded"
         postbody="string={BASEURL2}&id=1"
         parseresponse='"method":"|"'
         verifypositive='"state":"{BASEURL2}"'
     />
     <case
         id="2"
         description1="Validation"
         url="https://{BASEURL2}/v1/rollback"
         method="post"
         posttype="application/json"
     postbody='{"usermethod":"{PARSEDRESULT}","taxes":false}'
         verifypositive='"transactionMessage":"Transaction Approved"'
     />
     </testcases>




     * Other names and brands may be claimed as the property of others.
20
Webinject and Nagios Integration
         Command Definition:
         define command {
                   command_name webinject
                   command_line /usr/local/webinject/webinject.pl $ARG1$ -c $ARG2$
         }


         Service Definition:
         define service {
                   use generic-service
                   host_name MyApplication-server
                   service_description WebInject Test
                   is_volatile 0
                   check_period 24x7
                   max_check_attempts 3
                   normal_check_interval 1
                   retry_check_interval 1
                   contact_groups myapplication-admins
                   notification_interval 120
                   notification_period 24x7
                   notification_options w,u,c,r
                   check_command webinject! -s BASEURL1=url-domain.com!config_file.xml
                   }




      * Other names and brands may be claimed as the property of others.
21
External API Integration
       We use a webinject SOAP call to get the availability of a test in an external monitoring
       provider.


         #/bin/bash

         #Arguments
         #1 = TestCase

         # Web Inject API Call
         webinject=`/path/to/webinject.pl -c path/to/config.xml $1`

         if [[ "$webinject" == *CRITICAL* ]] ; then
                echo “CRITICAL- $webinject"
                exit 2
         else
                echo "$webinject"
                exit 0
         fi




     * Other names and brands may be claimed as the property of others.
22
Multi Check + NRPE:
     Using check_multi + nrpe we can centralize the distributed execution of
     several scripts and set warning or critical threshold based on # of tests.




     * Other names and brands may be claimed as the property of others.
23
Multi Check + NRPE Architecture:
     Multi Distributed Script

     • Bash script to call check_multi with
       options
     • cmd file to execute the tests and validate
     the execution

     • NRPE remote command executes and
       get the results




     * Other names and brands may be claimed as the property of others.
24
Multi Check Bash Script
     #!/bin/bash

     nagiospluginpath="/usr/local/nagios/libexec"


     $nagiospluginpath/check_multi –f 
     $nagiospluginpath/check_multi_configs/path/webinject.cmd 
             -s TEST1="$1" 
             -s TEST2="$2" 
             -s TEST3="$3" 
             -s TEST4="$4" 
             -t 60 
             -T 120




      * Other names and brands may be claimed as the property of others.
25
Multi Check Command Script

 # Web Inject Calls for Multi Tests

 command    [   place1     ]   =   check_nrpe     -H   place1     -c      external_webinject   -a   "$TEST1$"
 command    [   place2     ]   =   check_nrpe     -H   place2     -c      external_webinject   -a   "$TEST2$"
 command    [   place3     ]   =   check_nrpe     -H   place3     -c      external_webinject   -a   "$TEST3$"
 command    [   place4     ]   =   check_nrpe     -H   place4     -c      external_webinject   -a   "$TEST4$"

 state   [ CRITICAL   ] = COUNT(CRITICAL) > 3 || COUNT(WARNING)==COUNT(ALL) ||
   COUNT(UNKNOWN)==COUNT(ALL)
 state   [ WARNING    ] = COUNT(WARNING) > 0 || COUNT(CRITICAL) > 0 || COUNT(UNKNOWN) > 0




     * Other names and brands may be claimed as the property of others.
26
Multi Check Service Status:




      * Other names and brands may be claimed as the property of others.
27
Additional Notifications




     * Other names and brands may be claimed as the property of others.
28
Notifications with SMS




     * Other names and brands may be claimed as the property of others.
29
Notifications with VoIP Calls (Nagios
     calls you)




     * Other names and brands may be claimed as the property of others.
30
Complete Distributed Monitoring
     Solution




     * Other names and brands may be claimed as the property of others.
31
Q/A




                                                  Fernando Hönig
                                             fernando.honig@intel.com
                                                   @fernandohonig
                                                          www.linkedin.com/in/fernandoh
                                                          onig

     * Other names and brands may be claimed as the property of others.
32
Legal Notices




This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
* Other names and brands may be claimed as the property of others.
Copyright © 2012, Intel Corporation. All rights reserved.



       * Other names and brands may be claimed as the property of others.
33

Weitere ähnliche Inhalte

Was ist angesagt?

A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...
A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...
A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...CODE BLUE
 
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템Sam Kim
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetWalter Heck
 
Pf: the OpenBSD packet filter
Pf: the OpenBSD packet filterPf: the OpenBSD packet filter
Pf: the OpenBSD packet filterGiovanni Bechis
 
Application Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.keyApplication Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.keyTim Bunce
 
PL/Perl - New Features in PostgreSQL 9.0 201012
PL/Perl - New Features in PostgreSQL 9.0 201012PL/Perl - New Features in PostgreSQL 9.0 201012
PL/Perl - New Features in PostgreSQL 9.0 201012Tim Bunce
 
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)julien pauli
 
Make container without_docker_7
Make container without_docker_7Make container without_docker_7
Make container without_docker_7Sam Kim
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnAppWalter Heck
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments Eueung Mulyana
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersDevDay Dresden
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoringTiago Simões
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全維泰 蔡
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 
Possibility of arbitrary code execution by Step-Oriented Programming
Possibility of arbitrary code execution by Step-Oriented ProgrammingPossibility of arbitrary code execution by Step-Oriented Programming
Possibility of arbitrary code execution by Step-Oriented Programmingkozossakai
 
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)Hari
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016StackIQ
 

Was ist angesagt? (19)

A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...
A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...
A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! ...
 
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
Pf: the OpenBSD packet filter
Pf: the OpenBSD packet filterPf: the OpenBSD packet filter
Pf: the OpenBSD packet filter
 
Application Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.keyApplication Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.key
 
PL/Perl - New Features in PostgreSQL 9.0 201012
PL/Perl - New Features in PostgreSQL 9.0 201012PL/Perl - New Features in PostgreSQL 9.0 201012
PL/Perl - New Features in PostgreSQL 9.0 201012
 
Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)Php in 2013 (Web-5 2013 conference)
Php in 2013 (Web-5 2013 conference)
 
Make container without_docker_7
Make container without_docker_7Make container without_docker_7
Make container without_docker_7
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
Basic onos-tutorial
Basic onos-tutorialBasic onos-tutorial
Basic onos-tutorial
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for Developers
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoring
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 
Possibility of arbitrary code execution by Step-Oriented Programming
Possibility of arbitrary code execution by Step-Oriented ProgrammingPossibility of arbitrary code execution by Step-Oriented Programming
Possibility of arbitrary code execution by Step-Oriented Programming
 
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
 
Pycon Sec
Pycon SecPycon Sec
Pycon Sec
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016
 

Andere mochten auch

Auto scaling applications in 10 minutes (CakeFest 2013)
Auto scaling applications in 10 minutes (CakeFest 2013)Auto scaling applications in 10 minutes (CakeFest 2013)
Auto scaling applications in 10 minutes (CakeFest 2013)Juan Basso
 
No More Mr. Nice Guy The MEAN Stack
No More Mr. Nice Guy   The MEAN StackNo More Mr. Nice Guy   The MEAN Stack
No More Mr. Nice Guy The MEAN StackWill Button
 
Autoscaler architecture of apache stratos 4.0.0
Autoscaler architecture of apache stratos 4.0.0Autoscaler architecture of apache stratos 4.0.0
Autoscaler architecture of apache stratos 4.0.0Lahiru Sandaruwan
 
cloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web Servicescloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web ServicesVMEngine
 
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Helena Edelson
 

Andere mochten auch (6)

Auto scaling applications in 10 minutes (CakeFest 2013)
Auto scaling applications in 10 minutes (CakeFest 2013)Auto scaling applications in 10 minutes (CakeFest 2013)
Auto scaling applications in 10 minutes (CakeFest 2013)
 
Cloud concepts
Cloud conceptsCloud concepts
Cloud concepts
 
No More Mr. Nice Guy The MEAN Stack
No More Mr. Nice Guy   The MEAN StackNo More Mr. Nice Guy   The MEAN Stack
No More Mr. Nice Guy The MEAN Stack
 
Autoscaler architecture of apache stratos 4.0.0
Autoscaler architecture of apache stratos 4.0.0Autoscaler architecture of apache stratos 4.0.0
Autoscaler architecture of apache stratos 4.0.0
 
cloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web Servicescloud conference 2013 - Infrastructure as a Service in Amazon Web Services
cloud conference 2013 - Infrastructure as a Service in Amazon Web Services
 
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
 

Ähnlich wie Nagios Conference 2012 - Fernando Honig - Nagios Distributed Monitoring for Web Applications

X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newYiwei Ma
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetOmar Reygaert
 
Debian 5 Hardening Tips
Debian 5 Hardening TipsDebian 5 Hardening Tips
Debian 5 Hardening Tipss3m1llon
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration of neutron, nova and designate how to use it and how to configur...
Integration of neutron, nova and designate  how to use it and how to configur...Integration of neutron, nova and designate  how to use it and how to configur...
Integration of neutron, nova and designate how to use it and how to configur...Miguel Lavalle
 
Openstack Quantum + Devstack Tutorial
Openstack Quantum + Devstack TutorialOpenstack Quantum + Devstack Tutorial
Openstack Quantum + Devstack TutorialDavid Lapsley
 
Making Your Capistrano Recipe Book
Making Your Capistrano Recipe BookMaking Your Capistrano Recipe Book
Making Your Capistrano Recipe BookTim Riley
 
agri inventory - nouka data collector / yaoya data convertor
agri inventory - nouka data collector / yaoya data convertoragri inventory - nouka data collector / yaoya data convertor
agri inventory - nouka data collector / yaoya data convertorToshiaki Baba
 
linux_Commads
linux_Commadslinux_Commads
linux_Commadstastedone
 
Nko workshop - node js crud & deploy
Nko workshop - node js crud & deployNko workshop - node js crud & deploy
Nko workshop - node js crud & deploySimon Su
 
Configuring wifi in open embedded builds
Configuring wifi in open embedded buildsConfiguring wifi in open embedded builds
Configuring wifi in open embedded buildsMender.io
 
glance replicator
glance replicatorglance replicator
glance replicatoririx_jp
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewMarco Amado
 
Fosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbcFosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbcstefansayer
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ublnewrforce
 
Introduction to apache zoo keeper
Introduction to apache zoo keeper Introduction to apache zoo keeper
Introduction to apache zoo keeper Omid Vahdaty
 

Ähnlich wie Nagios Conference 2012 - Fernando Honig - Nagios Distributed Monitoring for Web Applications (20)

X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + Puppet
 
Debian 5 Hardening Tips
Debian 5 Hardening TipsDebian 5 Hardening Tips
Debian 5 Hardening Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration of neutron, nova and designate how to use it and how to configur...
Integration of neutron, nova and designate  how to use it and how to configur...Integration of neutron, nova and designate  how to use it and how to configur...
Integration of neutron, nova and designate how to use it and how to configur...
 
Openstack Quantum + Devstack Tutorial
Openstack Quantum + Devstack TutorialOpenstack Quantum + Devstack Tutorial
Openstack Quantum + Devstack Tutorial
 
Linux Hardening - nullhyd
Linux Hardening - nullhydLinux Hardening - nullhyd
Linux Hardening - nullhyd
 
Making Your Capistrano Recipe Book
Making Your Capistrano Recipe BookMaking Your Capistrano Recipe Book
Making Your Capistrano Recipe Book
 
linux-namespaces.pdf
linux-namespaces.pdflinux-namespaces.pdf
linux-namespaces.pdf
 
agri inventory - nouka data collector / yaoya data convertor
agri inventory - nouka data collector / yaoya data convertoragri inventory - nouka data collector / yaoya data convertor
agri inventory - nouka data collector / yaoya data convertor
 
linux_Commads
linux_Commadslinux_Commads
linux_Commads
 
Nko workshop - node js crud & deploy
Nko workshop - node js crud & deployNko workshop - node js crud & deploy
Nko workshop - node js crud & deploy
 
Osol Pgsql
Osol PgsqlOsol Pgsql
Osol Pgsql
 
Configuring wifi in open embedded builds
Configuring wifi in open embedded buildsConfiguring wifi in open embedded builds
Configuring wifi in open embedded builds
 
glance replicator
glance replicatorglance replicator
glance replicator
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
 
Fosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbcFosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbc
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ubl
 
Storage managment using nagios
Storage managment using nagiosStorage managment using nagios
Storage managment using nagios
 
Introduction to apache zoo keeper
Introduction to apache zoo keeper Introduction to apache zoo keeper
Introduction to apache zoo keeper
 

Mehr von Nagios

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best PracticesNagios
 
Jesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture OverviewJesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture OverviewNagios
 
Trevor McDonald - Nagios XI Under The Hood
Trevor McDonald  - Nagios XI Under The HoodTrevor McDonald  - Nagios XI Under The Hood
Trevor McDonald - Nagios XI Under The HoodNagios
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsNagios
 
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise EditionMarcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise EditionNagios
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsNagios
 
Dave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical ExperienceDave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical ExperienceNagios
 
Mike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service ChecksMike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service ChecksNagios
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationNagios
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Nagios
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosMatt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosNagios
 
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Nagios
 
Eric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosEric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosNagios
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Nagios
 
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...Nagios
 
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson OpeningNagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson OpeningNagios
 
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNagios
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - FeaturesNagios
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios
 
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing NagiosNagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing NagiosNagios
 

Mehr von Nagios (20)

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
 
Jesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture OverviewJesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture Overview
 
Trevor McDonald - Nagios XI Under The Hood
Trevor McDonald  - Nagios XI Under The HoodTrevor McDonald  - Nagios XI Under The Hood
Trevor McDonald - Nagios XI Under The Hood
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient Notifications
 
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise EditionMarcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios Plugins
 
Dave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical ExperienceDave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical Experience
 
Mike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service ChecksMike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service Checks
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosMatt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With Nagios
 
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
 
Eric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosEric Loyd - Fractal Nagios
Eric Loyd - Fractal Nagios
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
 
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
 
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson OpeningNagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson Opening
 
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - Features
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - Features
 
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing NagiosNagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
 

Kürzlich hochgeladen

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 WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Nagios Conference 2012 - Fernando Honig - Nagios Distributed Monitoring for Web Applications

  • 1. Distributed Monitoring for Web Apps Fernando Hönig fernando.honig@intel.com 1
  • 2. About me - From Córdoba, Argentina - System Administrator - Working last 7 years in IT Companies - Working in Intel IT since April 2011 - Married with Jesica and Father of Benjamin (2) * Other names and brands may be claimed as the property of others. 2
  • 3. Third Party Vendors / Open Source  This presentation will cover the solution achieved instead of talking about third party vendors.  All products used for this are open source. Best Practices  With this presentation we would like to show IT@Intel processes and best practices. * Other names and brands may be claimed as the property of others. 3
  • 4. Topics - Problem Overview - Distributed Infrastructure - Failover Solution - Webinject Architecture - API Feeds Integration - Multi Checks + NRPE - Notifications with SMS and VoIP - Q/A * Other names and brands may be claimed as the property of others. 4
  • 5. Why do we need a Distributed Infrastructure?  More than 500 Services Checks per Customer  Apps from our Customer needs to be reached from diff GEOs  Checks every 1 or 5 minutes Why do we/ need a Centralized Redundancy Fast Recovery Dashboard?  ACLs for different customers and groups.  Fast and simple services/commands/hosts adds/updates/removal.  MySQL stored performance data for external BI solutions. * Other names and brands may be claimed as the property of others. 5
  • 6. Centralized Dashboard / Nagios Distribution External Monitoring Provider #1 Region #1 Region #2 Region #3 Region #N External Monitoring Provider #2 * Other names and brands may be claimed as the property of others. 6
  • 7. Simple Distributed Nagios with NDOUtils Ndomod.cfg - Example instance_name=Central output_type=tcpsocket output=127.0.0.1 tcp_port=5668 output_buffer_items=5000 file_rotation_interval=14400 file_rotation_timeout=60 reconnect_interval=15 reconnect_warning_interval=900 data_processing_options=-1 config_output_options=3 Ndo2db.cfg - Example ndo2db_user=nagios ndo2db_group=nagios socket_type=tcp socket_name=/var/run/ndo.sock tcp_port=5668 db_servertype=mysql db_host=localhost db_name=centstatus db_port=3306 db_prefix=nagios_ db_user=username db_pass=password max_timedevents_age=1440 max_systemcommands_age=1440 max_servicechecks_age=1440 max_hostchecks_age=1440 max_eventhandlers_age=1440 * Other names and brands may be claimed as the property of others. 7
  • 8. How to Enable a new distributed node? To enable a new Nagios node you just need to: • Install a VM with the latest Nagios/NRPE/NDOMod code. • Setup ssh-without-password auth for nagios user. Add some sudo rights. • Enable that node in the centralized interface. • Create a new poller • Create a new nagios.cfg config for that poller • Create a new ndomod config for that poller • Enable the service checks that you need on that poller All of this could be automated * Other names and brands may be claimed as the property of others. 8
  • 9. Remote Pollers Visualization Remote Services / Checks * Other names and brands may be claimed as the property of others. 9
  • 10. Distributed with Failover * Other names and brands may be claimed as the property of others. 10
  • 11. Failover Infrastructure Scripts / Master Side #!/bin/sh apacherun=`ps ax | grep /usr/sbin/httpd | grep -v grep | cut -c1-5 | paste -s -` nagiosrun=`ps ax | grep /usr/local/nagios/bin/nagios | grep -v grep | cut -c1-5 | paste -s -` if [ "$nagiosrun" == "" ]; then echo "Stopping Apache since Nagios is not running" /etc/init.d/apache2 stop else echo "Nagios running" fi if [ "$apacherun" == "" ]; then echo "Stopping Nagios since Apache is not running" /etc/init.d/nagios stop else echo "Apache running" fi exit 0 NRPE Command command[check_nagios_failover]=/usr/local/nagios/libexec/check_nagios -F /usr/local/nagios/var/status.dat -e 1 -C '/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg' * Other names and brands may be claimed as the property of others. 11
  • 12. Failover Infrastructure Scripts / Failover Side #!/bin/sh nagcmd=`/usr/local/nagios/libexec/check_nrpe -H 172.16.0.1 -c check_nagios_failover` now=`date +%s` commandfile='/usr/local/nagios/var/rw/nagios.cmd' apacherun=`ps ax | grep /usr/sbin/httpd | grep -v grep | cut -c1-5 | paste -s -` nagiosrun=`ps ax | grep /usr/local/nagios/bin/nagios | grep -v grep | cut -c1-5 | paste -s -` CHECK=`echo $nagcmd | grep CRITICAL` if [ "$CHECK" == "" ] ; then echo "Nagios Master is OK" if [ "$apacherun" ]; then echo "Stopping Apache" /etc/init.d/apache2 stop fi if [ "$nagiosrun" ]; then echo "Stopping Nagios" /etc/init.d/nagios stop fi else if [ "$apacherun" == "" ]; then echo "Starting Apache" /etc/init.d/apache2 start fi if [ "$nagiosrun" == "" ]; then echo "Starting Nagios" /etc/init.d/nagios start sleep 15 fi /bin/echo "[%lu] SEND_CUSTOM_HOST_NOTIFICATION;nagiosmaster;2;nagiosfailover;Master Nagios seems to be down. Oncall Group Engaged. Nagios Failover in place.n" $now > $commandfile fi exit 0 * Other names and brands may be claimed as the property of others. 12
  • 13. Web Apps Monitoring * Other names and brands may be claimed as the property of others. 13
  • 14. How can we monitor Web Apps? All these white holes are the space that we’re not monitoring using these checks. Intel Web Apps * Other names and brands may be claimed as the property of others. 14
  • 15. How can we monitor Web Apps? Intel Web Apps Probably we’re not covering 100%, but white holes are not as big as before. This is a continuous improvement * Other names and brands may be claimed as the property of others. 15
  • 16. What’s Webinject? WebInject is a free tool for automated testing of web applications and web services. It can be used to test individual system components that have HTTP interfaces. WebInject offers real-time results display and may also be used for monitoring system response times.* * Source: www.webinject.org How it works? Web Config TestCase Apps What do you receive after a check? OK CRITICAL * Other names and brands may be claimed as the property of others. 16
  • 17. Webinject Installation How to Install it?: From Cpan Perl Library use: install Webinject From Consol Labs: http://labs.consol.de/lang/de/nagios/check_webinject/ * Other names and brands may be claimed as the property of others. 17
  • 18. Webinject Architecture Config File Model: <testcasefile>test.xml</testcasefile> <globalhttplog>no</globalhttplog> <reporttype>nagios</reporttype> <timeout>10</timeout> <useragent>Mozilla/5.0</useragent> <proxy>http://127.0.0.1:8080</proxy> * Other names and brands may be claimed as the property of others. 18
  • 19. Webinject Architecture Test Case File Model: <testcases repeat="1"> <case id=“1" description1=“Case Description" url="https://{BASEURL1}/id/health" method="post" posttype="application/x-www-form- urlencoded" postbody="string={BASEURL2}&id=1" parseresponse='"code":"|",“string"|' verifypositive='"state":"{BASEURL2}"' /> </testcases> * Other names and brands may be claimed as the property of others. 19
  • 20. Webinject Architecture Test Case File Model: <testcases repeat="1"> <case id="1" description1="Case Description" url="https://{BASEURL1}/id/health" method="post" posttype="application/x-www-form-urlencoded" postbody="string={BASEURL2}&id=1" parseresponse='"method":"|"' verifypositive='"state":"{BASEURL2}"' /> <case id="2" description1="Validation" url="https://{BASEURL2}/v1/rollback" method="post" posttype="application/json" postbody='{"usermethod":"{PARSEDRESULT}","taxes":false}' verifypositive='"transactionMessage":"Transaction Approved"' /> </testcases> * Other names and brands may be claimed as the property of others. 20
  • 21. Webinject and Nagios Integration Command Definition: define command { command_name webinject command_line /usr/local/webinject/webinject.pl $ARG1$ -c $ARG2$ } Service Definition: define service { use generic-service host_name MyApplication-server service_description WebInject Test is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 1 retry_check_interval 1 contact_groups myapplication-admins notification_interval 120 notification_period 24x7 notification_options w,u,c,r check_command webinject! -s BASEURL1=url-domain.com!config_file.xml } * Other names and brands may be claimed as the property of others. 21
  • 22. External API Integration We use a webinject SOAP call to get the availability of a test in an external monitoring provider. #/bin/bash #Arguments #1 = TestCase # Web Inject API Call webinject=`/path/to/webinject.pl -c path/to/config.xml $1` if [[ "$webinject" == *CRITICAL* ]] ; then echo “CRITICAL- $webinject" exit 2 else echo "$webinject" exit 0 fi * Other names and brands may be claimed as the property of others. 22
  • 23. Multi Check + NRPE: Using check_multi + nrpe we can centralize the distributed execution of several scripts and set warning or critical threshold based on # of tests. * Other names and brands may be claimed as the property of others. 23
  • 24. Multi Check + NRPE Architecture: Multi Distributed Script • Bash script to call check_multi with options • cmd file to execute the tests and validate the execution • NRPE remote command executes and get the results * Other names and brands may be claimed as the property of others. 24
  • 25. Multi Check Bash Script #!/bin/bash nagiospluginpath="/usr/local/nagios/libexec" $nagiospluginpath/check_multi –f $nagiospluginpath/check_multi_configs/path/webinject.cmd -s TEST1="$1" -s TEST2="$2" -s TEST3="$3" -s TEST4="$4" -t 60 -T 120 * Other names and brands may be claimed as the property of others. 25
  • 26. Multi Check Command Script # Web Inject Calls for Multi Tests command [ place1 ] = check_nrpe -H place1 -c external_webinject -a "$TEST1$" command [ place2 ] = check_nrpe -H place2 -c external_webinject -a "$TEST2$" command [ place3 ] = check_nrpe -H place3 -c external_webinject -a "$TEST3$" command [ place4 ] = check_nrpe -H place4 -c external_webinject -a "$TEST4$" state [ CRITICAL ] = COUNT(CRITICAL) > 3 || COUNT(WARNING)==COUNT(ALL) || COUNT(UNKNOWN)==COUNT(ALL) state [ WARNING ] = COUNT(WARNING) > 0 || COUNT(CRITICAL) > 0 || COUNT(UNKNOWN) > 0 * Other names and brands may be claimed as the property of others. 26
  • 27. Multi Check Service Status: * Other names and brands may be claimed as the property of others. 27
  • 28. Additional Notifications * Other names and brands may be claimed as the property of others. 28
  • 29. Notifications with SMS * Other names and brands may be claimed as the property of others. 29
  • 30. Notifications with VoIP Calls (Nagios calls you) * Other names and brands may be claimed as the property of others. 30
  • 31. Complete Distributed Monitoring Solution * Other names and brands may be claimed as the property of others. 31
  • 32. Q/A Fernando Hönig fernando.honig@intel.com @fernandohonig www.linkedin.com/in/fernandoh onig * Other names and brands may be claimed as the property of others. 32
  • 33. Legal Notices This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries. * Other names and brands may be claimed as the property of others. Copyright © 2012, Intel Corporation. All rights reserved. * Other names and brands may be claimed as the property of others. 33