Heartbeat架好后,我们就需要监控起来喽,下面我们就来了解下怎么监控。

首先来了解下几个命令,这几个命令在heartbeat安装后会自动加上,我们的监控脚本就用到这几个命令。

[root@usvr-210 libexec]# which cl_status

/usr/bin/cl_status

[root@usvr-210 libexec]# cl_status listnodes  #列出当前heartbeat集群中的节点

192.168.3.1

usvr-211

usvr-210

[root@usvr-210 libexec]# cl_status nodestatus usvr-211  #列出节点的状态

active

[root@usvr-210 libexec]# cl_status nodestatus 192.168.3.1  #列出节点的状态

ping

我们的check_heartbeat.sh原理就是列出集群中所有节点,并监测所有节点的状态是否正常,我们实验的节点状态为ping和active。

当active+ping的个数为0时critical

当active+ping的个数小于节点总个数时为warn

当active+ping的个数等于节点总个数时为ok

[root@usvr-210 libexec]# cat check_heartbeat.sh

#!/bin/bash

# Author: Emmanuel Bretelle

# Date: 12/03/2010

# Description: Retrieve Linux HA cluster status using cl_status

# Based on http://www.randombugs.com/linux/howto-monitor-linux-heartbeat-snmp.html

#

# Autor: Stanila Constantin Adrian

# Date: 20/03/2009

# Description: Check the number of active heartbeats

# http://www.randombugs.com

# Get program path

REVISION=1.3

PROGNAME=`/bin/basename $0`

PROGPATH=`echo $0 | /bin/sed -e 's,[\\/][^\\/][^\\/]*$,,'`

NODE_NAME=`uname -n`

CL_ST='/usr/bin/cl_status'

#nagios error codes

#. $PROGPATH/utils.sh

OK=0

WARNING=1

CRITICAL=2

UNKNOWN=3

usage () {

echo "\

Nagios plugin to heartbeat.

Usage:

$PROGNAME

$PROGNAME [--help | -h]

$PROGNAME [--version | -v]

Options:

--help -l Print this help information

--version -v  Print version of plugin

"

}

help () {

print_revision $PROGNAME $REVISION

echo; usage; echo; support

}

while test -n "$1"

do

case "$1" in

--help | -h)

help

exit $STATE_OK;;

--version | -v)

print_revision $PROGNAME $REVISION

exit $STATE_OK;;

#    -H)

#      shift

#      HOST=$1;;

#    -C)

#      shift

#      COMMUNITY=$1;;

*)

echo "Heartbeat UNKNOWN: Wrong command usage"; exit $UNKNOWN;;

esac

shift

done

$CL_ST hbstatus > /dev/null

res=$?

if [ $res -ne 0 ]

then

echo "Heartbeat CRITICAL: Heartbeat is not running on this node"

exit $CRITICAL

fi

declare -i I=0

declare -i A=0

NODES=`$CL_ST listnodes`

for node in $NODES

do

status=`$CL_ST nodestatus $node`

let I=$I+1

#  if [ $status == "active" ] 默认情况下检测active状态的个数,但是ping状态也为正常状态,因此改成如下条件。

if [ $status == "active" -o $status == "ping" ]

then

let A=$A+1

fi

done

if [ $A -eq 0 ]

then

echo "Heartbeat CRITICAL: $A/$I"

exit $CRITICAL

elif [ $A -ne $I ]

then

echo "Heartbeat WARNING: $A/$I"

exit $WARNING

else

echo "Heartbeat OK: $A/$I"

exit $OK

fi

我们在nagios客户端,也就是我们的lvs集群usvr-210,usvr-211,我们通过nagios服务器端的check_nrpe来获取监控信息。

naigos客户端

1.先将脚本复制到nagios命令目录下并修改相应权限

cp check_heartbeat.sh /usr/local/nagios/libexec/

chmod a+x check_heartbeat.sh

chown nagios.nagios check_heartbeat.sh

2.在naigos客户端的配置文件中加入监控命令。

vim /usr/local/nagios/etc/nrpe.cfg

command[check_heartbeat]=/usr/local/nagios/libexec/check_heartbeat.sh

3.重新载入配置文件。

service xinetd reload

nagios服务端

1.加入相关监控服务

define service {

use                    local-service

service_description    heartbeat-lvs-master

check_command          check_nrpe!check_heartbeat

service_groups          heartbeat_services

host_name              usvr-210

check_interval          5

notifications_enabled  1

notification_interval  30

contact_groups          admins

}

define service {

use                    local-service

service_description    heartbeat-lvs-slave

check_command          check_nrpe!check_heartbeat

service_groups          heartbeat_services

host_name              usvr-211

check_interval          5

notifications_enabled  1

notification_interval  30

contact_groups          admins

}

2.检查并载入配置文件

nagioscheck

service nagios reload

监控如下:

ok,我们的heartbeat监控完成了。

