日志服务运行日志使用指南

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 日志服务支持开通运行日志用于记录用户操作日志、消费组日志、Logtail错误和采集日志和计量日志,便于用户实时监控日志服务的使用状况和排查疑难问题。

日志服务是针对日志类数据的一站式服务,提供了海量的日志处理能力。用户在使用日志服务的过程中,经常会遇到如下问题:

  • 数据写入之后查询不到,是不是数据有丢失;
  • 怎么查看每天写入的数据量;
  • 各个Shard数据写入和消费是否均衡;
  • 怎么看消费组的消费进度,消费速度能否赶上写入速度;
  • Logtail数据没有采集成功是什么原因;

为了便于用户解决这些问题,现在日志服务支持用户以Project为单位开通运行日志。用户在使用日志服务过程中的所有操作,日志采集和消费过程中产生的日志都会被记录下来,如图1所示。用户可以基于这些日志,对日志的采集和消费进行监控,排查使用过程中遇到问题,操作审计等。
image

图 1. 用户日志和使用场景

开通了运行日志功能的Project产生的所有日志会保存到用户指定的Project中,并且按照日志类型自动分类保存。该部分日志与用户采集到的其他日志数据一样,支持设置索引和查询分析、流式消费等。用户可以通过查询分析实时查看日志服务用户的访问信息、操作和Logtail错误记录等数据,提高运维效率。

如图2所示,目前日志服务支持记录操作日志、消费组日志、Logtail告警日志、Logtal采集日志和计量日志等五种日志类型。
image

图2. 运行日志包含的日志类型

配置步骤

步骤1. RAM授权。
日志服务需要主账户授权才能将运行日志写入到您指定的Project。单击快捷授权完成授权。
步骤2. 登录日志服务控制台首页,单击右上角的创建Project。
对于已存在的Project,可以单击修改,在修改Project页面中开启运行日志功能。
image

图 3. 运行日志操作

步骤3. 在弹出页面中,填写Project名称等信息。
步骤4. 选择所属地域。
步骤5. 选择日志存储位置。
步骤6. 点击确认创建Project同时开通运行日志。
开通运行日志之后,当前项目下所有资源的操作日志、访问日志和计量日志等数据都会保存到该Project中,您可以选择当前Project或当前地域下其他已创建的Project。
image

图 4. 开通运行日志

配置完成后,若您需要修改保存日志的Project,请在修改Project步骤中修改。

应用场景举例

1. 查看单次请求详情
以Java SDK为例,用户的每次请求都会在响应头中返回一个唯一的RequestId,这个RequestId对应一条唯一的请求日志。开通运行日志后,所有的请求日志都保存在internal-operation_log这个LogStore中。用户可以根据RequestId查询对应请求的日志,根据Status这个字段查看响应状态。如果Status为200则请求成功,否则请求失败。
image

图 5. 根据RequestId查询请求日志


根据日志中对应的Shard Id和写入时间,用户可以把对应时间段内的日志通过PullLogs API找到对应的日志。

2. 判断Shard写入和消费是否均衡
您可以通过对比Shard数据写入趋势和消费趋势判断Shard写入和消费是否均衡。当您的LogStore存在多个Shard时,可以通过仪表盘 operation_statistics中查看shard的写入数据趋势。如图6所示,X轴为时间,左图Y轴为每分钟每个shard写入的流量,单位为字节,右图Y轴为每分钟每个shard的写入行数。
image

图 6. 查看shard的写入数据趋势

仪表盘 consumer_group_monitoring 中的Shard消费趋势图展示了所有Shard的消费状况。X轴为时间,Y轴为每个shard每分钟的读请求次数。
image

图 7. Shard消费趋势

注意:如果Project中存在多个LogStore,不同的LogStore可能会存在重复的Shard Id,因此如果需要查看某个LogStore的Shard写入分布,需要在仪表盘左上角的过滤条件增加Project和LogStore名字作为过滤条件。

3. API请求异常状态监控
用户在向服务端写入日志时,API请求是否成功将直接关系到用户的数据是否被成功接受。如果API请求出现异常,用户如何在第一时间内知晓呢?开启运行日志后,所有的API请求日志都会实时保存到internal-operation_log这个LogStore中,用户可以对于该部分日志配置快速查询和监控告警。
如下图所示,查询API请求状态码为200及以上的请求个数。您可以将查询结果另存为快速查询,并配置对应的告警。参考 设置告警。
image

图 8. 监控API请求异常


查询语句: Status > 200 | SELECT COUNT(1) as errorCount

4. 查看消费组延时
在使用consumer group消费日志时,消费的速度能否赶上日志的写入速度是用户关系的核心问题之一。在internal-consumergroup_log这个LogStore中,记录了每个消费组当前的消费延时快照日志,每两分钟上报一条。我们可以使用max_by这个函数针对某个消费组查询各个shard上的延时,单位为秒。
image

