数据预处理-系统监控-监控代码下|学习笔记

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 快速学习数据预处理-系统监控-监控代码下

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第四阶段数据预处理-系统监控-监控代码下】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/672/detail/11676


数据预处理-系统监控-监控代码下


内容介绍:

一.封装要展现的数据

二.将数据写入 redis


一.封装要展现的数据

在 runTime 大于0的情况下,约定已经约定完成,代码按着数据读,我们按着数据写即可,最终写到 redis 中。写到 redis 之后在里面封装数据,封装成 Map 类型,因为链路统计功能当中,也是先将数据转换成 Map,然后转换成 JSON,所以这里先将必要的数据转换成 Map:

val Maps=Map(

“costTime”->runTime,

“serverCountMap”->serverCount,

“applicationId”->appId,

“countPerMillis”->runSpeed,

“applicationUniqueName”->appName,

“endTime”->endTimeS,

“sourceCount”->dataCount

)

Maps 就是用来存储数据的,然后往 Map 中写数据,第一个就是运行时间 costTime,它用这个来读数据,我们就用来写数据,costTime 是时间差,是任务的运行时间,结束时间减去开始时间就是运行时间 runTime。第二个是 serversCountMap 链路统计中的结果,以它为K,就是链路统计的结果,没有做任何改动就是 serverCount。第三个是 applicationId, appId。第四个是速度 countPerMillis,速度已经计算好了 runSpeed。接下来是 applicationUniqueName, appName。还有一个 endTime 任务结束的时间,前面 endTime 是一个时间戳,而这里不是时间戳而是具体的时间表,所以需要先把日期类型的格式转换成年月日格式,将时间戳格式的结束时间转换成年月日格式的数据

