gpt4 book ai didi

ubuntu - 领事 : Health Check is failed to invoke: fork/exec but running manualy

转载 作者:行者123 更新时间:2023-12-04 19:09:40 27 4
gpt4 key购买 nike

我运行这个命令

/usr/bin/mysqladmin ping --host=192.168.56.35 --port=6033 --user=root --password=123

它说
mysqld is alive

但是当我在健康检查中添加它时
   "check": {
"args": ["/usr/bin/mysqladmin ping --host=192.168.56.35 --port=6033 --user=root password=123"],
"interval": "3s"}
}

日志说
[ERR] agent: Check "service:proxy2" failed to invoke: fork/exec /usr/bin/mysqladmin ping --host=192.168.56.35 --port=6033 --user=root password=123: no such file or directory

我该如何解决这个问题?

最佳答案

"args" - 应该是一个字符串数组。 Consul 将您的单个字符串视为要执行的命令,忽略空格。

您的支票应如下所示:

   "check": {
"args": ["/usr/bin/mysqladmin", "ping", "--host=192.168.56.35", "--port=6033", "--user=root", "password=123"],
"interval": "3s"}
}

您可以选择使用以下命令,因为字符串被传递给 /bin/sh它不必分成子字符串。 (Consul Checks 中的大多数示例都使用此语法,因此它应该可以正常工作):
   "check": {
"args": ["/bin/sh", "-c", "/usr/bin/mysqladmin ping --host=192.168.56.35 --port=6033 --user=root password=123"],
"interval": "3s"}
}

还要确保运行 Consul 代理进程的用户能够执行 /usr/bin/mysqladmin否则你会得到权限被拒绝的错误。

关于ubuntu - 领事 : Health Check is failed to invoke: fork/exec but running manualy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59728234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com