2017-08-18 4 views
0

私はAzure管理のMySQLサーバを使用して自分のDBをホストしています。Icingaから管理されたMySQLサーバを監視する

DBのいずれかへのテスト接続を使用して、サーバーが起動しているかどうかを監視したいと考えています。このチェックをIcinga2サービスに追加するにはどうすればよいですか?

PS - 私はcheck_mysqlコマンドを認識していますが、どのように使用するのですか?どんな実際の例も非常に役に立つでしょう。おかげ

答えて

0

はあなたが必要とする最低限は次のとおりです。

check_mysql [-d database][-H host][-P port][-u user][-p password] 

Icinga2でそのためのテキストは次のとおりです。

object CheckCommand "mysql" { 
    import "plugin-check-command" 
    command = [ PluginDir + "/check_mysql" ] 
    timeout = 1m 
    arguments += { 
     "-C" = "$mysql_cacert$" 
     "-D" = "$mysql_cadir$" 
     "-H" = "$mysql_hostname$" 
     "-L" = "$mysql_ciphers$" 
     "-P" = "$mysql_port$" 
     "-S" = { 
      set_if = "$mysql_check_slave$" 
     } 
     "-a" = "$mysql_cert$" 
     "-c" = "$mysql_critical$" 
     "-d" = "$mysql_database$" 
     "-f" = "$mysql_file$" 
     "-g" = "$mysql_group$" 
     "-k" = "$mysql_key$" 
     "-l" = { 
      set_if = "$mysql_ssl$" 
     } 
     "-n" = { 
      set_if = "$mysql_ignore_auth$" 
     } 
     "-p" = "$mysql_password$" 
     "-s" = "$mysql_socket$" 
     "-u" = "$mysql_username$" 
     "-w" = "$mysql_warning$" 
    } 
    vars.check_address = { 
     type = "Function" 
    } 
    vars.check_ipv4 = false 
    vars.check_ipv6 = false 
    vars.mysql_hostname = "$check_address$" 
} 

だからあなたのホストの定義にあなたが持っている必要があります

vars.mysql_port = [port] 
vars.mysql_database = [database] 
vars.mysql_password = [password] 
vars.mysql_username = [user] 
vars.mysql_critical = [critical threshold] 
vars.mysql_warning = [warning threshold] 

Icinga2 Directorを使用している場合は、より簡単です。コマンドのクローンを作成し、独自のフィールドを作成することができます。

+0

私はマネージドサービスを使用していますが、私はエンドポイントしか持っていませんが、このためのホストはありません! –

+0

mysqlサービスをホストとして追加し、pingまたはhost aliveの代わりにhost checkにcheck_mysqlコマンドを使用するだけです。 – cflinspach

関連する問題