博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Keepalived 资源监控
阅读量:6370 次
发布时间:2019-06-23

本文共 2192 字,大约阅读时间需要 7 分钟。

简介:

作为一个高可用集群软件,Keepalived 没有 Heartbeat 、RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keepalived 也考虑到了这一点,它提供了 vrrp_script 、notify_master 、notify_backup 等多个功能模块,通过这些模块也可以实现对集群资源的托管以及集群服务的监控。

## 下面是一个 Keepalived 主备切换的演示过程

shell > curl 192.168.1.35welcome to Master Nginx

## 客户机访问虚拟 IP 192.168.1.35 ,这时由主服务器提供服务

## 当主服务器宕机或网络出现异常或 Keepalived 本身停止时,主备切换

shell > curl 192.168.1.35welcome to Slave Nginx

## 当手动停止 Keepalived 服务时,由备机来提供服务,这并没有什么问题

## 第二种测试

shell > curl 192.168.1.35welcome to Master Nginx

## 现在由主服务器提供服务,当主服务上提供服务的 web 停止时,是否会出现主备切换呢 ?

shell > curl 192.168.1.35curl: (7) couldn't connect to host

## 很显然,并没有主备切换。

## 主服务器没有移除 VIP ,备服务器也没有绑定 VIP 。
## 这是因为他们之间通过 VRRP 协议来确定对方是否存活,而 web 停止并不妨碍他们之间的通信。
## 所以备机就认为主服务器处于存活状态,从而导致无法正常提供服务。

## 这时就要由 vrrp_script 出马了 !

vrrp_script

此模块专门用于对集群中服务资源进行监控 。与此模块同时使用的还有 track_script 模块,在此模块中可以引入监控脚本、命令组合、shell 语句等 ,以实现对服务、端口等多方面的监控。track_script 模块主要用来调用 vrrp_script 模块使 keepalived执行对集群服务资源的检测。vrrp_script 模块中还可以定义对服务资源检测的时间间隔、权重等参数,通过 vrrp_script 和 track_script 组合,可以实现对集群资源的监控并改变优先级,进而实现 keepalived 主备节点切换。

## 下面是 vrrp_script 模块常见的几种监控机制

1、killall 命令探测服务运行状态

vrrp_script check_nginx {       # check_nginx 为自定义的一个监控名称  script "killall -0 nginx"     # 采用 killall 信号 0 来对进程运行状态进行监控,0 为正常,1 为异常  interval 2                    # 检测间隔时间,即两秒检测一次  weight 30                     # 一个正整数或负整数。权重值,关系到整个集群角色选举,尤为重要( 单独出帖 )}track_script {  check_nginx                   # 引用上面定义的监控模块}

2、检测端口运行状态

vrrp_script check_nginx {  script "< /dev/tcp/127.0.0.1:80"  # 通过 < /dev/tcp/127.0.0.1:80 这样的方式定义一个对本机端口状态的检测  interval 2  fall 2                            # 检测失败的最大次数,超过两次认为节点资源发生故障  rise 1                            # 请求一次成功认为节点恢复正常  weight 30}track_script {  check_nginx}

3、通过 shell 语句进行状态监控

vrrp_script check_nginx {  script " if [ -f /usr/local/nginx/logs/nginx.pid ]; then exit 0 ; else exit 1; fi"  interval 2  fall 1  rise 1  weight 30}track_script {  check_nginx}

4、通过脚本进行服务状态监控

vrrp_script check_nginx {  script "/etc/keepalived/check_nginx.sh"  interval 2  weight 30}track_script {  check_nginx}

## 其中 check.nginx.sh 也是本着正常返回 0 ,异常返回 1 的原则来定义

## 这两种方法,个人感觉基本一个意思,简单点的检测就用语句,复杂点的就写脚本里

转载于:https://www.cnblogs.com/wangxiaoqiangs/p/5630531.html

你可能感兴趣的文章
零售品牌如何驾驭大数据主导商业决策?
查看>>
经济模式UPS在数据中心的应用(上)
查看>>
Intel首款32核Xeon E5 v5跑分曝光:史上最强
查看>>
中国基于国产龙芯处理器的大数据一体机
查看>>
物联网影响商业发展三要素
查看>>
China Unicom and Chunghwa Telecom work together&nb
查看>>
Java图片上查找图片算法
查看>>
Python fabric实现远程操作和部署
查看>>
详解Java中staitc关键字
查看>>
前中情局局长:FBI目的是从根本上改善iPhone
查看>>
大隐隐于市,你身边的那些安全隐患你都知道么?
查看>>
物联网市场迅猛发展 “中国芯”如何把握机会?
查看>>
aws 上使用elb 的多域名问题
查看>>
环球花木网的目标就是致力于打造成为“园林相关行业的专业性门户网站
查看>>
《编写高质量代码:改善c程序代码的125个建议》—— 建议14-1:尽量避免对未知的有符号数执行位操作...
查看>>
《C语言编程魔法书:基于C11标准》——2.2 整数在计算机中的表示
查看>>
全球程序员编程水平排行榜TOP50,中国排名第一
查看>>
HDFS 进化,Hadoop 即将拥抱对象存储?
查看>>
Edge 浏览器奇葩 bug:“123456”打印成“114447”
查看>>
Sirius —— 开源版的 Siri ,由 Google 支持
查看>>