Hi Xu, The check_mysql plugin is part of the standard plugins package (see the downloads page at http://www.nagios.org/download/download.php.)
At a very minimum this plugin will check that the slave's SQL thread is running and compare the number of seconds it is behind the master, allowing you to set a threshold on how long is a warning, and how long is a failure (error.) I would hazard a guess that it uses the output of "show slave status;" to gather its information. Andy xufeng wrote: > Hi All > On > http://www.nagiosexchange.org/cgi-bin/search.cgi?d=1&query=check_mysql&Go=Go > I found some useful scripts to do the work and there are some scripts that > do the work as you have described. > The most important lesson I have learned is to know how theses various tools > achieve the goals (not only the tools themselves). > > Thank you all for your great help. > Yours > Xu Feng > > >> -----Original Message----- >> From: xufeng [mailto:xuf...@yuanjie.net] >> Sent: 2008年12月25日 10:13 >> To: 'Baron Schwartz'; 'Jake Maul'; claudio.na...@gmail.com; >> andy-li...@networkmail.eu; claudio.na...@gmail.com >> Cc: mysql@lists.mysql.com >> Subject: RE: On fighting with master-slave replication lag >> >> >> >> >>> -----Original Message----- >>> From: baron.schwa...@gmail.com [mailto:baron.schwa...@gmail.com] On >>> > Behalf > >>> Of Baron Schwartz >>> Sent: 2008年12月24日 22:06 >>> To: Jake Maul >>> Cc: mysql@lists.mysql.com >>> Subject: Re: On fighting with master-slave replication lag >>> >>> On Wed, Dec 24, 2008 at 2:31 AM, Jake Maul <jakem...@gmail.com> wrote: >>> >>>> Slightly more complicated (and also probably more accurate- the time >>>> reported by show slave status is known to be unreliable in some cases) >>>> would be a script that inserts a row into a table, then check the >>>> slave over and over till it arrives. Or even better, insert 2 >>>> values... a timestamp that *you* provide (in a shell script, something >>>> like $(date) would work) and a timestamp generated by MySQL.... >>>> assuming the times are syncronized on the master, slave, and the box >>>> you're inserting from, when the insert hits the slave it'll generate >>>> it's own timestamp, which you can then subtract *your* timestamp from. >>>> >>>> There's also a tool in maatkit which does replication tracking, >>>> although I've not yet used it. Judging by the other tools in that >>>> package though, it's probably pretty decent :). >>>> >>> It is mk-heartbeat, and it does pretty much what you described, >>> although it's been tweaked to be slightly more complex to suit various >>> real-world scenarios. >>> >>> >> I have read some stuff on http://www.maatkit.org/doc/mk-heartbeat.html and >> am interested in this tool. I guess in reality the mk-heartbeat tool >> > checks > >> the output of show master status on the master with focus on the File and >> Position fileds. >> >> mysql> show master status \G >> *************************** 1. row *************************** >> File: mysql-bin.000004 >> Position: 3037 >> Binlog_Do_DB: >> Binlog_Ignore_DB: >> 1 row in set (0.00 sec) >> >> And it can give the delay alert or calculating the delay by checking the >> output of show slave status on the slave with the same focus on the >> Master_Log_File and Exec_Master_Log_Pos fileds.It compares the two fields >> from slave with the two fields from master. >> >> mysql> show slave status \G >> *************************** 1. row *************************** >> Slave_IO_State: Waiting for master to send event >> Master_Host: 10.20.15.120 >> Master_User: replication1 >> Master_Port: 3306 >> Connect_Retry: 60 >> Master_Log_File: mysql-bin.000004 >> Read_Master_Log_Pos: 3037 >> Relay_Log_File: localhost-relay-bin.000049 >> Relay_Log_Pos: 235 >> Relay_Master_Log_File: mysql-bin.000004 >> Slave_IO_Running: Yes >> Slave_SQL_Running: Yes >> Replicate_Do_DB: test_db1 >> Replicate_Ignore_DB: mysql >> Replicate_Do_Table: >> Replicate_Ignore_Table: >> Replicate_Wild_Do_Table: >> Replicate_Wild_Ignore_Table: >> Last_Errno: 0 >> Last_Error: >> Skip_Counter: 0 >> Exec_Master_Log_Pos: 3037 >> Relay_Log_Space: 235 >> Until_Condition: None >> Until_Log_File: >> Until_Log_Pos: 0 >> Master_SSL_Allowed: No >> Master_SSL_CA_File: >> Master_SSL_CA_Path: >> Master_SSL_Cert: >> Master_SSL_Cipher: >> Master_SSL_Key: >> Seconds_Behind_Master: 0 >> 1 row in set (0.00 sec) >> >> Am I right? >> Or can you provide some info on the detailed description of mk-heartbeat? >> >> >> >> >>> -- >>> MySQL General Mailing List >>> For list archives: http://lists.mysql.com/mysql >>> To unsubscribe: http://lists.mysql.com/mysql?unsub=xuf...@yuanjie.net >>> >> >> >> -- >> MySQL General Mailing List >> For list archives: http://lists.mysql.com/mysql >> To unsubscribe: http://lists.mysql.com/mysql?unsub=xuf...@yuanjie.net >> > > > > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org