SlideShare a Scribd company logo
Alerting With MySQL and Nagios




               http://bit.ly/nagios_mysql2012

                       Sheeri Cabral
                  Senior DB Admin/Architect
                                   Mozilla
                                  @sheeri
What is Monitoring?


    Threshold alerting


    Graphing/trending
Why Monitor?

    Problem alerting


    Find patterns
    –   capacity planning
    –   troubleshooting



    Early warning for potential issues
What to Alert?

    Problems you can fix
    –   max_connections
    –   long running queries
    –   locked queries
    –   backup disk space
Nagios is great because...

...anyone can write a plugin
The problem with Nagios...

...anyone can write a plugin
Official Nagios Plugins
             for MySQL


    check_mysql


    check_mysql_query
check_mysql



    db connectivity

    slave running

    slave lag using seconds_behind_master
check_mysql_query


    Checks the output of a query is within a
    certain range (numerical)
Third party plugins

                      System vars   Status vars   Caching   Calculations


   check_mysql            yes          yes          no          no

   check_mysql            no           yes          no          no
    (standard)


check_mysqld_status       no           yes          no          no

 check_mysql_stats        yes           no          yes         no

   check_mysqld           no           many         no          no

check_mysql_health        yes          yes          no      Hard-coded

   check_mysql            yes          yes          no      Hard-coded
“Let us know what you'd like to see!”
What I wanted

                        System vars   Status vars   Caching   Calculations


mysql_health_check.pl       yes          yes          yes       flexible
mysql_health_check.pl
Caching

    Save information to a file
Caching

        Save information to a file
    
          --cache-dir /path/to/dir/
Caching

        Save information to a file
    
          --cache-dir /path/to/dir/

    
          Use the file instead of connecting again
Caching

        Save information to a file
    
          --cache-dir /path/to/dir/

    
       Use the file instead of connecting again
    --max-cache-age <seconds>
Caching

        Save information to a file
    
          --cache-dir /path/to/dir/

    
        Use the file instead of connecting again
    --max-cache-age <seconds>
    --no-cache to force connection
--mode=varcomp

    %metadata{varstatus}
--mode=varcomp

        %metadata{varstatus}
    
          SHOW GLOBAL VARIABLES
    
          SHOW GLOBAL STATUS
--mode=varcomp

        %metadata{varstatus}
    
          SHOW GLOBAL VARIABLES
    
          SHOW GLOBAL STATUS
--mode=varcomp

        %metadata{varstatus}
    
          SHOW GLOBAL VARIABLES
    
          SHOW GLOBAL STATUS


        --expression allows word replacement
--mode=varcomp

        %metadata{varstatus}
    
          SHOW GLOBAL VARIABLES
    
          SHOW GLOBAL STATUS


        --expression allows word replacement


        --warning --critical are flexible
