实时日志查询服务数据上云的价值是什么?鹰眼平台介绍
优采云 发布时间: 2021-03-24 06:16实时日志查询服务数据上云的价值是什么?鹰眼平台介绍
一、 Hawkeye平台介绍
Eagle Eye是一个大型的分布式实时监视和日志分析系统,由PCG技术运营部负责。它支持多语言报告。域名是:
Eagle Eye的数据报告是通过ATTA提供的。 ATTA支持多语言报告(JAVA,Python,C ++等)。报告后,Eagle Eye从ATTA系统中提取数据并将其写入ES。行索引机制,快速查询功能,写入功能等
Hawkeye利用ES的倒排索引机制和在几秒钟内查询数百亿数据的能力,提供了以下功能:
1.实时日志查询服务数据
实时日志查询服务数据上报给ATTA后,开发人员可以通过Eagle Eye查询日志及时定位问题,运维可以通过Eagle提供的数据统计界面实时查询业务运行状态。眼睛。
2.数据分析能力
将Eagle Eye数据存储在数据库中之后,用户可以直接通过API对其进行调用以进行OLAP分析。
3.错误日志警告服务
如果程序中存在错误,则可以根据Hawkeye规范报告错误日志,Hawkeye将对该单词进行分段,并根据不同的错误代码给出分钟级别的警报。
4. grafana实时分析警报
通过grafana实时分析并警报报告给Eagle Eye的数据。 (由于ES不支持大型并发查询,因此无法对大数据进行实时分析)
二、在云的背景下
公司调整了战略,建立了新的云业务小组,成立了内部“技术委员会”,并启动了“开源协作”和“业务到云”的两个主要战略方向。
在架构的演变过程中,Hawkeye团队从迁移到云中可以获得什么好处?上云的价值是什么?
1.业务价值2.工程师价值3.腾讯云价值三、组件云架构选择
为了确保业务的连续性和体系结构的发展,数据导入过程的主要过程没有太大变化。 Kafka直接在云上使用CKAFKA,而ES直接在云上使用ES。
ES和Kafka直接使用云组件,其他组件需要重构。
1.重构LogSender
写给Kafka的生产者程序的性能瓶颈特别大,高峰时期的数据丢失尤其严重。
生产者程序的数据写入过程:读取BOSS订阅-> IP解析->写入Kafka。
([1) IP解析性能瓶颈
以前,生产者程序是C ++版本。打印日志后,发现高峰时段的IP解析特别耗时。我检查了代码,发现IP分辨率已锁定。因此,高峰时段的数据丢失尤为严重。解决方案是:将IP分辨率更改为二进制搜索算法以找到IP,然后取消锁定以解决它。
([2) Kafka性能瓶颈问题
由于我们的生产者程序,一个程序将读取很多很多主题,然后将它们写入Kafka。我们尝试使用一个生产者和多个生产者进行发送,但是性能无法提高。
经过源代码调查,发现当Kafka发送时,它将根据主题分区锁定队列。当队列已满时,将发送一批消息。因此解决方案是,每个BOSSID都应有一个独立的发送客户端。
优化后:由于程序性能原因,当数据量非常大时,单个节点在一分钟内只能处理大约130,000条数据。改进后,单个节点可以处理大约55w的数据。性能提高了4倍。
2.卡夫卡精选
总体而言,与较低版本相比,Kafka具有较高版本支持的更*敏*感*词*,例如事务和磁盘之间的数据传输。写入性能不会降低。这里的选择是最高的版本。
当然,CKAFKA没有给我们选择版本的机会。客户端编写时,应注意该版本与Kafka服务器版本一致,以避免不必要的问题。
例如,当低版本的客户端编写高版本的Kafka时,如果使用数据压缩,则服务器在接收到数据后将其解压缩,然后根据相应的格式进行压缩(如果版本不同)相同,将不会执行此操作)会增加服务器的运营成本。
Kafka上云后,单台机器的性能可以达到400MB / s,而我们自建的Kafka的性能可以达到100MB / s,性能提高4倍。
3.重构视频群聊
在ES写作部分,该行业收录许多组件。最著名的是Logstach。由于性能不足,我们重新开发了一组读取Kafka并编写ES的组件。
核心优化点如下:
由于磁盘IO的大幅减少,在极端优化的情况下,性能可以继续提高2倍以上。总体而言,ES写作将性能提高了约6倍。
4. ES选择
较低版本的ES支持TCP写入和HTTP写入,而较高版本仅支持一种HTTP写入方法。实际测量发现以下差异:
因此我们采用了云版本ES 6. 8. 2。
上云后的效果:
四、出现在云端之后的变化
ES / Kafka进入云之后,有超过50个ES集群和12个Kafka集群。
1.减少工作量
如果您不使用云,那么构建这些集群平均需要为ES集群使用20台计算机。从申请机器到机器初始化,磁盘RAID和安装ES,每个ES平均每天需要3-4个人,因此建设成本它已经需要200多人(62 * 3- 4) /天,并且没有提到集群的运行和维护成本,这远远超出了鹰眼团队的人力。
2.降低成本
上云后,通过对各个组件的优化,整体性能将提高至少2-3倍,所需资源将比去年减少2-3倍,并且每年成本至少为2kw。
3.工作更加集中
上云之后:
五、后续架构的演变
1.监控系统的构建
核心模块必须同时具有日志和监视功能。不同模块的监视维度彼此对应,因此核心模块,日志和监视都可用。当业务异常时,可以通过异常的基本数据(如CPU / Mem等),索引数据,日志数据等来构建完整的监控系统。
2.体系结构不断升级
目前,自行开发的环聊写作只能保证至少一次,但不能保证一次。尝试通过flink的检查点机制确保数据链接的完整性。