PHP 脚本自动监控 Nginx 504错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 脚本自动监控 Nginx 504错误相关的知识,希望对你有一定的参考价值。

  1. #!/usr/bin/php

  2. <?php

  3. error_reporting(E_ERROR);

  4. define("EMAIL","[email protected]");//你的email地址

  5. define("TIMEOUT",5);//读取网站超时时间,5秒

  6. function curl_get($url){

  7.                 $curl = curl_init();

  8.                 curl_setopt($curl, CURLOPT_URL, $url);

  9.                 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

  10.                 curl_setopt($curl, CURLOPT_TIMEOUT, TIMEOUT);

  11.                 // Headers

  12.                 $headers = array();

  13.                 $headers[] = "Date: ".date(‘r‘);

  14.                 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

  15.                 $Data = curl_exec($curl);

  16.                 return $Data ;

  17.  

  18. }

  19.  

  20. function check($d,$k){

  21.         $url = $d;//"http://".$d;

  22.         $html = curl_get($url);

  23.         if( substr_count($html,$k) &lt; 1){

  24.                 mail(EMAIL,"JP 504 timeout for ".$d,$html);

  25.                 exec("/etc/init.d/nginx restart "); //重启nginx

  26.                 exec("/etc/init.d/php-fpm restart");//重启php-fpm

  27.         }

  28. }

  29.  

  30. check("https://www.linuxidc.com","linuxidc.com");

  31. ?>

将该文件命名为 504check.php
修改权限 chmod +x 504check.php

然后crontab -e添加一行

* * * * * /xx/504check.php >/dev/null 2>&1

每分钟系统就会自动检测网站是否响应很慢,若如此,则重启。

本文出自 “李世龙” 博客,谢绝转载!

以上是关于PHP 脚本自动监控 Nginx 504错误的主要内容,如果未能解决你的问题,请参考以下文章

shell 练习(08)——Nginx 502 错误检查处理

基于Logstash的自动化运维系统实现

Nginx出现502和504错误解决方法

linux开发脚本自动部署及监控

php504错误

Zabbix 的自动监控项目监控Nginx各hostname配置 - Low Level Discovery