val simple=new SimpleDataFormat( pattern=“yyyy-mm-dd HH:mm:ss”

val endTimeS=simple.format(new Data(endTime))

这里就是把时间戳转换为年月日的格式。

还有一个数据 sourceCount,指的是一批次数据总数。

第九步骤封装要展现的数据,我们前端要使用这些数据,那就需要给这些数据。加个说明:

//与前端工程师约定一个规则

规则就是它按照上面数据读,我们就按照这些数据写,写与读正好对应。

二.将数据写入 redis

前端 Map 已经有了,现在将数据写入 redis 中,在写入之前转换成 string 类型,将 runTime,appId,runSpeed, appName 以及 dataCount 进行转换,在其后添加.toString,先转换成 string 效果更高些。redis 已有实例,之前已传过来了。

setex 方法传入 key,时间和数据,首先准备写入 redis 需要的 key、时间(数据的有效存储时间,超过这个时间,数据在 redis 内自动删除)、数据(已准备好)key 材料在配置文件中 jedisConfig.properties,集群中 redis 配置文件已经准备好了

image.png

链路统计功能调用 LP,监控数据,分别做数据处理监控、查询监控和预订监控,这里链路统计的使用CSANTI_MONITOR 作为前缀,比如 monitor.dataProcess 做预处理的监控功能就用 CSANTI_MONITOR_DP 作为前缀,用cluster.key.monitor.dataProcess 为 K 读取配置文件中的值,调用该方法拿取。

回到方法中

val key = PropertiesUtil.getStringByKey( key=“cluster.key.monitor.dataProcess”,

propName=“jedisConfig.properties”+ System.currentTimeMillis().toString)

key 等于读取的配置文件,读取配置文件的方法在 PropertiesUtil 中,引入进来。第一个参数 key 拿取完成,还得获取配置文件的名称,配置文件名称就是 jedisConfig.properties,前缀拿到之后,需要加一个后缀,后缀在链路统计中加的是时间戳,这里也加一个时间戳作为后缀+ System.currentTimeMillis().toString,将时间戳转换成 string 类型。每一批数据在写的时候都写了一个新的数据,现在 redis 中右键刷新 db0有78个数据,全是LP 数据。

接下来读取存储的周期,数据在 redis 中存多长时间需要读出来

val time=

PropertiesUtil.getStringByKey( key=“cluster.exptime.monitor”,

propName=“jedisConfig.properties”.toInt

周期也在 jedis 配置文件中,

image.png

监控数据有效期,单位是秒也就是86400,就是二十四个小时,二十四小时太久了先注释掉,时间太久会导致 redis 中之前很长时间跑的数据都在里面,现在改成半小时也就是1800,半小时以后自动删除。读取 jedis 配置文件方法仍是 PropertiesUtil.getStringByKey(),后面的时间戳参数不需要了,将日期转换成 toInt。时间有了,key 也有了,代码如下:

redis.setex(key,time,Json(defaultFormats).write(Maps))

Maps 得先转换为 Json 再存储,引入 Json 之后将 Map 使用默认方式 DefaultFormats 方式转换成 write(Maps),就把数据写入 redis 中了。

这就是准备数据然后将数据写入 redis的过程。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
机器学习/深度学习 监控 Kubernetes
使用 Seldon Alibi 进行模型监控
虽然 Seldon 使在生产中部署和服务模型变得容易,但一旦部署,我们如何知道该模型是否在做正确的事情? 训练期间的良好表现并不一定意味着在生产运行几个月后表现良好。 现实世界中发生的事情是我们无法解释的,例如:输入数据逐渐偏离训练数据,以及异常值和偏差。
|
运维 监控 数据可视化
ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统指标
在ELK日志监控分析系统的探索与实践(一)中,我们介绍了如何利用ELK+Filebeat监控Springboot项目的日志,本篇则是重点介绍如何利用ELk+Metricbeat监控服务器系统CPU、内存、磁盘等系统指标。
ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统指标
|
4月前
|
Prometheus 监控 Cloud Native
【揭秘可观测性】构建完美参考框架,打造系统监控的瑞士军刀!
【8月更文挑战第25天】在现代软件设计中,可观测性是确保系统稳定性和效率的关键因素。它主要由日志、指标及链路追踪(统称LMx)三大核心组件构成。本文详细介绍了构建高效可观测性框架的六个步骤:需求分析、工具选择、数据收集策略设计、实施集成、数据可视化及持续优化。并通过一个Spring Boot应用集成Prometheus和Micrometer收集指标的示例,展示了具体实践方法。合理构建可观测性框架能显著提升团队对软件系统的管理和监控能力,进而增强系统整体性能和可靠性。
80 2
|
运维 监控 算法
如何使用日志分析监控神农系统
我们将 SLS 的智能异常分析功能中的文本分析功能调整为模板发现和模板匹配两个子任务,提高了其在模板管理和应用上的灵活性。这里以对内部神农系统的运行日志监控为例,介绍改版后任务的使用场景与流程。
494 1
如何使用日志分析监控神农系统
|
Prometheus 监控 Cloud Native
【夜莺监控】从日志中提取指标的瑞士军刀
【夜莺监控】从日志中提取指标的瑞士军刀
|
机器学习/深度学习 存储 JSON
什么是模型监控?(Valohai)
型监控是指密切跟踪机器学习模型在生产中的性能的过程。 它使您的 AI 团队能够识别和消除各种问题,包括糟糕的质量预测和糟糕的技术性能。 因此,您的机器学习模型可提供最佳性能。 有效地监控模型对于使您的机器学习服务获得成功非常重要。 它使您能够在现实世界中产生重大影响。 但是在监控模型时应该跟踪什么? 在这篇文章中,您将找到所有详细信息。
|
7月前
|
Prometheus 监控 Cloud Native
统一观测丨如何使用Prometheus 实现性能压测指标可观测
简介:本篇阐述如何使用 Prometheus 实现性能压测 Metrics 的可观测性。
222 0
|
数据采集 消息中间件 JSON
数据预处理-系统监控-本地监控介绍|学习笔记
快速学习数据预处理-系统监控-本地监控介绍
219 0
数据预处理-系统监控-本地监控介绍|学习笔记
|
数据采集 JSON 分布式计算
数据预处理-系统监控-效果及总结|学习笔记
快速学习数据预处理-系统监控-效果及总结
103 0
数据预处理-系统监控-效果及总结|学习笔记
|
数据采集 存储 JSON
数据预处理-系统监控web界面-系统运行情况数据来源|学习笔记
快速学习数据预处理-系统监控web界面-系统运行情况数据来源
232 0
数据预处理-系统监控web界面-系统运行情况数据来源|学习笔记