使用mon监控httpd从而控制heartbeat的关闭

本文详细介绍了Heartbeat双机热备的配置过程,并特别聚焦于Mon监控系统的配置,包括安装依赖包、下载并安装Mon软件、配置相关文件、编辑配置文件以实现Heartbeat和httpd联动,以及解决无日志文件的问题。

之前的heartbeat双机热备多数都是从其它的网站上抄袭来的。其它的地方配置起来都没什么问题。但mon的配置一直不起做用。今天终于配置成功了,在这里把mon的配置再重新梳理一遍。

其中省略了一些依赖包的安装,因为我的安装过程持续了很长时间有一些记不清了。那些可以参考网上的其它文章。


从www.cpan.org下载并安装Time-HiRes:
http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9721.tar.gz

tar -xzvf Time-HiRes-1.9721.tar.gz

cd Time-HiRes-1.9721

perl Makefile.PL

make

make test

make install

如果安装时提示:
then set the environment variable LC_ALL to "C" and retry,则设置环境变量LC_ALL:
# export LC_ALL=C
重新编译

 

perl-Mon-0.11-2.2.el5.rf.noarch.rpm
perl-Convert-BER-1.31.01-1.2.el5.rf.noarch.rpm
perl-Net-Telnet-3.03-1.2.el5.rf.noarch.rpm
perl-Time-HiRes-1.55-3.i386.rpm
perl-Time-Period-1.20-2.el5.rf.noarch.rpm

安装命令:

perl -MCPAN -e shell
cpan>install Time::Period
cpan>install Time::HiRes
cpan>install Convert::BER
cpan>install Mon::Protocol
cpan>install Mon::SNMP
cpan>install Mon::Client

 

从www.kernel.org/software/mon/下载并安装软件包mon-0.99.2.tar.bz2:
ftp://ftp.kernel.org/pub/software/admin/mon/mon-1.2.0.tar.gz
tar -xzvf mon-1.2.0.tar.gz
cp -r mon-1.2.0 /usr/lib/mon
mkdir /etc/mon
cp /usr/lib/mon/etc/auth.cf /etc/mon

编辑/etc/mon/mon.cf文件
cfbasedir = /etc/mon
alertdir = /usr/lib/mon/alert.d
mondir = /usr/lib/mon/mon.d
statedir = /usr/lib/mon/state.d
logdir = /usr/lib/mon/log.d
dtlogfile = /usr/lib/mon/log.d/dt.log
maxprocs = 20
histlength = 100
randstart = 60s
dtlogging = yes
authtype = getpwnam

hostgroup www 192.168.1.30

watch www
service http
interval 1m
monitor http.monitor
period wd {Sun-Sat}
alert apacherestart.alert
alertevery 45m

然后编辑/usr/lib/mon/alert.d/apacherestart.alert文件
#!/bin/sh
service heartbeat stop

设置服务
cp /usr/lib/mon/etc/S99mon /etc/init.d/mon

vim /etc/init.d/mon
在第二十四行的末尾加上一个 &
#!/bin/sh
#
# start/stop the mon server
#
# You probably want to set the path to include
# nothing but local filesystems.
#
# chkconfig: 2345 99 10
# description: mon system monitoring daemon
# processname: mon
# config: /etc/mon/mon.cf
# pidfile: /var/run/mon.pid
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin
export PATH

# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
    start)
        echo -n "Starting mon daemon: "
        daemon /usr/lib/mon/mon -c /etc/mon/mon.cf &
        echo
        touch /var/lock/subsys/mon
        ;;
    stop)
        echo -n "Stopping mon daemon: "
        killproc mon
        echo
        rm -f /var/lock/subsys/mon
        ;;
    status)
        status mon
        ;;
    restart)
        killall -HUP mon
        ;;
    *)
        echo "Usage: mon {start|stop|status|restart}"
        exit 1
esac

exit 0

 

 

最后要说的还有我的配置不知道是哪有问题一直就没有出现过log文件,这也是造成我调试的这么长时间的原因之一。没有日志文件真的是很麻烦。

我的这个配置只是用mon控制了httpd和hearbeat的联动。但httpd关闭后自动关闭heartbeat。mon还是很强大的,还有许多其它的功能,能达到很多种效果,由于时间的原因目前无法一一的调试了。

### 配置 Prometheus 监控 Apache HTTP 服务器 为了实现对 Apache HTTP 服务器(httpd)性能指标的有效监控,需部署 `apache_exporter` 工具来收集并转换 Apache 的状态数据为 Prometheus 可读取的形式[^1]。 #### 安装与启动 apache_exporter 安装完成后,通过命令行启动 `apache_exporter` 实例。默认情况下,该实例会监听在端口 9117 上提供服务: ```bash [root@fp-21 ~]# apache_exporter INFO[0000] Starting apache_exporter (version=0.5.0, branch=HEAD, revision=f6a5b4814ea795ee9eac745c55649cce9e5117a9) source="apache_exporter.go:305" INFO[0000] Build context (go=go1.9.2, user=root@0fdc4d8924f5, date=20171113-21:19:13) source="apache_exporter.go:306" INFO[0000] Starting Server: :9117 source="apache_exporter.go:307" ``` 确认进程已成功绑定到指定端口: ```bash ss -lntp | grep 9117 LISTEN 0 128 :::9117 :::* users:(("apache_exporter",pid=15709,fd=3)) ``` 上述日志表明 `apache_exporter` 正常运行于本地地址的 9117 端口上[^5]。 #### 修改 Prometheus 配置文件 编辑 `/usr/local/prometheus/conf/prometheus.yml` 文件,在 scrape_configs 节点下增加针对 Apache exporter 的采集任务配置项: ```yaml scrape_configs: - job_name: 'apache_status' static_configs: - targets: ['localhost:9117'] ``` 保存更改后重启 Prometheus 使新设置生效: ```bash systemctl restart prometheus ``` 此操作确保 Prometheus 将定期访问由 `apache_exporter` 提供的数据接口获取最新统计信息[^2]。 #### 数据可视化展示 对于所获得的数据可以通过 Grafana 进行图形化的呈现,创建仪表盘或者导入预先设计好的模板以便更直观地观察 Apache HTTPD 的工作状况和趋势变化[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值