Keepalived 资源监控
简介:
作为一个高可用集群软件,Keepalived 没有 Heartbeat 、RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keepalived 也考虑到了这一点,它提供了 vrrp_script 、notify_master 、notify_backup 等多个功能模块,通过这些模块也可以实现对集群资源的托管以及集群服务的监控。
## 下面是一个 Keepalived 主备切换的演示过程
shell > curl 192.168.1.35
welcome to Master Nginx
## 客户机访问虚拟 IP 192.168.1.35 ,这时由主服务器提供服务
## 当主服务器宕机或网络出现异常或 Keepalived 本身停止时,主备切换
shell > curl 192.168.1.35
welcome to Slave Nginx
## 当手动停止 Keepalived 服务时,由备机来提供服务,这并没有什么问题
## 第二种测试
shell > curl 192.168.1.35
welcome to Master Nginx
## 现在由主服务器提供服务,当主服务上提供服务的 web 停止时,是否会出现主备切换呢 ?
shell > curl 192.168.1.35
curl: () 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 信号 来对进程运行状态进行监控, 为正常, 为异常
interval 2 # 检测间隔时间,即两秒检测一次
weight # 一个正整数或负整数。权重值,关系到整个集群角色选举,尤为重要( 单独出帖 )
}
track_script {
check_nginx # 引用上面定义的监控模块
}
2、检测端口运行状态
vrrp_script check_nginx {
script "< /dev/tcp/127.0.0.1:80" # 通过 < /dev/tcp/127.0.0.1: 这样的方式定义一个对本机端口状态的检测
interval
fall 2 # 检测失败的最大次数,超过两次认为节点资源发生故障
rise 1 # 请求一次成功认为节点恢复正常
weight
}
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
fall
rise
weight
}
track_script {
check_nginx
}
4、通过脚本进行服务状态监控
vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
interval
weight
}
track_script {
check_nginx
}
## 其中 check.nginx.sh 也是本着正常返回 0 ,异常返回 1 的原则来定义
## 这两种方法,个人感觉基本一个意思,简单点的检测就用语句,复杂点的就写脚本里
Keepalived 资源监控的更多相关文章
- Linux资源监控命令/工具(综合)
目录: ps pstree pidof top free uptime ifuser lsof mpstat vmstst pidstat iostat iotop watch sar 1.ps 1) ...
- 21.Pod的limit和request和资源监控收集服务Heapster
容器的资源需求,资源限制 requests:需求,最低保障: limits:限制,硬限制: CPU: 1颗逻辑CPU =,millicores 500m=.5CPU 内存: E.P.T.G.M.K E ...
- 服务器资源监控插件(jmeter)
零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过 实时监控,可以准确的把握不同测试场景下服务器资源消 ...
- JMeter性能测试-服务器资源监控插件详解
零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服 ...
- Windows:打开MSDTC,恢复Windows任务栏,查看windows日志,打开远程桌面,打开Services,资源监控
Windows 服务器系列: Windows:查看IP地址,IP地址对应的机器名,占用的端口,以及占用该端口的应用程 Windows:使用Dos命令管理服务(Services) Windows:任务调 ...
- NodeJS + PhantomJS 前端自动化资源监控
前言:最近做前端资源监控,看了很多例子,没有达到想要的效果.首先的槽点是PhantomJS的官方文档,真鸡肋,其次是网上的例子,多数是介绍PhantomJS的用法,而并没有介绍怎么完整的去实现,跟官方 ...
- Azure VM开启资源监控
目前China的Azure VM资源监控默认是不打开的.本文将介绍如何开启VM的监控功能. 一 Azure VM 打开Azure的Portal页面https://portal.azure.cn,登录后 ...
- k8s资源指标API及metrics-server资源监控
简述: 在k8s早期版本中,对资源的监控使用的是heapster的资源监控工具. 但是从 Kubernetes 1.8 开始,Kubernetes 通过 Metrics API 获取资源使用指标,例如 ...
- Prometheus 监控K8S集群资源监控
Prometheus 监控K8S集群中Pod 目前cAdvisor集成到了kubelet组件内,可以在kubernetes集群中每个启动了kubelet的节点使用cAdvisor提供的metrics接 ...
随机推荐
- openvpn搭建笔记
#整理openvpn安装 #1安装上传/下载软件 yum -y install openssh-clients lrzsz #2更新时间 yum -y install ntpdatentpdate t ...
- CentOS解压rar文件
默认不能解压rar文件. 进官网下载:http://www.rarsoft.com/download.htm RAR 5.40 for Linux x64 安装: # tar -zxvf rarlin ...
- php基础语法(变量)
PHP常用表现形式: 1.<?php .....这里是php代码 ?> 2.<? .....这里是php代码 ?> 此形式依赖于php.ini中的一项设置: short_ope ...
- 我的 SONY MP3 NWZ-B105F
我的 SONY MP3 NWZ-B105F 只有 2GB 的容量,好像2007年出来的,现在还可以开机和播放. 使用的 SigmaTel 的方案 BGA 的封装,1.1inch 屏幕竟然是彩屏,锂电池 ...
- Hadoop MapReduce 操作 统计词频
1.准备文件并设置编码格式为UTF-8并上传Linux 2.新建一个Java Project 3.导入jar 4.编写Map()和Reduce() 5.将代码输出成jar 6.在linux中启动hdf ...
- Opencv2.2 移植到am335x-y开发板
1.虚拟机上运行cmake-gui,报找不到文件,指示安装. 2.下载opencv2.2.0 http://opencv.org/downloads.html 3.cmake-gui,配置参考< ...
- MIT App Inventor使用与入门教程
前言:随着信息技术新课标的提出,移动app应用设计被加入到新课标,程序与算法得到体现,学生的创造性,计算思维与信息意识也可以在其中得到体现. 安卓app开发目前比较火热的是Eclipse和Androi ...
- Windows Restart Manager 重启管理器
Restart Manager(以下简称RM)可以减少或避免安装或更新程序所需要的系统重启次数.安装(或更新)过程中需要重启的主要原因是需要更新的某些文件当前正被一些其它程序或服务所使用.RM允许除关 ...
- rtmp 推送h264 + aac 的数据
相关源码下载: http://download.csdn.net/detail/keepingstudying/8340431 需要libfaac,librtmp 的支持, 1.帧的划分 1.1 H. ...
- Hibernate学习4—关联关系一对多映射
一.班级学生一对多映射实现(单向) Class 1 * Student 一对多 在学生多的一方,配置一的对象: com.cy.model.Class: package com.cy.model; ...