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. function check($d,$k){
  19. $url = $d;//"http://".$d;
  20. $html = curl_get($url);
  21. if( substr_count($html,$k) &lt; 1){
  22. mail(EMAIL,"JP 504 timeout for ".$d,$html);
  23. exec("/etc/init.d/nginx restart "); //重启nginx
  24. exec("/etc/init.d/php-fpm restart");//重启php-fpm
  25. }
  26. }
  27. check("https://www.linuxidc.com","linuxidc.com");
  28. ?>

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

然后crontab -e添加一行

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

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

时间: 2024-10-02 20:26:24

PHP 脚本自动监控 Nginx 504错误的相关文章

PHP脚本监控Nginx 502错误并自动重启php-fpm

服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办? 没关系,写个脚本检测服务状态,发现异常,自动重启. 自动重启脚本: <?php $url = 'http://blog.rebill.info'; $cmd = '/usr/local/php/sbin/php-fpm restart'; for($i = 0; $i < 5; $i ++){ $exec = "curl connect-timeout 3 -I $url 2

zabbix 监控nginx语法错误

由于一些自动化工具原因nginx 配置的时间会出现域名错误,只是在reload的时间才报错,很耽误时间,晚上还要起来处理. ngx的机器安装zabbix_sender #! /bin/sh ## 通过zabbix sender 上报nginx 配置文件的检查结果,避免配置文件长时间语法错误 ip=`/sbin/ifconfig | grep 'inet addr:' | grep -v "127.0.0.1" | awk -F ":" '{print $2}' | 

shell脚本自动安装nginx

写一脚本,实现对nginx的自动化下载,安装,启动,停止 #!/bin/sh ###nginx install shell SOFT_PATH=/data/softNGINX_FILE=nginx-1.14.2.tar.gzDOWN_PATH=http://nginx.org/download/ if [ $# -ne 1 ];then echo "USAAGE:$0{download or start or install or stop}" exit 0 fi if [ $UID

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

Day11.开发脚本自动部署及监控

1.编写脚本自动部署反向代理.web.nfs:要求:I.部署nginx反向代理三个web服务,调度算法使用加权轮询: II.所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性: 2.编写监控脚本,监控nginx,nfs存活状态,内存使用率检测,异常则发送报警邮件 准备发送邮件的工具: 监控脚本的编写: 继续编写刚才的脚本编写,加入邮件功能 3.编写计划任务,定时运行监控脚本,完成监控操作

Nagios监控nginx服务具体过程

1在nginx 服务器上安装nrpe客户端: Nginx的服务须要监控起来.不然万一down了而不及时修复,会影响web应用.例如以下web应用上面启动的nginx后台进程[[email protected] ~]# ps aux|grep nginxnobody   15294  0.0  0.0  22432  3464 ?        S    Jul03   0:05 nginx: worker process      nobody   15295  0.0  0.0  22432

Nagios监控nginx服务详细过程

1在nginx 服务器上安装nrpe客户端: Nginx的服务需要监控起来,不然万一down了而不及时修复,会影响web应用,如下web应用上面启动的nginx后台进程[[email protected] ~]# ps aux|grep nginxnobody   15294  0.0  0.0  22432  3464 ?        S    Jul03   0:05 nginx: worker process      nobody   15295  0.0  0.0  22432  3

企业级监控软件使用zabbix key监控nginx status各种状态

因业务需要需要用zabbix来监控nginx status,具体是如下的做法: 1. 首先在nginx的配置文件中添加如下内容,需要注意的是nginx的文件格式,在allow中我们需要注意的是需要添加zabbix server的IP地址,不然无法采集到数据, 2. 重启nginx服务器查看nginx服务器是否能正常打开, Nginx status状态说明: Active connections: 35 对后端发起的活动链接数 server accepts handled requests 186

nginx和fpm的进程数配置和502,504错误

一般来说 php-cgi进程数不够用.php执行时间长(mysql慢).或者是php-cgi进程死掉,都会出现502错误: Nginx 504 Gateway Time-out则是与nginx.conf的设置有关: 1.502 和 php-fpm.conf 1.request_terminate_timeout引起的资源问题 request_terminate_timeout的值如果设置为0或者过长的时间,可能会引起file_get_contents的资源问题. 如果file_get_conte