Sample Command Definition
define command {
command_name       check_mysql_tmp_tables
command_line       $USER1$/mysql_health_check.pl
--hostname $HOSTADDRESS$ --user myuser --password
  mypass
Sample Command Definition
define command {
 command_name      check_mysql_tmp_tables
 command_line      $USER1$/mysql_health_check.pl
--hostname $HOSTADDRESS$ --user myuser --password
  mypass
--cache-dir=/var/lib/nagios/mysql_cache
--max-cache-age=300
Sample Command Definition
define command {
 command_name      check_mysql_tmp_tables
 command_line      $USER1$/mysql_health_check.pl
--hostname $HOSTADDRESS$ --user myuser --password
  mypass
--cache-dir=/var/lib/nagios/mysql_cache
--max-cache-age=300
--mode=varcomp
--expression=

    "Created_tmp_tables/Uptime_since_flush_status"
--warning=">(8/60)" --critical=">(10/60)"
}
Sample Command Definition




--mode=varcomp
--expression=

    "Created_tmp_tables/Uptime_since_flush_status"
--warning=">(8/60)" --critical=">(10/60)"
}
Sample Service Definition

define service {
      use                   generic-service
      host_name             __HOSTNAME__
      service_description   MySQL Temp Tables
      check_command         check_mysql_tmp_tables
}
Rates

    Compare to last run
Rates

    Compare to last run


    mode=lastrun-varcomp
Rates

    Compare to last run


    mode=lastrun-varcomp


    current{expr}
Rates

    Compare to last run


    mode=lastrun-varcomp


    current{expr}


    lastrun{expr}
Query Rate

mysql_health_check.pl [host,user,pass]
Query Rate

mysql_health_check.pl [host,user,pass]
--mode lastrun-varcomp
Query Rate

mysql_health_check.pl [host,user,pass]
--mode lastrun-varcomp
--expression "(current{Queries} - lastrun{Queries})
Query Rate

mysql_health_check.pl [host,user,pass]
--mode lastrun-varcomp
--expression "(current{Queries} - lastrun{Queries})
              / (current{Uptime} – lastrun{Uptime})"
Query Rate

mysql_health_check.pl [host,user,pass]
--mode lastrun-varcomp
--expression "(current{Queries} - lastrun{Queries})
              / (current{Uptime} – lastrun{Uptime})"
--comparison ">80"
Other Modes



        --mode=long-query

        --mode=locked-query


        %metadata{proc_list}
    
          SHOW FULL PROCESSLIST
Sample Command
               Definition
define command {
 command_name      check_mysql_locked_queries
 command_line      $USER1$/mysql_health_check.pl
--hostname $HOSTADDRESS$ --user myuser
  --password mypass
--cache-dir=/var/lib/nagios/mysql_cache
--max-cache-age=300
--mode=locked-query
--warning=$ARG1$ --critical=$ARG2$
}
Extending Information
sub fetch_server_meta_data {}


add a new hash key to %metadata

$metadata{varstatus} =
    $dbh->selectall_arrayref(
         q|SHOW GLOBAL VARIABLES|);
Extending Information
sub fetch_server_meta_data {}


add a new hash key to %metadata

$metadata{innodb_status} =
    $dbh->selectall_arrayref(
         q|SHOW ENGINE INNODB STATUS|);
For example
•   %metadata{innodb_status}
     –   SHOW ENGINE INNODB STATUS
          •   Already exists, unused
For example
•   %metadata{innodb_status}
     –   SHOW ENGINE INNODB STATUS
          •   Already exists, unused


•   %metadata{master_status}
     –   SHOW MASTER STATUS
For example
•   %metadata{innodb_status}
     –   SHOW ENGINE INNODB STATUS
          •   Already exists, unused


•   %metadata{master_status}
     –   SHOW MASTER STATUS


•   %metadata{slave_status}
     –   SHOW SLAVE STATUS
“Standard” checks


% max connections
  --expression
      'Threads_connected/max_connections*100'
“Standard” checks


% max connections
  --expression
      'Threads_connected/max_connections*100'


InnoDB enabled
  --expression “have_innodb”
  --comparison=“ne 'YES'”
Did MySQL Crash?


Nagios set to check every 5 minutes
Did MySQL Crash?


Nagios set to check every 5 minutes


Might miss a crash
Did MySQL Crash?


Nagios set to check every 5 minutes


Might miss a crash


Uptime!
  --expression 'Uptime'
  --comparison=“<1800”
“Standard” checks

read_only for slaves
          --expression “read_only”
          --comparison=“ne 'YES'”
“Standard” checks

read_only for slaves
          --expression “read_only”
          --comparison=“ne 'YES'”

% of sleeping connections
# connected, # running, # max connections
“Standard” checks

read_only for slaves
          --expression “read_only”
          --comparison=“ne 'YES'”

% of sleeping connections
# connected, # running, # max connections
--expression="(Threads_connected-
  Threads_running)/max_connections * 100"
--comparison=">$ARG1$"
Limitations


    One check/calculation per Nagios service
    –   But, you can use many variables
    –   Cached output

    Does not output for performance data
    –   Not hard to modify, just no need yet
Where to get it

https://github.com/palominodb/PalominoDB-
Public-Code-Repository/tree/master/nagios/

