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

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
 

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
 

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)

Graphs & GraphRAG - Essential Ingredients for GenAI
Graphs & GraphRAG - Essential Ingredients for GenAIGraphs & GraphRAG - Essential Ingredients for GenAI
Graphs & GraphRAG - Essential Ingredients for GenAI
Neo4j
 
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptxCSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
Øystein Moseng
 
Security Policies MuleSoft API Manager Mule4
Security Policies MuleSoft API Manager Mule4Security Policies MuleSoft API Manager Mule4
Security Policies MuleSoft API Manager Mule4
Adalberto Toledo
 
Ansible Vault Encrypting and Protecting Secrets - RHCE.pdf
Ansible Vault Encrypting and Protecting Secrets - RHCE.pdfAnsible Vault Encrypting and Protecting Secrets - RHCE.pdf
Ansible Vault Encrypting and Protecting Secrets - RHCE.pdf
RHCSA Guru
 
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
All Things Open
 
The Death of the Browser - Rachel-Lee Nabors, AgentQL
The Death of the Browser - Rachel-Lee Nabors, AgentQLThe Death of the Browser - Rachel-Lee Nabors, AgentQL
The Death of the Browser - Rachel-Lee Nabors, AgentQL
All Things Open
 
CSUN 2025 - Interactive Charts for Everyone.pptx
CSUN 2025 - Interactive Charts for Everyone.pptxCSUN 2025 - Interactive Charts for Everyone.pptx
CSUN 2025 - Interactive Charts for Everyone.pptx
Øystein Moseng
 
Presentation Session 2 -Context Grounding.pdf
Presentation Session 2 -Context Grounding.pdfPresentation Session 2 -Context Grounding.pdf
Presentation Session 2 -Context Grounding.pdf
Mukesh Kala
 
Diving into LTI: From the basics to Deep Linking
Diving into LTI: From the basics to Deep LinkingDiving into LTI: From the basics to Deep Linking
Diving into LTI: From the basics to Deep Linking
Rustici Software
 
Accelerating Platformless Modernization With Choreo - WSO2Con 2025.pdf
Accelerating Platformless Modernization With Choreo - WSO2Con 2025.pdfAccelerating Platformless Modernization With Choreo - WSO2Con 2025.pdf
Accelerating Platformless Modernization With Choreo - WSO2Con 2025.pdf
Nuwan Dias
 
Step-Into-the-Game-Augmented-Reality-Gaming-Explained.pptx
Step-Into-the-Game-Augmented-Reality-Gaming-Explained.pptxStep-Into-the-Game-Augmented-Reality-Gaming-Explained.pptx
Step-Into-the-Game-Augmented-Reality-Gaming-Explained.pptx
BR Softech
 
AI Revolution unleashed with AI Foundry at AI Tour Brussels
AI Revolution unleashed with AI Foundry at AI Tour BrusselsAI Revolution unleashed with AI Foundry at AI Tour Brussels
AI Revolution unleashed with AI Foundry at AI Tour Brussels
Nathan Bijnens
 
Precisely Showcase - Data Governance, Quality & MDM.pdf
Precisely Showcase - Data Governance, Quality & MDM.pdfPrecisely Showcase - Data Governance, Quality & MDM.pdf
Precisely Showcase - Data Governance, Quality & MDM.pdf
Precisely
 
Windows Client Privilege Escalation-Shared.pptx
Windows Client Privilege Escalation-Shared.pptxWindows Client Privilege Escalation-Shared.pptx
Windows Client Privilege Escalation-Shared.pptx
Oddvar Moe
 
Mastering NIST CSF 2.0 - The New Govern Function.pdf
Mastering NIST CSF 2.0 - The New Govern Function.pdfMastering NIST CSF 2.0 - The New Govern Function.pdf
Mastering NIST CSF 2.0 - The New Govern Function.pdf
Bachir Benyammi
 
From native code gems to Java treasures with jextract
From native code gems to Java treasures with jextractFrom native code gems to Java treasures with jextract
From native code gems to Java treasures with jextract
Ana-Maria Mihalceanu
 
EaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial KeyEaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial Key
piolttruth25
 
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
All Things Open
 
Safer’s Picks: The 6 FME Transformers You Didn’t Know You Needed
Safer’s Picks: The 6 FME Transformers You Didn’t Know You NeededSafer’s Picks: The 6 FME Transformers You Didn’t Know You Needed
Safer’s Picks: The 6 FME Transformers You Didn’t Know You Needed
Safe Software
 
Comprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdfComprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdf
RHCSA Guru
 
