项 目 一:排除 LVS+keepalived 四层负载高可用集群错误,实现高可用 项目背景:因为不同时间的访问量的不同,导致网站的并发量在不同时间不同。如果某个时间段访问量忽然增大,网站的负载就会加重,造成延迟,甚至导致服务器故障,此时就会极大的影响用户的体验,从而造成用户的流失,此时就应该给集群做负载均衡和高可用技术。
项目描述:
此项目是给集群做LVS+keepalived,lvs 提供负载均衡,keepalived 提供健康检查,故障转移,提高系统的可用性,从而达到高可用。lvs 目前有四种技术:TUNNEL、NAT、DR、full-NAT,主要区别是数据流量不同,公司采用的是 DR 模式,它工作在传输层,相当于直接从客户端接收数据包,且处理之后直接返回客户端,这种模式相比较其它三种模式更快,及更简单易懂。如果某个服器节点或者工作出现故障,keepalived 会通过 vrrp 协议实现网络不间断的稳定运行。
个人职责,处理经验:
负责维护负载均衡服务器,高可用集群的正常运行。刚参加工作不久,处理过紧急情况,线上服务访问不到,逐一排查硬件,网络故障,没有问题,能够 ping 通,后发现是架构中提供负载均衡的 DR 服务器宕机,但是 vip 没有自动跳转到另一台高可用服务器上,紧急手动切换服务,让备用负载均衡服务器工作,保证线上业务可用。
大量阅读技术文档,排查配置文件,是路由顺序设置错误,心跳网卡未能正常工作,backup 爆头失败,未能自动切换。重新修改配置文件,设置心跳网卡,重启服务。功能正常实现。
项 目 二:基于 Zabbix 的集群监控
项目背景:公司要求监控服务器的状态,包括 cpu 负载,内存使用状况等等,以及监控服务器上正常运行的服务状态,如 nginx,数据库,进出口流量等,若出现阈值异常报警,能及时微信或电话报警。
项目描述:本次项目所使用的是 zabbix 的主动模式,因为公司监控的东西较多,这样可以一定程度上减轻 zabbix server 的压力,无论是监控服务的运行状态还是 cpu 负载等,会根据不同的项目建立不同的主机组,这样更便于管理;同时会更开发部进行沟通,看看他们有没有什么其他需要的监控;因为监控结果的不同,会设定不同的监控界面,这样跟有利于查看变化过程;而且通常会设置一些报警动作,如邮箱报警、微信报警等
个人职责:
搭建一台单独的 zabbix 监控服务器,将需要监控的服务添加监控项,如系统 cpu 负载,内存使用状况、web服务器的状态等,并设置微信报警、邮箱报警或者短信报警等
项目三:ELK 日志分析平台部署
项目背景:当日志量太大,需要搜集的信息过多时,需要对日志进行集中化管理,包括对日志的收集、传输、存储、分析、警告,从而获得我们需要的信息。
项目描述:本项目是现在主流的日志系统 ELK,分别有三个开源软件:Elasticsearch、Logstash、kibana。其中
Elasticsearch 提供了日志的搜集、分析以及存储,同时也能实时搜索;logstash 用于日志的搜集、分析以及过滤,同时它支持大量数据的获取、展示;kibana 主要就是为日志提供一个友好的 web 界面,便于对日志重要数据的汇总。
个人职责:
负责ELK 日志分析平台的部署,保证ELK 平台的正常使用,以及对日志做基本的分析。