www.palominodb.com->Community->Projects
Other Nagios Plugins
Nagios Plugin for Partitions
table_partitions.pl --host
--user --pass
--database --table
--range [days|weeks|months]
--verify #
Nagios Plugin for Partitions
table_partitions.pl --host db1.mozilla.com
--user nagiosuser --pass nagiospass
--database addons --table user_addons
--range months
--verify 3
Nagios Plugin for Checksums

After using pt-table-checksum (master)


Slaves have a table with checksum


this_crc vs master_crc
Nagios Plugin for Checksums

check_table_checksums.pl -H host
--user username --pass password
-T checksum_table
-I checksum_freshness
-b dbs,to,skip


https://bugzilla.mozilla.org/show_bug.cgi?id=789058
Mozilla is Hiring!
              http://careers.mozilla.org/
DBA – MySQL, Postgres, NoSQL (some or all)
http://careers.mozilla.org/en-US/position/oTqLWfwK
SysAdmin – RHEL, CentOS, Fedora
http://careers.mozilla.org/en-US/position/o97xWfwt
       US, Canada, UK, France, Spain, Germany, Netherlands,
        Sweden, Denmark, Poland, China, Japan, New Zealand



In Mountain View, Senior Windows/Unix SysAdmin
http://careers.mozilla.org/en-US/position/oZmJWfwK
More Resources
www.palominodb.com->Community->Projects
kimtag.com/mysql

scabral@mozilla.com
OurSQL podcast (oursql.com)


                 slides: http://bit.ly/nagios_mysql2012
                          MySQL Administrator's Bible
                                  youtube.com/tcation
                               http://planet.mysql.com
Ad

More Related Content

What's hot (20)

My sql monitoring cu沙龙
My sql monitoring cu沙龙My sql monitoring cu沙龙
My sql monitoring cu沙龙
colderboy17
 
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook
guoqing75
 
My sql administration
My sql administrationMy sql administration
My sql administration
Mohd yasin Karim
 
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
Wim Godden
 
Memcached Presentation @757rb
Memcached Presentation @757rbMemcached Presentation @757rb
Memcached Presentation @757rb
Ken Collins
 
My SQL 101
My SQL 101My SQL 101
My SQL 101
Dave Stokes
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data Caching
El Taller Web
 
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
Wim Godden
 
Elasticsearch at Dailymotion
Elasticsearch at DailymotionElasticsearch at Dailymotion
Elasticsearch at Dailymotion
Cédric Hourcade
 
hadoop
hadoophadoop
hadoop
krishp84
 
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Codemotion
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorial
Wim Godden
 
Mongodb replication
Mongodb replicationMongodb replication
Mongodb replication
PoguttuezhiniVP
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
Roland Bouman
 
Top Node.js Metrics to Watch
Top Node.js Metrics to WatchTop Node.js Metrics to Watch
Top Node.js Metrics to Watch
Sematext Group, Inc.
 
Replication and replica sets
Replication and replica setsReplication and replica sets
Replication and replica sets
Randall Hunt
 
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
PROIDEA
 
Caching and tuning fun for high scalability @ PHPTour
Caching and tuning fun for high scalability @ PHPTourCaching and tuning fun for high scalability @ PHPTour
Caching and tuning fun for high scalability @ PHPTour
Wim Godden
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
Wim Godden
 
MariaDB for developers
MariaDB for developersMariaDB for developers
MariaDB for developers
Colin Charles
 
My sql monitoring cu沙龙
My sql monitoring cu沙龙My sql monitoring cu沙龙
My sql monitoring cu沙龙
colderboy17
 
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook
guoqing75
 
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
Wim Godden
 
Memcached Presentation @757rb
Memcached Presentation @757rbMemcached Presentation @757rb
Memcached Presentation @757rb
Ken Collins
 
Zend Server Data Caching
Zend Server Data CachingZend Server Data Caching
Zend Server Data Caching
El Taller Web
 
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
Wim Godden
 
Elasticsearch at Dailymotion
Elasticsearch at DailymotionElasticsearch at Dailymotion
Elasticsearch at Dailymotion
Cédric Hourcade
 
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Thijs Feryn - Leverage HTTP to deliver cacheable websites - Codemotion Berlin...
Codemotion
 
phptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorialphptek13 - Caching and tuning fun tutorial
phptek13 - Caching and tuning fun tutorial
Wim Godden
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
Roland Bouman
 