Graphs & GraphRAG - Essential Ingredients for GenAI
Graphs & GraphRAG - Essential Ingredients for GenAIGraphs & GraphRAG - Essential Ingredients for GenAI
Graphs & GraphRAG - Essential Ingredients for GenAI
Neo4j
 
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptxCSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
Øystein Moseng
 
Security Policies MuleSoft API Manager Mule4
Security Policies MuleSoft API Manager Mule4Security Policies MuleSoft API Manager Mule4
Security Policies MuleSoft API Manager Mule4
Adalberto Toledo
 
Ansible Vault Encrypting and Protecting Secrets - RHCE.pdf
Ansible Vault Encrypting and Protecting Secrets - RHCE.pdfAnsible Vault Encrypting and Protecting Secrets - RHCE.pdf
Ansible Vault Encrypting and Protecting Secrets - RHCE.pdf
RHCSA Guru
 
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
All Things Open
 
The Death of the Browser - Rachel-Lee Nabors, AgentQL
The Death of the Browser - Rachel-Lee Nabors, AgentQLThe Death of the Browser - Rachel-Lee Nabors, AgentQL
The Death of the Browser - Rachel-Lee Nabors, AgentQL
All Things Open
 
CSUN 2025 - Interactive Charts for Everyone.pptx
CSUN 2025 - Interactive Charts for Everyone.pptxCSUN 2025 - Interactive Charts for Everyone.pptx
CSUN 2025 - Interactive Charts for Everyone.pptx
Øystein Moseng
 
Presentation Session 2 -Context Grounding.pdf
Presentation Session 2 -Context Grounding.pdfPresentation Session 2 -Context Grounding.pdf
Presentation Session 2 -Context Grounding.pdf
Mukesh Kala
 
Diving into LTI: From the basics to Deep Linking
Diving into LTI: From the basics to Deep LinkingDiving into LTI: From the basics to Deep Linking
Diving into LTI: From the basics to Deep Linking
Rustici Software
 
Accelerating Platformless Modernization With Choreo - WSO2Con 2025.pdf
Accelerating Platformless Modernization With Choreo - WSO2Con 2025.pdfAccelerating Platformless Modernization With Choreo - WSO2Con 2025.pdf
Accelerating Platformless Modernization With Choreo - WSO2Con 2025.pdf
Nuwan Dias
 
Step-Into-the-Game-Augmented-Reality-Gaming-Explained.pptx
Step-Into-the-Game-Augmented-Reality-Gaming-Explained.pptxStep-Into-the-Game-Augmented-Reality-Gaming-Explained.pptx
Step-Into-the-Game-Augmented-Reality-Gaming-Explained.pptx
BR Softech
 
AI Revolution unleashed with AI Foundry at AI Tour Brussels
AI Revolution unleashed with AI Foundry at AI Tour BrusselsAI Revolution unleashed with AI Foundry at AI Tour Brussels
AI Revolution unleashed with AI Foundry at AI Tour Brussels
Nathan Bijnens
 
Precisely Showcase - Data Governance, Quality & MDM.pdf
Precisely Showcase - Data Governance, Quality & MDM.pdfPrecisely Showcase - Data Governance, Quality & MDM.pdf
Precisely Showcase - Data Governance, Quality & MDM.pdf
Precisely
 
Windows Client Privilege Escalation-Shared.pptx
Windows Client Privilege Escalation-Shared.pptxWindows Client Privilege Escalation-Shared.pptx
Windows Client Privilege Escalation-Shared.pptx
Oddvar Moe
 
Mastering NIST CSF 2.0 - The New Govern Function.pdf
Mastering NIST CSF 2.0 - The New Govern Function.pdfMastering NIST CSF 2.0 - The New Govern Function.pdf
Mastering NIST CSF 2.0 - The New Govern Function.pdf
Bachir Benyammi
 
From native code gems to Java treasures with jextract
From native code gems to Java treasures with jextractFrom native code gems to Java treasures with jextract
From native code gems to Java treasures with jextract
Ana-Maria Mihalceanu
 
EaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial KeyEaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial Key
piolttruth25
 
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
All Things Open
 
Safer’s Picks: The 6 FME Transformers You Didn’t Know You Needed
Safer’s Picks: The 6 FME Transformers You Didn’t Know You NeededSafer’s Picks: The 6 FME Transformers You Didn’t Know You Needed
Safer’s Picks: The 6 FME Transformers You Didn’t Know You Needed
Safe Software
 
Comprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdfComprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdf
RHCSA Guru
 

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