--------------------------------------分割线 --------------------------------------

--------------------------------------分割线 --------------------------------------

heartbeat如何监控程序_Nagios监控Heartbeat相关推荐

  1. TIA博途V16上载程序后,在线无法监控程序,监控图标灰色,时间戳不一样如何解决?

    TIA博途V16上载程序后,在线无法监控程序,监控图标灰色,时间戳不一样如何解决? 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 大家在调试项目时 ...

  2. heartbeat如何监控程序_一文看懂MyCAT 命令行监控命令,监控调优必备

    概述 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Myca ...

  3. heartbeat如何监控程序_heartbeat+drbd监控脚本(自动发现问题,并邮件通知)

    生产环境有一些服务器是heartbeat+drbd做的高可用(参考:https://blog.51cto.com/net881004/2117869),但是有时候由于各种原因会产生问题(比如脑裂),而 ...

  4. mysql heartbeat lvs_CentOS 6.3 Mysql+heartbeat+drbd+LVS 的安装和配置(2)

    yum install resource-agents pacemaker 12. 修改heartbeat配置文件(以下步骤需要在2台node上执行) 复制配置文件,资源文件,认证密钥文件 cp /u ...

  5. nagios mysql 监控_nagios监控mysql

    说明:被监控客户端要先安装mysql,必须安装mysql-devel,再安装nagios-plugins,nrpe a.进入mysql,新建一个nagiosdb数据库,并授权 mysql –uroot ...

  6. nagios监控mysql服务_nagios监控mysql及邮件报警

    1.使用默认监控命令check_http命令+相关的参数来实现,如下: 在command.cfg添加如下关键词监控命令:check_http_word,参数解析:-I指定IP或者主机名,-u指定URL ...

  7. nagios监控mysql服务_nagios监控mysql服务

    配置被监控端 1.安装check_mysql插件 nagios 监控 mysql 需要用到 check_mysql 和 check_mysql_query 两个插件. 安装完成 nagios 后,发现 ...

  8. nagios mysql 并发_nagios监控mysql的connections和processlist

    监控connections和processlist的脚本下载地址: 1.把脚本上传到/usr/local/nagios/libexec目录下 /usr/local/nagios/libexec/che ...

  9. mysql 浮动ip_MySQL配置HeartBeat实现心跳监控和浮动IP

    1. 初始化环境配置 /sbin/chkconfig --add mysqld /sbin/chkconfig mysqld on ln -s /usr/local/mysql/bin/mysql / ...

  10. mysql实现心跳表_MySQL配备HeartBeat实现心跳监控和浮动IP

    mysql配置HeartBeat实现心跳监控和浮动IP 1. 初始化环境配置 /sbin/chkconfig --add mysqld /sbin/chkconfig mysqld on ln -s ...

最新文章

  1. c语言单片机求最小公倍数,单片机常用的14个C语言算法,要熟记在心哦!
  2. leetcode算法题--矩阵中的幸运数
  3. 计算机组成原理模拟试题,计算机组成原理模拟试题及答案
  4. sqlserver导入execl数据ACE.OLEDB.12.0错误
  5. 模态窗口插件之Jbox
  6. lightoj1234 打表技巧:分块打表
  7. 两种分布式锁实现方案(一)
  8. 这些神奇的 QQ 你还记得几个?
  9. 计算机辅助化学教育,在计算机辅助下的化学教学_计算机辅助制造
  10. voyage 虚拟机安装过程
  11. Java面试笔试考点精讲视频教程
  12. 用unity开发贪吃蛇,勾起我童年乐趣的小游戏
  13. 在hive3.1.2中插入数据,报could not find or load main class org.apache.hadoop.mapred.YarnChild
  14. 为啥不用美元作为IPFS体系的激励?
  15. 告别流氓播放器不让截屏,win10自带截屏快捷键
  16. 【ARTS】01_06_左耳听风-20181217~1223
  17. 利用MapReduce计算运营商上行下行流量
  18. IIS之web服务器部署
  19. 平头哥玄铁CPU调试系统介绍
  20. HR看到个华为 21级程序员的简历,月薪27w,那是什么概念!

热门文章

  1. esir openwrt x86_惠普 小欧S01 伪开箱及爱快 虚拟机+openwrt 软路由安装教程
  2. 写论文需要使用一个Github上的模型取数据,具体要求在代码里
  3. CKEditor5系列二:创建简单插件
  4. 3G来了,我们能干点啥软件?(转)
  5. 打开FOXMAIL常见错误提示“Message format error”
  6. 【电脑使用】误删Win10自带应用如何恢复
  7. java中国象棋棋子走法,《中国象棋对弈》象棋规则 棋子的走法
  8. 指数基金的分类以及投资方法
  9. 用CSS3实现无图片的百度Logo
  10. 遥感数据存储格式 ----BSQ、 BIL、BIP