Replication and replica sets
Replication and replica setsReplication and replica sets
Replication and replica sets
Randall Hunt
 
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
PROIDEA
 
Caching and tuning fun for high scalability @ PHPTour
Caching and tuning fun for high scalability @ PHPTourCaching and tuning fun for high scalability @ PHPTour
Caching and tuning fun for high scalability @ PHPTour
Wim Godden
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
Wim Godden
 
MariaDB for developers
MariaDB for developersMariaDB for developers
MariaDB for developers
Colin Charles
 

Viewers also liked (7)

OP5 outline
OP5 outlineOP5 outline
OP5 outline
Simha Bode
 
Nagios Conference 2012 - Alex Solomon - Managing Your Heros
Nagios Conference 2012 - Alex Solomon - Managing Your HerosNagios Conference 2012 - Alex Solomon - Managing Your Heros
Nagios Conference 2012 - Alex Solomon - Managing Your Heros
Nagios
 
Op5 Ftg Pres 2010
Op5 Ftg Pres 2010Op5 Ftg Pres 2010
Op5 Ftg Pres 2010
jjop5
 
Unidad3
Unidad3Unidad3
Unidad3
thefaut
 
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: EliteNagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios
 
Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...
Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...
Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...
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 Conference 2012 - Alex Solomon - Managing Your Heros
Nagios Conference 2012 - Alex Solomon - Managing Your HerosNagios Conference 2012 - Alex Solomon - Managing Your Heros
Nagios Conference 2012 - Alex Solomon - Managing Your Heros
Nagios
 
Op5 Ftg Pres 2010
Op5 Ftg Pres 2010Op5 Ftg Pres 2010
Op5 Ftg Pres 2010
jjop5
 
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: EliteNagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios
 
Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...
Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...
Nagios Conference 2012 - Andrew Widdersheim - Nagios is down boss wants to se...
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
 
Ad

Similar to Nagios Conference 2012 - Sheeri Cabral - Alerting With MySQL and Nagios (20)

Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009
Sean Hull
 
Wckansai 2014
Wckansai 2014Wckansai 2014
Wckansai 2014
Wataru OKAMOTO
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
Ken Robertson
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
Yiwei Ma
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017
Dave Stokes
 
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios
 
My two cents about Mysql backup
My two cents about Mysql backupMy two cents about Mysql backup
My two cents about Mysql backup
Andrejs Vorobjovs
 
Bottom to Top Stack Optimization with LAMP
Bottom to Top Stack Optimization with LAMPBottom to Top Stack Optimization with LAMP
Bottom to Top Stack Optimization with LAMP
katzgrau
 
Bottom to Top Stack Optimization - CICON2011
Bottom to Top Stack Optimization - CICON2011Bottom to Top Stack Optimization - CICON2011
Bottom to Top Stack Optimization - CICON2011
CodeIgniter Conference
 
Best practices for caching Plone with Varnish at large scale - PloneConf Bras...
Best practices for caching Plone with Varnish at large scale - PloneConf Bras...Best practices for caching Plone with Varnish at large scale - PloneConf Bras...
Best practices for caching Plone with Varnish at large scale - PloneConf Bras...
Thijs Feryn
 
Solid and Infrastructure as Code
Solid and Infrastructure as CodeSolid and Infrastructure as Code
Solid and Infrastructure as Code
Bram Vogelaar
 
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Timofey Turenko
 
Intro to PAS REST API
Intro to PAS REST APIIntro to PAS REST API
Intro to PAS REST API
Joe Garcia
 
Quick MySQL performance check
Quick MySQL performance checkQuick MySQL performance check
Quick MySQL performance check
Tom Diederich
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Lindsay Holmwood
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
Jesmar Cannao'
 
Php version 7
Php version 7Php version 7
Php version 7
RANVIJAY GAUR
 
Helm 3
Helm 3Helm 3
Helm 3
Matthew Farina
 
Application Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud ReadinessApplication Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud Readiness
The Incredible Automation Day
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioning
Source Ministry
 
Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009
Sean Hull
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
Yiwei Ma
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017
Dave Stokes
 
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios
 
