我正在尝试检查mysql查询输出,并将结果与Nagios服务检查的某些值进行比较。
可能有更好的方法来解决此问题(如果可以,请分享:))...
现在,我正在尝试这种方法:./check_mysql_health --username root --password MyPassw0rd --mode sql --name 'show variables like 'max_connections'' --name2 "max_connections 4096"
PS:我的max_connections是4096
mysql -Bse "show variables like 'max_connections';"
max_connections 4096
输出为:
Use of uninitialized value $value in numeric gt (>) at ./check_mysql_health line 1237.
Use of uninitialized value $value in numeric gt (>) at ./check_mysql_health line 1238.
OK - max_connections 4096:
如果我将name2中的值更改为不等于“ max_connections 4096”的值,例如“ G1Li”,则输出将返回OK状态。
./check_mysql_health --username root --password MyPassw0rd --mode sql --name 'show variables like 'max_connections'' --name2 "G1Li"
Use of uninitialized value $value in numeric gt (>) at ./check_mysql_health
line 1237.
Use of uninitialized value $value in numeric gt (>) at ./check_mysql_health line 1238.
OK - g1li:
# echo $?
0
有任何想法吗?
吉利
最佳答案
我对此也不陌生,这可能会有所帮助,./check_mysql_health --username root --password MyPassw0rd --mode sql \
--name 'show 1,variables like 'max_connections'' --name2 "status max_connections 4096"
我们将此用于Oracle。我不确定该状态,但是那1是正确的。
或者,您也可以自定义,例如添加更多模式(有两个主要部分,一个用于远程/本地执行sql查询,另一个是解析nagios / icinga的结果数据)在该插件中!那将是一个更好的解决方案。