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

Reply via email to