My two cents about Mysql backup
My two cents about Mysql backupMy two cents about Mysql backup
My two cents about Mysql backup
Andrejs Vorobjovs
 
Bottom to Top Stack Optimization with LAMP
Bottom to Top Stack Optimization with LAMPBottom to Top Stack Optimization with LAMP
Bottom to Top Stack Optimization with LAMP
katzgrau
 
Bottom to Top Stack Optimization - CICON2011
Bottom to Top Stack Optimization - CICON2011Bottom to Top Stack Optimization - CICON2011
Bottom to Top Stack Optimization - CICON2011
CodeIgniter Conference
 
Best practices for caching Plone with Varnish at large scale - PloneConf Bras...
Best practices for caching Plone with Varnish at large scale - PloneConf Bras...Best practices for caching Plone with Varnish at large scale - PloneConf Bras...
Best practices for caching Plone with Varnish at large scale - PloneConf Bras...
Thijs Feryn
 
Solid and Infrastructure as Code
Solid and Infrastructure as CodeSolid and Infrastructure as Code
Solid and Infrastructure as Code
Bram Vogelaar
 
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Timofey Turenko
 
Intro to PAS REST API
Intro to PAS REST APIIntro to PAS REST API
Intro to PAS REST API
Joe Garcia
 
Quick MySQL performance check
Quick MySQL performance checkQuick MySQL performance check
Quick MySQL performance check
Tom Diederich
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Lindsay Holmwood
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
Jesmar Cannao'
 
Application Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud ReadinessApplication Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud Readiness
The Incredible Automation Day
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioning
Source Ministry
 
Ad

More from Nagios (20)

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
Nagios
 
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
Nagios
 
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
Nagios
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient Notifications
Nagios
 
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
Nagios
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios Plugins
Nagios
 
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
Nagios
 
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
Nagios
 
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
Nagios
 
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 Nagios
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.
Nagios
 
Eric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosEric Loyd - Fractal Nagios
Eric Loyd - Fractal Nagios
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...
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 Opening
Nagios
 
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
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - Features
Nagios
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - Features
Nagios
 
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
Nagios
 
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment OptionsNagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios
 
Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
Nagios
 
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
Nagios
 
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
Nagios
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient Notifications
Nagios
 
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
Nagios
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios Plugins
Nagios
 
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
Nagios
 
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
Nagios
 
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
Nagios
 
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 Nagios
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.
Nagios
 
Eric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosEric Loyd - Fractal Nagios
Eric Loyd - Fractal Nagios
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...
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 Opening
Nagios
 
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
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - Features
Nagios
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - Features
Nagios
 
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
Nagios
 
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment OptionsNagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios
 

Recently uploaded (20)

Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Unlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive GuideUnlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive Guide
vikasascentbpo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdfAre Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Telecoms Supermarket
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Web and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in RajpuraWeb and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in Rajpura
Erginous Technology
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
MINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PRMINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PR
MIND CTI
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Unlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive GuideUnlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive Guide
vikasascentbpo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdfAre Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Telecoms Supermarket
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Web and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in RajpuraWeb and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in Rajpura
Erginous Technology
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
MINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PRMINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PR
MIND CTI
 

