张锐Jangrui
Linux 系统运维工程师 / 深圳
男 · 1993.03
专科 · 2016.06
参加工作 · 2016.07
工作经历
广铁集团公司
项目经历
广铁集团监控系统
项目描述
实现现有监控平台统一化,减少不必要的工作量。
项目要求
任务描述
项目总结
Zabbix 整体架构过大,各服务器功能应独立分类,应使用分布式 Proxy 部署,维护的时候很方便,例如清理 Zabbix 的历史数据,Zabbix 停掉后,可以设置监控数据在 proxy 端保留时间长一些,等维护好后 Proxy 会同步数据到 Server,尽量减少数据丢失。
优化网络延迟,不可忽略的存在;例如,两个同样硬件配置的 Proxy ,A 的网络延迟为10ms,NVPS 约为 640,B 的网络延迟在 230ms,NVPS 约为 500,A 能够在 2-3 秒内发送 15000 个值,B 仅发送了 1000 个值。
可以考虑更换 ssd 固态硬盘,提高 MySQL 服务器 IO 性能。
广铁集团日志分析平台
项目描述
搭建支持高并发高可靠的日志分析平台,方便开发人员快速的检索日志,排查问题,同时提供友好的分析和统计的界面。
项目要求
任务描述
Kibana:负责提供可视化界面,生成图文报表;
Elasticsearch:负责存储最终数据、建立索引、提供搜索功能;
Kafka:负责提供高吞吐、低延迟的缓存队列服务;
Logstash:负责日志的过滤,写入 Elasticsearch;
Filebeat:负责各种日志的收集。
项目总结
对分业务数据进行冷热分离,最大化利用资源。每个业务准备两个 ES 集群,可以理解为冷热集群。7天以内的数据,存入热集群,以 SSD 存储索引。超过7天,就进入冷集群,以 SATA 存储索引,这么一改动,性能又得到提升。
Redis 受限于机器内存,当内存达到 Max,数据就会抛弃,无法保证消息的可靠性。在 Redis 中内存越大,触发持久化的操作阻塞主线程的时间就越长,相比之下,Kafka 的数据是堆积在硬盘中,不存在这个问题。