青衣 发表于 2021-8-3 11:53:22

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]
查看完整版本: Centreon 用一个PHP文件监控Nginx+PHP+MySQL