集成日志服务sdk时,
需要用到一个endpoint
,请问应该填什么?
如果在阿里云的 ECS 机器内使用日志服务 API,还可以使用内网服务入口(使用内网服务入口访问日志服务不消耗 ECS 公网流量,可以节约宝贵的 ECS 公网带宽),
不确定的话就用公网!!!
日志服务对 LogHub、LogSearch 功能收费,
LogShipper 免费。LogShipper就是将日志可能发到OSS等(仅支持将数据投递至与日志服务project相同region的OSS Bucket)
LogSearch 为附加功能,您可以通过开启索引进行日志查询与分析,计费项为索引流量
查询语法
如何更经济地使用
使用 Logtail:有 Batch 与断点续传功能,在保障实时性的同时以最优算法传输数据。
- API 写入用户尽量使用 64KB~1MB 大包写入,减少请求次数。
- 索引关键字段,例如 UserID,Action 等,对无用字段不配置索引。
日志服务中的几个基本概念。
- 项目(Project)为日志服务的基本管理单元。每个项目位于阿里云的一个区域(Region,比如杭州区),且创建后就不能修改区域。
- 日志库(LogStore)为日志服务的日志存储单元。每个日志库属于一个指定的Project,且每个项目可以包括多个日志库。用户可以指定一个日志库中的日志保存时间及如何使用这些日志(例如,实时消费,实时查询,同步到ODPS等)。
假如用户有一个“big-game”游戏应用,服务器上有三种日志:操作日志(operation_log),应用程序日志(application_log)以及访问日志(access_log),用户可以首先创建名为“big-game”的项目,然后在该项目下面为这三种日志创建三个日志库,分别用于它们的收集、存储和消费。
- Logtail为日志服务提供了一种无侵入的日志写入服务。它通过在你的机器上安装一个日志收集客户端来监听你所指定的日志文件并自动把新写入到日志文件的日志上传到你所指定的日志库。目前,该种日志写入服务还只支持ECS 64位Linux云主机和Windows云主机中的日志源,其他日志源可以通过日志服务提供的SDK或者API来写入用户的日志库。
日志(Log)
日志为Log Service中处理的
最小
数据单元。Log Service采用半结构数据模式定义
一条日志
,具体数据模型如下:
- 主题(Topic):用户自定义字段,用以标记一批日志(例如:访问日志根据不同的站点进行标记)。默认该字段为空字符串(空字符串也为一个有效的主题)。
- 时间(Time):日志中保留字段,用以表示日志产生的时间(精度为秒,从1970-1-1 00:00:00 UTC计算起的秒数),一般由日志中的时间直接生-。
- 内容(Content):用以记录日志的具体内容。内容部分由一个或多个内容项组成,每一个内容项由Key、Value对组成。
- 来源(Source):日志的来源地,例如产生该日志机器的IP地址。默认该字段为空。
一个日志库内的日志可以通过日志主题(Topic)来划分。用户可以在写入时指定日志主题。例如,一个平台用户可以使用用户编号作为日志主题写入日志。
日志组(LogGroup)
一组日志的集合,写入与读取的基本单位。日志组限制为:最大4096行日志,或10MB空间。
写入日志:
有3种,一种是Logtail,一种是
sdk
,还有api,
使用控制台预览,查询日志
支持
日志报警:如某字段大于某值时
日志格式:
使用Protocol Buffer格式作为标准的日志写入格式。
需要把原始日志数据序列化成如下格式的Protocol Buffer数据流后才能通过API写入服务端:
message Log { required uint32 time = 1; // UNIX Time Format message Content { required string key = 1; required string value = 2; } repeated Content contents= 2; } message LogGroup { repeated Log logs= 1; optional string reserved =2; // 内部字段,不需要填写 optional string topic = 3; optional string source = 4; } message LogGroupList { repeated LogGroup logGroupList = 1; }
数据模型
核心概念:
key:value 是您自己的数据,您自己想填怎么填什么
如何删除具体的某一条日志
不能删除!!!
我通过api sdk写入的日志,需要多长时间才能查询到,就是建立索引需要多长时间,我才能通过api查询到数据,有没有通过api写入日志的时候手动刷新索
您好,现在我们的索引做了优化,不用再等一分钟才能查了,基本是实时的,有延迟的话顶多就几秒钟。
日志服务:
1,如何知道日志总条数和偏移量?想做一个分页
https://help.aliyun.com/document_detail/29074.html 这个函数可以拿到条数 Aliyun_Log_Models_GetHistogramsRequest
通过上面 函数获取到条数后再通过 Aliyun_Log_Models_GetLogsRequest 传递自己计算好的offset是吗?
可以实现:通过api写日志,查询,分页功能!还是很强大的!