ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CacheCloud 日报统计功能深度解析:客户端与服务端全天指标汇总的实现与使用

CacheCloud 日报统计功能深度解析:客户端与服务端全天指标汇总的实现与使用 后端运维【免费下载链接】cachecloud搜狐视频(sohu tv)Redis私有云平台 支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本提升资源管控能力和利用率。平台提供快速搭建/迁移运维管理弹性伸缩统计监控客户端整合接入等功能。(CacheCloud is a Redis cloud management platform. It supports Standalone, Sentinel, and Cluster architectures for Redis, effectively reducing large-scale Redis operation and maintenance costs, and improving resource management and utilization. The platform provides rapid construction/migration, operation and maintenance management, elastic scaling, statistical monitoring, client integration and access and other functions)项目地址https://gitcode.com/gh_mirrors/ca/cachecloud点击查看免费下载导读CacheCloud 是搜狐视频开源的 Redis 私有云管理平台其「日报统计」Daily Report功能面向普通用户客户端侧按天汇总一个 Redis 应用全天产生的客户端相关与服务端相关指标帮助应用负责人快速掌握应用使用状况、发现容量风险与连接异常。本文以 client-daily.md 为骨架结合仓库中日报数据模型、统计聚合实现、邮件模板、页面模板与调度配置等源码系统讲解日报统计的指标构成、数据来源、生成链路与使用入口让读者既能读懂日报上每个数字的含义也能理解其背后的实现原理。一、日报统计的功能定位在 CacheCloud 的功能体系中统计监控覆盖「指标采集、应用统计、节点统计、机器统计、监控报警、问题诊断」等能力见 function/index.md。日报统计属于应用级统计的组成部分其定位是汇总全天的应用使用情况而不是实时查看某个时间点的瞬时值分为客户端相关和服务端相关两大类指标分别刻画「客户端怎么调用 Redis」和「Redis 服务端运行得怎么样」帮助用户了解应用的使用情况、发现问题例如连接数峰值、命令超时、慢查询、内存水位等。从用户视角看日报统计入口位于客户端模块的「应用管理」之下。客户端模块面向普通用户包含账户申请、应用管理和我的申请三大子模块其中应用管理下的统计能力包括统计信息、应用详情、实例列表、连接信息、命令曲线、延迟监控和日报统计等见 client.md。二、日报统计的界面形态日报统计页面按「客户端相关」与「服务端相关」两个区块组织数据整体形态如下页面顶部提供日期选择器用户可以按天回查历史日报页面下方分别呈现客户端相关与服务端相关的指标表格。具体来说查询方式通过表单提交dailyDate日期、appId应用 ID与tabTagapp_daily参数调用应用管理接口返回该应用指定日期的日报数据见 appDaily.html数据兜底当appDailyData为空时例如该日无客户端上报数据页面会明确展示「无客户端上报数据」而不是渲染空的表格邮件联动日报除了在 Web 页面可查询还会通过邮件发送给应用负责人发送模板见 appDaily.ftl。三、客户端相关指标调用面与异常面「客户端相关」指标来源于 CacheCloud 客户端 SDK 的上报统计用于刻画应用调用 Redis 的总体情况。邮件模板appDaily.ftl和页面模板appDaily.html展示的客户端指标一致主要包括指标说明统计口径客户端值分布客户端上报命令的 value 大小分布全天按区间汇总次数客户端连接数每分钟最大连接数与平均连接数按分钟采样取最大/平均客户端延迟事件数全天累计的延迟事件次数全天累计命令调用统计全天命令调用次数与平均耗时ms全天累计 平均连接异常统计全天连接异常次数与平均耗时ms全天累计 平均命令超时统计全天命令超时次数与平均耗时ms全天累计 平均客户端异常个数全天客户端异常事件总数全天累计这些字段在数据模型 AppDailyData.java 中一一对应clientCmdCount累计命令调用次数、clientAvgCmdCost平均命令调用耗时、clientConnExpCount累计连接异常事件次数、clientAvgConnExpCost平均连接异常事件耗时、clientCmdExpCount累计命令超时事件次数、clientAvgCmdExpCost平均命令超时事件耗时、latencyCount延迟事件个数、clientExceptionCount客户端异常个数等。从源码结构可以推断这些客户端指标由专门的客户端统计采集链路聚合而来日报生成时会调用appService.getAppClientStatGather(appId, searchDate)获取指定日期yyyy-MM-dd维度的客户端汇总统计见 AppDailyDataCenterImpl.java相关采集逻辑可进一步参考 AppClientStatisticGatherServiceImpl.java。使用提示邮件模板中特别注明「客户端相关(确保使用有客户端统计的版本)」即客户端相关指标依赖接入 CacheCloud 客户端统计能力的 SDK 版本如果客户端未接入上报该区块数据为空。四、服务端相关指标容量与性能「服务端相关」指标由 CacheCloud 平台直接从 Redis 实例采集不依赖客户端上报主要包括指标说明统计口径慢查询个数全天慢查询总数全天累计命令次数每分钟最大命令数与平均命令数按分钟采样取最大/平均命中率每分钟最大/最小/平均命中率按分钟采样聚合内存使用量全天平均与最大使用量M全天聚合过期键数全天过期键总数全天累计剔除键数全天被淘汰evict键总数全天累计键个数全天平均与最大键个数全天聚合input 流量每分钟平均与最大入流量M按分钟采样output 流量每分钟平均与最大出流量M按分钟采样这些字段同样映射到AppDailyDataslowLogCount、maxMinuteCommandCount/avgMinuteCommandCount、maxMinuteHitRatio/minMinuteHitRatio/avgHitRatio、avgUsedMemory/maxUsedMemory、expiredKeysCount、evictedKeysCount、avgObjectSize/maxObjectSize、avgMinuteNetInputByte/maxMinuteNetInputByte、avgMinuteNetOutputByte/maxMinuteNetOutputByte以及avgUsedDisk/maxUsedDisk磁盘使用量。在实现上服务端指标由getAppMinuteStat(appId, startDate, endDate)聚合获取它将起止日期按yyyyMMddHHmm格式转换为时间戳区间调用appStatsDao.getAppMinuteStat(appId, startTime, endTime)得到应用分钟级统计再从中取出最大值、平均值等聚合值见 AppDailyDataCenterImpl.java。慢查询次数则单独通过instanceSlowLogDao.getAppSlowLogCount(appId, startDate, endDate)统计同上源码 #L230-L237。数据单位说明内存、磁盘使用量在聚合层由字节换算为 MB除以 1024×1024网络流量换算为 MB/分钟除以 1024×1024命中率以百分比呈现并保留两位小数remainNumberTwoPoint这些换算逻辑均可在 AppDailyDataCenterImpl.java 中确认。五、日报的生成与投递链路5.1 定时调度每天上午 10 点触发日报由 Quartz 定时任务驱动。在 spring-quartz.xml 中appDailyJobDetail对应任务类com.sohu.cache.schedule.jobs.AppDailyJob其触发器appDailyTrigger的 cron 表达式为0 0 10 * * ?即每天 10:00:00 执行一次。任务类 AppDailyJob.java 的执行逻辑为通过 Quartz 的SchedulerContext获取 Spring 容器开发环境EnvUtil.isDev直接跳过否则调用AppDailyDataCenter.sendAppDailyEmail()为所有应用批量生成并发送日报。5.2 聚合计算与落库sendAppDailyEmail()会遍历appService.getAllAppDesc()返回的所有应用逐个调用sendAppDailyEmail(appId, startDate, endDate)生成日报见 AppDailyDataCenterImpl.java。单应用日报的生成流程为确定统计区间endDate为当前时间startDate为前一天DateUtils.addDays(endDate, -1)即日报统计的是最近一个自然日窗口的数据组装应用详情通过appStatsCenter.getAppDetail(appId)获取应用信息已下线isOffline()或测试通过isTestOk()的应用不生成日报聚合客户端指标取客户端汇总统计命令次数、平均耗时、连接异常、命令超时、延迟事件聚合服务端指标取分钟级应用统计与慢查询计数填充 BigKey 信息将值分布统计拼装为bigKeyInfo文本当前源码中bigKeyTimes暂不计数见 AppDailyDataCenterImpl.java保存日报并通知通过appDailyDao.save(appDailyData)落库到app_daily表随后noticeAppDaily(...)发送邮件。落库 SQL 定义在 AppDailyDao.xml 中save插入包含 32 个字段app_id、date、slow_log_count、client 系列、max/avg 分钟统计系列等的完整记录同时提供getAppDaily按 appId日期单查与getAppDailyList按日期区间查询两个查询接口支撑 Web 页面的日报回查。5.3 邮件通知与抄送规则日报邮件通过 Freemarker 模板appDaily.ftl渲染标题格式为【CacheCloud】yyyy-MM-dd日报(appIdxxx)收件人为应用负责人邮箱列表并按应用重要级别抄送A 级应用isVeryImportant()抄送管理员邮箱S 级应用isSuperImportant()额外抄送领导邮箱列表LEADER_EMAIL_LIST。该抄送逻辑见getCCEmailListAppDailyDataCenterImpl.java体现了不同重要级应用的差异化通知策略。六、如何用好日报统计结合日报指标与平台其他统计能力推荐如下使用路径日常巡检每天查看邮件日报重点关注「命令超时次数/平均耗时」「连接异常次数」两个客户端异常指标若数值突增说明客户端侧出现连接池耗尽或超时配置问题容量评估关注「内存使用量最大值」与「命中率最小值」。内存峰值接近配额时应及时申请扩容应用统计页提供扩容入口命中率过低说明键淘汰或缓存命中设计需优化性能排查日报中的「慢查询个数」与延迟监控见 client-latency.md配合使用可定位慢命令对应的实例与时间点结合键值分析见 client-analysis.md可进一步发现 BigKey 与键值分布问题历史回溯通过页面日期选择器回查历史日报或结合平台「客户端指标统计汇总」client-statistic.md与「服务端指标统计汇总」server-statistic.md查看多应用维度的汇总视图判断异常是偶发还是持续趋势。七、关键源码索引关注点位置日报功能说明文档client-daily.md日报数据模型全部指标字段AppDailyData.java日报聚合生成、落库、邮件通知实现AppDailyDataCenterImpl.java日报定时任务类AppDailyJob.javaQuartz 调度配置每天 10:00spring-quartz.xmlapp_daily 表读写 SQLAppDailyDao.xmlWeb 页面模板客户端/服务端表格appDaily.html日报邮件模板appDaily.ftl页面截图app-daily.png小结CacheCloud 的日报统计以「客户端相关 服务端相关」双维度按天沉淀应用运行数据既服务了应用负责人每天查看使用情况、发现问题的诉求也通过 Quartz 定时任务、邮件模板与app_daily落库形成了「生成—投递—回查」的完整闭环。理解每个指标的采集口径客户端上报 vs 平台直采与聚合方式分钟采样聚合 vs 全天累计是正确解读日报、驱动容量规划与性能治理的前提。赞分享后端运维【免费下载链接】cachecloud搜狐视频(sohu tv)Redis私有云平台 支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本提升资源管控能力和利用率。平台提供快速搭建/迁移运维管理弹性伸缩统计监控客户端整合接入等功能。(CacheCloud is a Redis cloud management platform. It supports Standalone, Sentinel, and Cluster architectures for Redis, effectively reducing large-scale Redis operation and maintenance costs, and improving resource management and utilization. The platform provides rapid construction/migration, operation and maintenance management, elastic scaling, statistical monitoring, client integration and access and other functions)项目地址https://gitcode.com/gh_mirrors/ca/cachecloud点击查看免费下载相关推荐CacheCloud 客户端指标统计汇总全天应用维度聚合指标的采集、落库与页面查看指南CacheCloud 客户端指标统计汇总全天应用维度聚合指标的采集、落库与页面查看指南 CacheCloud搜狐视频 Redis 私有云平台的「客户端指标后端运维StoryDiffusion 一致角色漫画生成从三条命令到第一页故事StoryDiffusion 一致角色漫画生成从三条命令到第一页故事 你写过漫画分镜却画不出同一张脸StoryDiffusion 解决的就是这个问题给它后端运维Scapy 深度解析与实战DCE/RPC[MS-RPCE]报文的解析、构建、客户端与服务端实现Scapy 深度解析与实战DCE/RPC MS RPCE 报文的解析、构建、客户端与服务端实现 DCE/RPC 是 Windows 域环境、SMB 管道与网络网络安全上一篇Rome useYield 规则深度解析强制生成器函数必须包含 yield 的正确性检查下一篇Zadig非侵入式测试自动化集成现有框架的完整方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表