main:新增 Request ID 过滤文档及测试脚本

变更内容:
- 编写《Grafana 日志仪表板使用说明》,详细介绍 Request ID 过滤功能及使用方法。
- 新增 `test_request_id_filter.sh` 脚本,用于验证 Request ID 过滤功能的正确性。
- 提升文档完备性,方便使用该功能进行日志调试和性能分析。
This commit is contained in:
2026-02-02 18:57:13 +08:00
parent d41055109d
commit f9e7c03157
2 changed files with 251 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
#!/bin/bash
# Grafana Request ID 过滤功能测试脚本
set -e
echo "========================================="
echo "Grafana Request ID 过滤功能测试"
echo "========================================="
echo ""
# 颜色定义
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo "1. 生成测试请求..."
echo "-------------------"
RESPONSE=$(curl -X POST http://localhost:8111/invoke \
-H "Content-Type: application/json" \
-d '{"number": 43}' \
-s)
REQUEST_ID=$(echo "$RESPONSE" | jq -r '.request_id')
echo -e "${GREEN}✓ 请求成功${NC}"
echo -e "${BLUE}Request ID: $REQUEST_ID${NC}"
echo ""
echo "2. 等待日志收集 (5秒)..."
sleep 5
echo ""
echo "3. 测试 Loki 过滤..."
echo "-------------------"
# 测试过滤特定 request_id
LOG_COUNT=$(curl -G -s "http://localhost:3100/loki/api/v1/query_range" \
--data-urlencode "query={job=\"functional-scaffold-app\"} |= \"$REQUEST_ID\"" \
| jq '.data.result[0].values | length')
if [ "$LOG_COUNT" -gt 0 ]; then
echo -e "${GREEN}✓ 找到 $LOG_COUNT 条日志${NC}"
else
echo -e "${YELLOW}⚠ 没有找到日志,可能需要等待更长时间${NC}"
fi
echo ""
echo "4. 显示日志内容..."
echo "-------------------"
curl -G -s "http://localhost:3100/loki/api/v1/query_range" \
--data-urlencode "query={job=\"functional-scaffold-app\"} |= \"$REQUEST_ID\"" \
| jq -r '.data.result[0].values[].[-1]' \
| jq -r '.message' \
| nl
echo ""
echo "========================================="
echo "测试完成!"
echo "========================================="
echo ""
echo "在 Grafana 中测试:"
echo " 1. 访问: http://localhost:3000"
echo " 2. 进入 '日志监控' 仪表板"
echo " 3. 在顶部 'Request ID' 输入框中输入:"
echo -e " ${BLUE}$REQUEST_ID${NC}"
echo " 4. 按回车,查看过滤后的日志"
echo ""
echo "清空 Request ID 输入框可以查看所有日志"
echo ""