[英]check Mysql with remote host - Icinga2
我正在使用Icinga2监视远程主机上的Mysql服务器。现在,我正在尝试配置mysql_check
。
这是文件service.conf
:
apply Service "mysql8" {
import "generic-service"
check_command = "mysql"
vars.mysql_mode = "uptime"
vars.mysql_hostname = "remote-host"
vars.mysql_port = "3306"
vars.mysql_username = "username"
vars.myql_password = "password"
command_endpoint = host.vars.client_endpoint
assign where host.vars.mysql == true && host.vars.client_endpoint
}
这是host.conf
文件:
object Host "remote-host" {
import "generic-host"
address = "xxx.xxx.xx.xxx"
vars.os = "linux"
vars.mysql = true
host.vars.client_endpoint="remote-host"
当我尝试check_MySQL
从Icinga2,我得到了以下错误:
无法连接到“远程主机”上的MySQL服务器(111)
如何解决远程主机的check_MySQL
。
谢谢。
很高兴在这里找到您。
我认为您的mysql服务器不允许远程访问。
在这种情况下 :
打开命令提示符并运行以下命令以打开SSH隧道。
$ ssh user@example.com -L 3307:127.0.0.1:3306 -N NB。 用您的ssh用户名和ssh主机名或IP地址替换user@example.com
。
-N:转发端口
-L:将本地端口绑定到远程主机端口2。尝试与mysql-client连接
$ mysql --protocol TCP -h localhost -u YOUR_MYSQL_USER -P 3307 -p
是工作? 所以,:)
vars.mysql_port=3307
。 大! 好东西! 不?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.