Skip to content

排查工具使用指南

技术支持工作中常用的排查工具

概述

本文档介绍了技术支持工作中常用的排查工具及其使用方法,帮助快速定位和解决问题。

网络工具

curl - HTTP 请求测试

bash
# 基本 GET 请求
curl https://api.example.com/v1/health

# 带 Header 的请求
curl -H "Authorization: Bearer token" \
     -H "Content-Type: application/json" \
     https://api.example.com/v1/users

# POST 请求
curl -X POST \
     -H "Content-Type: application/json" \
     -d '{"name":"test"}' \
     https://api.example.com/v1/users

# 查看响应头
curl -I https://api.example.com/v1/health

# 跟随重定向
curl -L https://api.example.com/v1/health

# 显示详细输出
curl -v https://api.example.com/v1/health

Postman / HTTPie

HTTPie 常用命令:

bash
# GET 请求
http GET https://api.example.com/v1/users

# POST 请求
http POST https://api.example.com/v1/users name=test email=test@example.com

# 带认证
http GET https://api.example.com/v1/users Authorization:"Bearer token"

# 表单提交
http -f POST https://api.example.com/v1/upload file@/path/to/file.txt

数据库工具

MySQL 客户端

bash
# 连接数据库
mysql -h host -u user -p database

# 执行 SQL 文件
mysql -u user -p database < script.sql

# 常用查询
SHOW PROCESSLIST;                    -- 查看当前连接
SHOW FULL PROCESSLIST;               -- 查看完整查询
KILL QUERY <id>;                    -- 终止查询
EXPLAIN SELECT * FROM table;         -- 分析查询计划

Redis 客户端

bash
# 连接 Redis
redis-cli -h host -p port

# 常用命令
KEYS *                              -- 查看所有键
GET key                             -- 获取键值
SET key value                       -- 设置键值
DEL key                             -- 删除键
EXPIRE key 3600                     -- 设置过期时间
INFO                                -- 查看信息
MONITOR                             -- 实时监控(谨慎使用)

日志工具

grep - 文本搜索

bash
# 搜索包含关键词的行
grep "ERROR" /var/log/app.log

# 忽略大小写
grep -i "error" /var/log/app.log

# 显示前后行
grep -C 3 "ERROR" /var/log/app.log

# 统计出现次数
grep -c "ERROR" /var/log/app.log

# 正则表达式搜索
grep -E "ERROR|WARN" /var/log/app.log

# 反向搜索(排除)
grep -v "DEBUG" /var/log/app.log

awk - 文本处理

bash
# 提取特定列
awk '{print $1, $2}' /var/log/app.log

# 按条件过滤
awk '$3 == "ERROR" {print $0}' /var/log/app.log

# 统计
awk '{count[$3]++} END {for (word in count) print word, count[word]}' /var/log/app.log

sed - 流编辑器

bash
# 替换文本
sed 's/old/new/g' file.txt

# 删除行
sed '/pattern/d' file.txt

# 按行号操作
sed '1,10d' file.txt              # 删除 1-10 行
sed -n '5,10p' file.txt           # 打印 5-10 行

性能工具

top / htop

bash
# 查看进程
ps aux --sort=-%cpu | head -20    # CPU 占用最高的进程
ps aux --sort=-%mem | head -20    # 内存占用最高的进程

# 查看线程
ps -T -p <pid>                     # 查看指定进程的线程

strace - 系统调用跟踪

bash
# 跟踪进程
strace -p <pid>

# 跟踪并输出到文件
strace -o output.log -p <pid>

# 跟踪特定系统调用
strace -e open,read,write -p <pid>

Docker 工具

常用命令

bash
# 查看容器
docker ps
docker ps -a

# 查看日志
docker logs -f container_id
docker logs --tail 100 container_id

# 进入容器
docker exec -it container_id /bin/bash

# 查看资源使用
docker stats

# 查看网络
docker network ls
docker inspect container_id

浏览器开发者工具

Network 面板

用于分析 HTTP 请求:

  1. 查看请求详情

    • 请求 URL、方法、状态码
    • 请求头、响应头
    • 请求体、响应体
  2. 分析性能

    • 请求耗时 breakdown
    • 瀑布图分析
  3. 模拟网络条件

    • 慢速 3G
    • 离线模式

Console 面板

javascript
// 查看日志
console.log('message');
console.error('error');
console.table(data);

// 网络请求
fetch('/api/health')
  .then(r => r.json())
  .then(data => console.log(data));

在线工具

工具用途地址
JSON 格式化格式化 JSON 数据jsonformatter.org
Base64 编解码编码/解码 Base64base64decode.org
URL 编解码编码/解码 URLurldecoder.org
正则表达式测试正则表达式regex101.com
时间戳转换时间戳与日期互转unixtimestamp.com
Diff 比较文本差异比较diffchecker.com

相关文档

数字化发展中心 · IT共享服务中心