iLogtail专题八:数据结构介绍

本文介绍了iLogtail与服务后端交互时使用的数据类型,主要涉及protobuf的使用,这是一种高效的序列化结构化数据的工具,相较于XML更加小巧和快速。内容包括Content&LogTag、Log、LogGroup等日志数据结构的详细定义,展示了日志时间、内容、标签等关键信息的组织方式。
摘要由CSDN通过智能技术生成

数据类型概览

本节将介绍插件接口相关的一些数据类型,目前,iLogtail 和服务后端之间的数据类型采用了 protobuf 进行描述。

protobuf 是一种与语言无关、与平台无关,是一种可扩展的用于序列化和结构化数据的方法,常用于用于通信协议,数据存储等。
protobuf 是一种灵活,高效,自动化的机制,用于序列化结构化数据,对比于 XML,他更小(310倍),更快(20100倍),更简单。

 

Content & LogTag

传输数据字段以及标签,简单的 key/value 对。

message Content
{
required string Key = 1;
required string Value = 2;
}

message LogTag
{
required string Key = 1;
required string Value = 2;
}

Log

Log 是表示单条日志的数据类型,Time 字段为日志时间,Contents 字段维护了此日志的内容,由一个 key/value 列表组成。

message Log
{
  required uint32 Time = 1;// UNIX Time Format
  repeated Content Contents = 2;

}

LogGroup

LogGroup(日志组)是对多条日志的包装:

  • Logs:包含所有日志。
  • Category:日志服务Logstore,可以类比Kafka 独立集群, 数据存储的独立单元。
  • Topic: 日志服务Topic,一个Category(Logstore)可以划分为多个topic,不填写时Topic 为空字符串,可以类比Kafka 独立集群下的Topic概念。
  • Source/MachineUUID:iLogtail 所在节点的信息,前者为 IP,后者为 UUID。
  • LogTags:所有日志共同的 tag,同样由 key/value 列表组成。
message LogGroup
{
  repeated Log Logs = 1;
  optional string Category = 2;
  optional string Topic = 3;
  optional string Source = 4;
  optional string MachineUUID = 5;
  repeated LogTag LogTags = 6;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值