cat 常用的日志分析架构方案_CAT实时监控系统日志存储设计

CAT实时监控系统,是面向应用的监控系统,提供了应用性能、日志等监控,包括java的异常堆栈的监控。github地址:https://github.com/dianping/cat ,目前由美团点评监控团队进行维护。本文主要是对CAT中logviw(即:日志)存储设计的介绍。1.介绍首先看一下logview的结构:图1其中每一行,都代表程序中一段代码的耗时,如果有异常,异常堆栈也会被列出来。对于上...
摘要由CSDN通过智能技术生成

CAT实时监控系统,是面向应用的监控系统,提供了应用性能、日志等监控,包括java的异常堆栈的监控。github地址:https://github.com/dianping/cat ,目前由美团点评监控团队进行维护。本文主要是对CAT中logviw(即:日志)存储设计的介绍。

1.介绍

首先看一下logview的结构:

855207522411?from=timeline

图1

其中每一行,都代表程序中一段代码的耗时,如果有异常,异常堆栈也会被列出来。

对于上图的一条日志,我们称为一个logview,每个logview都会对应一个ID,我们称为logviewId,或者msgId

每个日志,都会生成一个唯一的msgId,用户在查看日志时,通过msgId来查询到具体的日志

2.msgId生成逻辑

每个日志,都会生成一个唯一的msgId,用户在查看日志时,通过msgId来查询到具体的日志

a. msgId组成

{domain}-{ip}-{hour}-{index}               示例:ShopWeb-0a010680-375030-2

CAT消息的MessageId格式如上,msgId一共分为四段

第一段是应用名shop-web。

第二段是当前这台机器的ip的16进制格式,01010680表示10.1.6.108。

第三段的375030,是系统当前时间除以小时得到的整点数。即:System.currentTimeMillis()/ONE_HOUR

第四段的2,是表示当前这个客户端在当前小时的顺序递增号。

b.msgId生成方法

CAT监控系统是面向应用的监控,每个应用(即:domain)会有很多机器,对于特定的一台机器,其domain、ip是固定的,hour跟随当前小时数进行变化,index就代表当前小时第几个日志。msgId是在客户端的每台机器生成的,生成后的msgId连同其对应的日志一起发送到监控系统服务端,服务端进行处理后,给用户提供查询展示。这样由每台机器进行生成msgId,保证了msgId的唯一性。

index就是简单的一个计数器,其初始值为0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值