图 9. 查询消费组延时

查询语句:
project: myproject and logstore: mylogstore and consumer_group: myconsumergroup | SELECT shard, max_by(fallbehind, __time__) as latency GROUP BY shard ORDER BY latency DESC

5. 查看当日数据写入量
internal-operation_log这个LogStore中的Method字段表示每次请求执行的操作。以最新的SDK为例,写入数据时Method为PostLogStoreLogs。对于WebTracking写入的数据,Method为WebTracking。我们只需要根据Method统计写入的操作一共写入了多少流量即可,如下图10所示。用户也可以自定义时间区间。
image

图 10. 查看当天日志写入量

查询语句:Method: PostLogStoreLogs | SELECT sum(NetInflow) as IncomingBytes

6. 查看Logtail状态
用户在创建Logtail配置之后,Logtail运行正常与否直接关系到用户的数据完整性。然而对于用户看来,Logtail整个运行过程是一个黑盒,无法有效监控内部的状态。在用户开通运行日志后,Logtail上报的状态和错误日志将实时发送到用户的LogStore,这些日志对于用户日志采集监控和排查问题具有重要意义。
如下图所示,用户可以统计Logtail不同错误类型发生次数。同时可以参考官方文档中关于不同的错误类型的处理方式 进行处理。

image

图 11. Logtail错误类型统计


查询语句: * | SELECT sum(alarm_count) AS alarm_count, alarm_type GROUP BY alarm_type ORDER BY alarm_count DESC

7. 查看当前时间存储用量
开通运行日志之后,用户消费相关的计量日志自动保存到internal-metering这个LogStore中。对于每个LogStore,每小时统计一次当前使用的日志和索引使用的存储空间,和这一小时窗口内API的读写次数。用户可以使用max_by这个函数查询最新的一条计量日志。
storage_index和storage_raw这两个字段分别表示索引和日志所占用的存储空间,单位为字节。
image

图 12. 查看消耗存储空间


查询语句:
| SELECT project, logstore, max_by(storage_index+storage_raw, __time__) as storage GROUP BY project,logstore ORDER BY storage DESC

除此之外,用户还可以根据默认创建的仪表盘查看更多有价值的信息。可以参考帮助文档了解更多内容。

相关文档

  1. 运行日志简介
  2. 配置步骤
  3. 日志类型
  4. 如何使用日志服务告警功能
  5. 日志服务计费方式
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
17天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
73 1
|
18天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
72 1
|
22天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
28天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
48 0
|
29天前
|
存储 数据库
ALTER MATERIALIZED VIEW LOG :语句来更改现有物化视图日志的存储特征或类型。
`ALTER MATERIALIZED VIEW LOG` 语句用于修改已有的物化视图日志的存储属性或类型。配合示例中的动画图像(由于格式限制无法显示),该语句帮助优化数据库的性能和管理。
44 0
|
9天前
|
运维 安全 Ubuntu
`/var/log/syslog` 和 `/var/log/messages` 日志详解
`/var/log/syslog` 和 `/var/log/messages` 是Linux系统的日志文件,分别在Debian和Red Hat系发行版中记录系统事件和错误。它们包含时间戳、日志级别、PID及消息内容,由`rsyslog`等守护进程管理。常用命令如`tail`和`grep`用于查看和搜索日志。日志级别从低到高包括`debug`到`emerg`,表示不同严重程度的信息。注意保护日志文件的安全,防止未授权访问,并定期使用`logrotate`进行文件轮转以管理磁盘空间。
19 1
|
10天前
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
23 2
|
10天前
|
Ubuntu Linux 网络安全
/var/log/auth.log日志详解
`/var/log/auth.log`是Linux(尤其是Debian系如Ubuntu)记录身份验证和授权事件的日志文件,包括登录尝试(成功或失败)、SSH活动、sudo使用和PAM模块的操作。登录失败、SSH连接、sudo命令及其它认证活动都会在此记录。查看此日志通常需root权限,可使用`tail`、`less`或`grep`命令。文件内容可能因发行版和配置而异。例如,`sudo tail /var/log/auth.log`显示最后几行,`sudo grep "failed password" /var/log/auth.log`搜索失败密码尝试。
39 8
|
23天前
|
监控 Java 测试技术
日志框架到底是Logback 还是 Log4j2
日志框架到底是Logback 还是 Log4j2
17 0
|
24天前
|
XML 运维 监控
【深入探究 C++ 日志库清理策略】glog、log4cplus 和 spdlog 的日志文件管理策略
【深入探究 C++ 日志库清理策略】glog、log4cplus 和 spdlog 的日志文件管理策略
62 0

相关产品

  • 日志服务