Centreon 用一个PHP文件监控Nginx+PHP+MySQL
---出自《分布式监控平台Centreon最佳实践》为准确掌握站点的可用性,可考虑用一个对象来同时检测Nginx、PHP及数据库的运行状态。基本思路是,写一个PHP文件,该文件的主要工作就是对数据库进行查询。当任何一个服务发生故障时,能通过HTTP状态码进行可用性判别。
在站点设定的目录下(也可以是站点的根),编写check_site.php文件,其内容如下:
<?php
$servername = "localhost";
$username = "nagios";
$password = "scd736Ydb#G";
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
header("HTTP/1.0 500 ");
}
?>
#
./check_http -H172.16.98.235 -u http://172.16.98.235/check_url.php
HTTP OK: HTTP/1.1 200 OK - 229 bytes in 0.003 second response time |time=0.003376s;;;0.000000 size=229B;;;0
#
./check_http -H172.16.98.235 -u http://172.16.98.235/check_url.php
HTTP CRITICAL: HTTP/1.1 500 - 260 bytes in 0.003 second response time |time=0.003423s;;;0.000000 size=260B;;;0
不同的输出结果,正是我们所期待的。登录Centreon管理后台,添加主机172.16.98.235,再添加服务check_url,把它与主机“172.16.35.235”相关联。
添加完毕后,重载Centreon Engine,是配置生效。保持Nginx与PHP服务正常,尽关闭Mysql数据库,观察管理后台页面显示状态。
几次失败检查重试之后,钉钉机器人告警信息也发送过来了。
照此法单独启停PHP及nginx,检查监控的有效性。
文档来源:51CTO技术博客https://blog.51cto.com/sery/3246471
页:
[1]