Check_rep.php If (empty ($ _ REQUEST ["key"]) die (':) missing key '); If ($ _ REQUEST ["key"]! = 'Upeng') die (': error key '); Include ("mysql_instance.php "); Include ("check_status_api.php "); Define ("USERNAME", "USERNAME "); Define ("PASSWORD", "PASSWORD "); Define ("DEBUGMODE", false ); $ Instances = get_instances (); If ($ instances ){ Echo < END; Echo" N "; If (! DEBUGMODE ){ Echo" N "; } Else { Echo" N "; } Foreach ($ instances as $ host ){ $ Res = check_mysql_replication_status ($ host, USERNAME, PASSWORD ); If (! DEBUGMODE ){ Switch ($ res ["result"]) { Case-4: $ Memo = "unknown exception "; Break; Case-3: $ Memo = "query failed "; Break; Case-2: $ Memo = "unable to connect to port "; Break; Case-1: $ Memo = "unknown state "; Break; Case 0: $ Memo = "OK "; Break; Case 1: $ Memo = "synchronization failed "; If ($ res ["Slave_IO_Running"] <> "Yes "){ $ Memo. = $ res ["Last_IO_Error"]. "(". $ res ["Last_IO_Errno"]. ")"; } If ($ res ["Slave_ SQL _Running"] <> "Yes "){ $ Memo. = $ res ["Last_ SQL _Error"]. "(". $ res ["Last_ SQL _Errno"]. ")"; } Break; Case 2: $ Memo = "synchronization not set for database "; Break; } Echo" N "; } Else { Echo" N "; } } Echo"
Instance |
Result |
Slave_IO_Running |
Slave_ SQL _Running |
Master_Host |
Master_Port |
Replicate_Do_DB |
Memo |
Instance |
Result |
Slave_IO_Running |
Slave_ SQL _Running |
Master_Host |
Master_Port |
Replicate_Do_DB |
Slave_IO_State |
Last_IO_Errno |
Last_IO_Error |
Last_ SQL _Errno |
Last_ SQL _Error |
{$ Host} |
{$ Res ['result']} |
{$ Res ['slave _ IO_Running ']} |
{$ Res ['slave _ SQL _Running ']} |
{$ Res ['master _ host']} |
{$ Res ['master _ port']} |
{$ Res ['replicate _ Do_DB ']} |
{$ Memo} |
{$ Host} |
{$ Res ['result']} |
{$ Res ['slave _ IO_Running ']} |
{$ Res ['slave _ SQL _Running ']} |
{$ Res ['master _ host']} |
{$ Res ['master _ port']} |
{$ Res ['replicate _ Do_DB ']} |
{$ Res ['slave _ IO_State ']} |
{$ Res ['last _ io_errno']} |
{$ Res ['last _ IO_Error ']} |
{$ Res ['last _ SQL _errno']} |
{$ Res ['last _ SQL _Error ']} |
N "; Echo <END; } Else { Die ("no mysql instances defined ."); } Check_status_api.php /* * Check the synchronization status of the mysql server. */ Function check_mysql_replication_status ($ host, $ username, $ password) { // The default status is unknown. $ R = array ( "Result" =>-1 ); Try { $ Dbh = @ mysql_connect ($ host, $ username, $ password ); If (! $ Dbh ){ // Unable to connect $ R ["result"] =-2; Return ($ r ); } $ Query = "show slave status "; $ Res = @ mysql_query ($ query, $ dbh ); $ Err = @ mysql_error (); If ($ err ){ // Unable to connect $ R ["result"] =-3; Return ($ r ); } $ Row = mysql_fetch_array ($ res ); $ R = $ row; If ($ r ["Slave_IO_Running"] = "Yes") & ($ r ["Slave_ SQL _Running"] = "Yes ")) { $ R ["result"] = 0; } Else { If (! Empty ($ row )){ $ R ["result"] = 1; } Else { $ R ["result"] = 2; } } } Catch (Exception $ e ){ $ R ["result"] =-4; } Return ($ r ); } Mysql_instance.php |