日志查询
概述
日志查询系统是一个全面的日志管理和分析平台,不仅支持基础的日志查询功能,还提供了强大的链路追踪、智能体执行效果观测等高级功能。通过该系统,用户可以快速定位问题、分析系统性能、优化智能体表现。
主要功能
- 多维度日志查询:支持按照类型、对象、用户、时间等多个维度进行日志检索
- 链路追踪:通过请求ID、会话ID等标识,追踪完整的调用链路
- 智能体观测:实时监控智能体的执行情况、Token消耗、输入输出内容
- 性能分析:通过Token统计等指标,分析系统资源使用情况
- 问题定位:快速发现和定位系统异常和错误
功能介绍
1. 查询条件模块
系统提供以下查询条件:
| 查询条件 | 说明 | 示例 |
|---|---|---|
| 类型 | 日志类型,包括智能体、插件、工作流等 | 智能体、插件、工作流 |
| 对象ID | 日志对象的唯一标识 | 44 |
| 对象名称 | 日志对象的名称 | 女娲助手 |
| 请求ID | 单次请求的唯一标识,用于链路追踪 | req_123456 |
| 用户ID | 触发日志的用户ID(仅支持整数) | 8 |
| 用户名 | 触发日志的用户名 | user-0355 |
| 会话ID | 会话的唯一标识 | 1448464 |
| 输入内容 | 用户输入的关键字(支持多个,空格分隔) | AI新闻 整理 |
| 输出内容 | 系统输出内容的关键字 | 已发送 |
| 时间范围 | 日志发生的时间段 | 最近24小时、自定义范围 |
2. 查询结果展示
查询结果以表格形式展示,包含以下字段:
| 字段 | 说明 |
|---|---|
| 类型 | 日志记录的类型(智能体/插件/工作流) |
| 对象ID | 对应对象的唯一标识 |
| 对象名称 | 对应对象的名称 |
| 用户ID | 触发该日志的用户ID |
| 用户名 | 触发该日志的用户名 |
| 会话ID | 所属会话的ID |
| 输入内容 | 用户输入的完整内容 |
| 输入Token | 输入内容的Token消耗量 |
| 输出内容 | 系统输出的完整内容 |
| 输出Token | 输出内容的Token消耗量 |
| 操作 | 查看详情的入口 |
快速入门
第一步:访问日志查询模块
- 登录系统后,在左侧导航栏找到"日志查询"菜单
- 点击进入日志查询页面
第二步:设置查询条件
- 根据需求选择或输入相应的查询条件
- 可以组合使用多个条件进行精确查询
- 点击"查询"按钮执行查询
第三步:查看查询结果
- 查询结果以表格形式展示
- 每页默认显示10条记录
- 可通过底部翻页控件查看更多结果
第四步:查看日志详情
点击表格中任意记录的"详情"链接,查看完整的日志信息。
查询指南
基础查询
按类型查询
场景:查看所有智能体类型的日志
操作:
1. 在"类型"下拉框中选择"智能体"
2. 点击"查询"按钮按时间范围查询
场景:查看最近24小时的日志
操作:
1. 在"时间范围"选择框中选择"最近24小时"
2. 点击"查询"按钮按用户查询
场景:查看特定用户的操作日志
操作:
1. 在"用户名"输入框中输入用户名,如"user-0355"
2. 点击"查询"按钮高级查询
组合条件查询
场景:查看特定智能体在特定时间段的日志
操作:
1. 在"类型"下拉框中选择"智能体"
2. 在"对象名称"输入框中输入"女娲助手"
3. 在"时间范围"中选择"最近7天"
4. 点击"查询"按钮多关键字查询
场景:查找包含"AI"和"新闻"的输入内容
操作:
1. 在"输入内容"输入框中输入"AI 新闻"(用空格分隔)
2. 点击"查询"按钮精确匹配查询
场景:查找特定会话的所有日志
操作:
1. 在"会话ID"输入框中输入完整的会话ID,如"1448464"
2. 点击"查询"按钮查询技巧
- 分步筛选:先使用宽泛条件查询,再逐步缩小范围
- 时间排序:对于大量日志,建议先限定时间范围
- 关键字搜索:使用输入/输出内容搜索时,建议使用核心关键词
- 条件重置:点击"重置"按钮清空所有条件,重新开始查询
日志详情查看
查看详情步骤
- 在查询结果列表中找到目标日志记录
- 点击该记录右侧的"详情"链接
- 系统弹出详情窗口,展示完整的日志信息
详情内容包含
- 基础信息:类型、对象ID、对象名称、用户信息、时间戳
- 请求信息:请求ID、会话ID、输入内容的完整文本
- 响应信息:输出内容的完整文本
- 性能指标:输入Token数、输出Token数、总Token消耗
- 执行链路:相关的上下游调用信息
Token消耗分析
通过查看输入和输出Token数量,可以:
- 评估智能体的资源消耗
- 优化Prompt长度
- 控制成本
- 识别异常消耗
链路追踪
什么是链路追踪
链路追踪是通过唯一的标识符(如请求ID、会话ID)追踪一个完整请求在系统中的执行路径,包括所有相关的调用、依赖和耗时。
追踪场景
场景1:追踪单次请求的完整路径
问题:一个智能体响应很慢,想知道瓶颈在哪里
操作:
1. 获取该次请求的"请求ID"(可在日志列表中找到)
2. 在"请求ID"输入框中输入该ID
3. 点击"查询"按钮
4. 查看该请求相关的所有日志记录
5. 分析各环节的耗时和Token消耗场景2:追踪会话的所有交互
问题:用户反馈某次对话出现问题,需要回溯整个会话
操作:
1. 获取会话ID(可在日志列表中找到)
2. 在"会话ID"输入框中输入该ID
3. 点击"查询"按钮
4. 查看该会话的所有历史交互记录
5. 分析问题发生的位置和原因场景3:追踪跨服务调用
问题:智能体调用了多个插件,想知道调用顺序和结果
操作:
1. 记录初始请求的"请求ID"
2. 查询该请求ID下的所有日志
3. 按时间顺序查看调用的插件和工作流
4. 分析每个环节的输入输出链路追踪最佳实践
- 保留请求ID:在问题出现时,及时记录请求ID
- 完整截图:保存完整的错误信息截图
- 时间范围:适当扩大时间范围,确保捕获所有相关日志
- 多维度分析:结合用户ID、会话ID等多个维度进行追踪
智能体执行效果观测
观测维度
1. 响应质量观测
通过查看"输出内容",评估智能体的响应质量:
- 准确性:输出内容是否准确回答了用户问题
- 完整性:输出内容是否完整,是否有截断
- 相关性:输出内容是否与用户输入相关
- 格式规范:输出格式是否符合预期
2. 性能观测
通过"输入Token"和"输出Token"字段,观测性能指标:
- Token消耗:单次请求的Token使用量
- 平均Token:某时间段内的平均Token消耗
- 峰值Token:Token消耗的最大值
- 成本估算:根据Token数量估算成本
3. 使用频率观测
通过查询特定智能体的日志数量:
- 调用次数:统计时间段内的调用次数
- 活跃用户:查看哪些用户使用最多
- 时段分布:分析高峰使用时段
- 趋势分析:观察使用趋势变化
4. 异常监测
通过关键词搜索和结果分析,监测异常情况:
- 错误日志:搜索"错误"、"失败"、"异常"等关键词
- 超时问题:查看响应时间过长的记录
- 异常Token:发现Token消耗异常的请求
- 空响应:检查输出内容为空的情况
观测操作示例
示例1:分析智能体使用趋势
目标:了解"女娲助手"最近7天的使用情况
操作:
1. 在"对象名称"输入框中输入"女娲助手"
2. 在"时间范围"中选择"最近7天"
3. 点击"查询"按钮
4. 查看总记录数,了解使用频率
5. 浏览输入内容,了解主要使用场景
6. 分析Token消耗,评估资源使用示例2:优化智能体性能
目标:降低智能体的Token消耗
操作:
1. 查询特定智能体的所有日志
2. 按输出Token降序排列(如果有排序功能)
3. 查看Token消耗最高的记录
4. 分析这些记录的输入输出特征
5. 优化Prompt或处理逻辑
6. 持续观测优化效果示例3:质量问题排查
目标:用户反馈智能体回答不准确
操作:
1. 获取用户的会话ID
2. 查询该会话的所有交互记录
3. 查看每条记录的输入输出内容
4. 分析问题模式和原因
5. 制定改进方案数据导出与分析
虽然系统本身提供了在线查询功能,但对于深度分析,建议:
- 定期导出:定期导出关键时间段的数据
- 构建报表:使用Excel等工具进行统计分析
- 可视化展示:制作图表,展示趋势和对比
- 建立基线:建立性能基线,持续对比
常见问题
Q1:查询不到结果怎么办?
A:请按以下步骤检查:
- 检查查询条件是否过于严格,尝试减少条件
- 确认时间范围是否正确
- 检查关键字是否准确,尝试使用部分匹配
- 清空所有条件后重新查询
Q2:如何快速找到特定用户的某次操作?
A:推荐方法:
- 先通过"用户名"或"用户ID"查询该用户的所有操作
- 再通过"时间范围"缩小范围
- 最后通过"输入内容"关键字定位具体操作
Q3:Token数量为什么会突然很高?
A:可能原因:
- 输入内容过长,包含了大量上下文
- 输出内容详细,生成了长文本
- 智能体配置了较高的温度参数,导致输出冗长
- 系统在处理过程中包含了额外的上下文信息
建议:
- 优化输入长度,避免传递过多无关信息
- 调整输出长度限制参数
- 观察是否为偶发问题,如是可忽略
Q4:会话ID和请求ID有什么区别?
A:
- 会话ID:代表一次完整的对话会话,包含多轮交互
- 请求ID:代表单次请求,一次会话包含多个请求
使用场景:
- 要追踪整个对话历史,使用会话ID
- 要追踪单次调用的详细信息,使用请求ID
Q5:如何判断智能体是否正常工作?
A:观测指标:
- 响应率:查看是否有大量空响应或错误
- 响应质量:随机抽查部分输出的准确性
- 响应时间:观察是否有超时或响应过慢的情况
- Token稳定性:查看Token消耗是否在合理范围内
- 用户反馈:结合用户投诉和反馈
Q6:输入内容搜索支持模糊匹配吗?
A:
- 支持多关键字搜索,使用空格分隔
- 关键字之间是"与"的关系,需同时满足
- 不支持通配符和正则表达式
- 建议使用核心关键词,避免过长
Q7:如何清理查询条件?
A:
- 点击"重置"按钮,清空所有查询条件
- 点击"收起"按钮,折叠查询条件区域,节省空间
Q8:查询结果可以排序吗?
A:
- 系统默认按时间倒序排列
- 当前版本暂不支持自定义排序
- 可通过调整查询条件来达到类似效果
最佳实践
1. 日常监控建议
每日检查:
- 查看错误日志,搜索"错误"、"异常"关键词
- 检查Token消耗是否异常
- 观察核心智能体的运行状况
每周分析:
- 统计各智能体的使用频率
- 分析Token消耗趋势
- 收集用户反馈和问题
每月总结:
- 生成月度使用报告
- 识别高频问题和优化点
- 制定改进计划
2. 问题排查流程
1. 问题报告
↓
2. 记录关键信息(用户ID、时间、问题描述)
↓
3. 通过用户ID和时间范围定位相关日志
↓
4. 使用会话ID或请求ID追踪完整链路
↓
5. 分析日志详情,找出根因
↓
6. 制定解决方案
↓
7. 验证修复效果3. 性能优化建议
降低Token消耗:
- 优化Prompt,去除冗余信息
- 使用更简洁的指令
- 设置合理的输出长度限制
- 定期清理不必要的历史上下文
提升响应质量:
- 分析低质量输出的输入特征
- 优化Few-shot示例
- 调整温度和Top-p参数
- 增加后处理规则
提高系统稳定性:
- 监控异常日志并及时处理
- 建立告警机制
- 定期备份重要日志
- 建立应急响应流程
4. 团队协作建议
日志记录规范:
- 统一的对象命名规则
- 规范的用户ID管理
- 清晰的类型定义
问题反馈流程:
- 使用统一的问题反馈模板
- 必须包含时间、用户、请求ID等关键信息
- 附带截图和详细描述
知识积累:
- 记录常见问题和解决方案
- 建立问题知识库
- 定期分享排查经验
5. 安全建议
权限管理:
- 严格控制日志查询权限
- 敏感信息脱敏处理
- 定期审计日志访问记录
数据保护:
- 不要在日志中记录敏感信息
- 定期清理过期日志
- 遵守数据保护法规
附录
术语表
| 术语 | 说明 |
|---|---|
| Token | 文本的最小单位,大致相当于一个字符或一个词 |
| 会话ID | 标识一次完整对话的唯一标识符 |
| 请求ID | 标识单次API调用的唯一标识符 |
| 智能体 | 基于大语言模型的AI助手 |
| 插件 | 扩展智能体能力的功能模块 |
| 工作流 | 多个任务按顺序执行的流程 |
| 链路追踪 | 追踪请求在系统中完整执行路径的技术 |
