作业——监视APACHE服务

本文介绍了一款用于自动监控Apache服务器状态并实现自动重启的Shell脚本。该脚本适用于root用户,能够实时监测Apache服务运行情况,一旦发现服务异常,立即尝试重启。若重启失败,则会终止进程再次启动,确保服务的高可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[kiosk@foundation61 Desktop]$ mv pp.sh httpd.sh
#!/bin/bash
#Date:     2018-12-27
#Author:   Zhang Yongjie
#Connect:  928357011@qq.com
#Desc:     This script used to monitor the APACHE scripts
#Version:  1.0
 
 ROOT_UID=0
if [ "$UID" -ne "$ROOT_UID" ];then
   echo "Error:you should be root to run this script!" 
      exit 1
      fi
systemctl start httpd  &>>/dev/null
 if   [ $? == 0 ];then
while true
do
        echo -e "
        \033[31m start   启动httpd服务 \033[0m 
        \033[32m stop    停止httpd服务 \033[0m 
        \033[33m restart 重启httpd服务 \033[0m 
        \033[34m status  检查httpd服务 \033[0m 
        \033[35m exit    退出执行程序   \033[0m 
                "
read -p "请输入一个您的指令:"  a
case $a in
start|START)
      systemctl start httpd && echo "httpd启动成功" || echo "httpd启动失败"
      ;;
stop|STOP)
      systemctl stop httpd && echo "httpd停止成功" || echo "httpd停止失败"
      ;;
restart|RESTART)
      systemctl restart httpd && echo "httpd重启成功" || echo "httpd重启失败"
      ;;
status|STATUS)
      systemctl status httpd && echo -e `systemctl status httpd`
        ;;
exit|EXIT)
        exit 0
        ;;
esac
done
fi
echo "没有安装httpd服务" 
while true
do
        echo -e "
        \033[31m install   安装Apache服务 \033[0m 
        \033[32m exit      退出执行程序 \033[0m
          " 
read -p "请输入一个您的指令:" o
case $o in
install|INSTALL)
            yum install httpd -y &> /dev/null && echo "安装成功,请重新启动程序" || echo "您的yum源有问题"
          ;;
          
exit|EXIT)
           exit 0
          ;;
esac
done

在这里插入图片描述
在这里插入图片描述

自动监控apache服务状态并重启的shell脚本

#!/bin/sh
curdate=`date +"%Y-%m-%d %H:%M:%S"`
#echo $curdate" exit " >> /home/opp/mon.log 2>&1 &
#exit
 
#statistik forum.php
num=`ps -ef|grep "/opp/apache/bin/httpd"|grep -v grep|wc -l` 
#statistik www.123456.com/index.php
num2=`ps -ef|grep "/opt/lampp/bin/httpd" | grep -v grep |wc -l`
#echo $num;
#echo $curdate;
#num3=`netstat -anopt | grep 8080 | wc -l`
#echo $num3
if [ ${num} -lt 1 ] ;then
  echo $curdate >> /home/opp/mon.log 2>&1 &
  /opp/apache/bin/httpd -k start >> /home/opp/mon.log 2>&1 &
else
   echo "apache/httpd is running "$curdate >> /home/opp/mon.log 2>&1 & 
fi
 
if [ ${num} -gt 700 ] ;then
  echo $curdate"this timestamp is index full" >> /home/opp/mon.log 2>&1 &	  
  /opp/apache/bin/httpd -k stop
  sleep 3
  /opp/apache/bin/httpd -k start  >> /home/opp/mon.log 2>&1 &
else
   echo "apache/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi
 
if [ ${num2} -lt 2 ] ;then
  echo $curdate >> /home/opp/mon.log 2>&1 &
  killall -9 /opt/lampp/bin/httpd
  /opt/lampp/lampp start >> /home/opp/mon.log 2>&1 &
else
   echo "opt/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi
 
if [ ${num2} -gt 450 ] ;then
  echo $curdate" this timestamp is for the forum's conection full" >> /home/opp/mon.log 2>&1 &
  killall -9 /opt/lampp/bin/httpd
  sleep 3
  /opt/lampp/lampp start >> /home/opp/mon.log 2 >&1 &
else 
  echo "opt/httpd is running "$curdate >> /home/opp/mon.log 2>&1 &
fi  

目的:
1.监控apache服务器的状态
2.当发现apache down机就自动重启apache服务
3.重启apache不成功,杀死该进程。并重新启动
4.记录日志

### 使用 Ambari 管理 Flink 集群配置与监控的最佳实践 #### 一、Ambari 和 Flink 的集成概述 Apache Flink 是一种分布式流处理框架,而 Apache Ambari 则是一种用于管理和监控 Hadoop 集群的工具。通过将两者结合,可以实现对 Flink 应用程序的集中化管理[^1]。具体来说,Ambari 提供了一个图形化的界面来简化安装、配置以及监控过程。 对于未被 Ambari 默认支持的服务(如 Flink),可以通过自定义服务的方式将其集成到 Ambari 中[^2]。这使得管理员能够像管理其他 Hadoop 组件一样轻松地控制和监视 Flink 集群。 #### 二、Flink 集成至 Ambari 的方法 要使 Flink 成为 Ambari 可识别的服务之一,需遵循特定的工作流程完成其定制化开发: - **克隆官方仓库中的模板代码** 开发者可以从 GitHub 上获取预构建好的脚本集合,并依据实际需求调整这些材料以适配目标环境。例如命令如下所示: ```bash [root@node02 ~]# git clone https://github.com/abajwa-hw/ambari-flink-service.git /var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/FLINK ``` 此处 `$VERSION` 表示当前使用的 HDP 版本号[^3]。 - **测试部署效果** 如果希望快速验证整个方案的有效性,则可以直接采用虚拟机形式提供的沙盒环境来进行初步尝试。只需下载对应版本的 HDP Sandbox VM 并按指引文档逐步操作即可[^4]。 #### 三、增强功能——引入指标监测机制 除了基本的功能外,还可以进一步扩展系统的可观测能力。以下是关于如何实施这一改进的具体指导: - **更新元数据描述文件 (metainfo.xml)** 在该 XML 文档内部指定新的时间线应用 ID (`<timelineAppid>`) 字段值为 `flink` ,从而允许 Timeline Server 能够正确解析来自此来源的数据包。 同时需要注意的是所选名称应当保持唯一性以免与其他已存在条目发生冲突;另外由于大小写字母在此场景下无意义区别对待因此不必过分关注这方面细节问题[^5]。 - **注册额外性能统计项** 根据业务逻辑设计专属 KPI 指标并通过编程手段接入现有架构体系之中以便实时追踪作业表现状况变化趋势图谱等等有用情报资料。 --- ### 总结 综上所述,借助 Ambari 来运维维护大规模生产环境下运行着复杂任务负载情况下的 Flink 实例不失为明智之举。它不仅极大地降低了人工干预频率同时还提高了整体效率水平。当然,在正式投产前还需要经过充分测试确保各项参数设定合理准确方可投入使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值