Nagios Conference 2012 - Sheeri Cabral - Alerting With MySQL and Nagios

  • 1. Alerting With MySQL and Nagios http://bit.ly/nagios_mysql2012 Sheeri Cabral Senior DB Admin/Architect Mozilla @sheeri
  • 2. What is Monitoring?  Threshold alerting  Graphing/trending
  • 3. Why Monitor?  Problem alerting  Find patterns – capacity planning – troubleshooting  Early warning for potential issues
  • 4. What to Alert?  Problems you can fix – max_connections – long running queries – locked queries – backup disk space
  • 5. Nagios is great because... ...anyone can write a plugin
  • 6. The problem with Nagios... ...anyone can write a plugin
  • 7. Official Nagios Plugins for MySQL  check_mysql  check_mysql_query
  • 8. check_mysql  db connectivity  slave running  slave lag using seconds_behind_master
  • 9. check_mysql_query  Checks the output of a query is within a certain range (numerical)
  • 10. Third party plugins System vars Status vars Caching Calculations check_mysql yes yes no no check_mysql no yes no no (standard) check_mysqld_status no yes no no check_mysql_stats yes no yes no check_mysqld no many no no check_mysql_health yes yes no Hard-coded check_mysql yes yes no Hard-coded
  • 11. “Let us know what you'd like to see!”
  • 12. What I wanted System vars Status vars Caching Calculations mysql_health_check.pl yes yes yes flexible
  • 14. Caching  Save information to a file
  • 15. Caching  Save information to a file  --cache-dir /path/to/dir/
  • 16. Caching  Save information to a file  --cache-dir /path/to/dir/  Use the file instead of connecting again
  • 17. Caching  Save information to a file  --cache-dir /path/to/dir/  Use the file instead of connecting again --max-cache-age <seconds>
  • 18. Caching  Save information to a file  --cache-dir /path/to/dir/  Use the file instead of connecting again --max-cache-age <seconds> --no-cache to force connection
  • 19. --mode=varcomp  %metadata{varstatus}
  • 20. --mode=varcomp  %metadata{varstatus}  SHOW GLOBAL VARIABLES  SHOW GLOBAL STATUS
  • 21. --mode=varcomp  %metadata{varstatus}  SHOW GLOBAL VARIABLES  SHOW GLOBAL STATUS
  • 22. --mode=varcomp  %metadata{varstatus}  SHOW GLOBAL VARIABLES  SHOW GLOBAL STATUS  --expression allows word replacement
  • 23. --mode=varcomp  %metadata{varstatus}  SHOW GLOBAL VARIABLES  SHOW GLOBAL STATUS  --expression allows word replacement  --warning --critical are flexible
  • 24. Sample Command Definition define command { command_name check_mysql_tmp_tables command_line $USER1$/mysql_health_check.pl --hostname $HOSTADDRESS$ --user myuser --password mypass
  • 25. Sample Command Definition define command { command_name check_mysql_tmp_tables command_line $USER1$/mysql_health_check.pl --hostname $HOSTADDRESS$ --user myuser --password mypass --cache-dir=/var/lib/nagios/mysql_cache --max-cache-age=300
  • 26. Sample Command Definition define command { command_name check_mysql_tmp_tables command_line $USER1$/mysql_health_check.pl --hostname $HOSTADDRESS$ --user myuser --password mypass --cache-dir=/var/lib/nagios/mysql_cache --max-cache-age=300 --mode=varcomp --expression= "Created_tmp_tables/Uptime_since_flush_status" --warning=">(8/60)" --critical=">(10/60)" }
  • 27. Sample Command Definition --mode=varcomp --expression= "Created_tmp_tables/Uptime_since_flush_status" --warning=">(8/60)" --critical=">(10/60)" }
  • 28. Sample Service Definition define service { use generic-service host_name __HOSTNAME__ service_description MySQL Temp Tables check_command check_mysql_tmp_tables }
  • 29. Rates  Compare to last run
  • 30. Rates  Compare to last run  mode=lastrun-varcomp
  • 31. Rates  Compare to last run  mode=lastrun-varcomp  current{expr}
  • 32. Rates  Compare to last run  mode=lastrun-varcomp  current{expr}  lastrun{expr}
  • 35. Query Rate mysql_health_check.pl [host,user,pass] --mode lastrun-varcomp --expression "(current{Queries} - lastrun{Queries})
  • 36. Query Rate mysql_health_check.pl [host,user,pass] --mode lastrun-varcomp --expression "(current{Queries} - lastrun{Queries}) / (current{Uptime} – lastrun{Uptime})"
  • 37. Query Rate mysql_health_check.pl [host,user,pass] --mode lastrun-varcomp --expression "(current{Queries} - lastrun{Queries}) / (current{Uptime} – lastrun{Uptime})" --comparison ">80"
  • 38. Other Modes  --mode=long-query  --mode=locked-query  %metadata{proc_list}  SHOW FULL PROCESSLIST
  • 39. Sample Command Definition define command { command_name check_mysql_locked_queries command_line $USER1$/mysql_health_check.pl --hostname $HOSTADDRESS$ --user myuser --password mypass --cache-dir=/var/lib/nagios/mysql_cache --max-cache-age=300 --mode=locked-query --warning=$ARG1$ --critical=$ARG2$ }
  • 40. Extending Information sub fetch_server_meta_data {} add a new hash key to %metadata $metadata{varstatus} = $dbh->selectall_arrayref( q|SHOW GLOBAL VARIABLES|);
  • 41. Extending Information sub fetch_server_meta_data {} add a new hash key to %metadata $metadata{innodb_status} = $dbh->selectall_arrayref( q|SHOW ENGINE INNODB STATUS|);
  • 42. For example • %metadata{innodb_status} – SHOW ENGINE INNODB STATUS • Already exists, unused
  • 43. For example • %metadata{innodb_status} – SHOW ENGINE INNODB STATUS • Already exists, unused • %metadata{master_status} – SHOW MASTER STATUS
  • 44. For example • %metadata{innodb_status} – SHOW ENGINE INNODB STATUS • Already exists, unused • %metadata{master_status} – SHOW MASTER STATUS • %metadata{slave_status} – SHOW SLAVE STATUS
  • 45. “Standard” checks % max connections --expression 'Threads_connected/max_connections*100'
  • 46. “Standard” checks % max connections --expression 'Threads_connected/max_connections*100' InnoDB enabled --expression “have_innodb” --comparison=“ne 'YES'”
  • 47. Did MySQL Crash? Nagios set to check every 5 minutes
  • 48. Did MySQL Crash? Nagios set to check every 5 minutes Might miss a crash
  • 49. Did MySQL Crash? Nagios set to check every 5 minutes Might miss a crash Uptime! --expression 'Uptime' --comparison=“<1800”
  • 50. “Standard” checks read_only for slaves --expression “read_only” --comparison=“ne 'YES'”
  • 51. “Standard” checks read_only for slaves --expression “read_only” --comparison=“ne 'YES'” % of sleeping connections # connected, # running, # max connections
  • 52. “Standard” checks read_only for slaves --expression “read_only” --comparison=“ne 'YES'” % of sleeping connections # connected, # running, # max connections --expression="(Threads_connected- Threads_running)/max_connections * 100" --comparison=">$ARG1$"
  • 53. Limitations  One check/calculation per Nagios service – But, you can use many variables – Cached output  Does not output for performance data – Not hard to modify, just no need yet
  • 54. Where to get it https://github.com/palominodb/PalominoDB- Public-Code-Repository/tree/master/nagios/ www.palominodb.com->Community->Projects
  • 56. Nagios Plugin for Partitions table_partitions.pl --host --user --pass --database --table --range [days|weeks|months] --verify #
  • 57. Nagios Plugin for Partitions table_partitions.pl --host db1.mozilla.com --user nagiosuser --pass nagiospass --database addons --table user_addons --range months --verify 3
  • 58. Nagios Plugin for Checksums After using pt-table-checksum (master) Slaves have a table with checksum this_crc vs master_crc
  • 59. Nagios Plugin for Checksums check_table_checksums.pl -H host --user username --pass password -T checksum_table -I checksum_freshness -b dbs,to,skip https://bugzilla.mozilla.org/show_bug.cgi?id=789058
  • 60. Mozilla is Hiring! http://careers.mozilla.org/ DBA – MySQL, Postgres, NoSQL (some or all) http://careers.mozilla.org/en-US/position/oTqLWfwK SysAdmin – RHEL, CentOS, Fedora http://careers.mozilla.org/en-US/position/o97xWfwt US, Canada, UK, France, Spain, Germany, Netherlands, Sweden, Denmark, Poland, China, Japan, New Zealand In Mountain View, Senior Windows/Unix SysAdmin http://careers.mozilla.org/en-US/position/oZmJWfwK
  • 61. More Resources www.palominodb.com->Community->Projects kimtag.com/mysql scabral@mozilla.com OurSQL podcast (oursql.com) slides: http://bit.ly/nagios_mysql2012 MySQL Administrator's Bible youtube.com/tcation http://planet.mysql.com