@optima-chat/dev-skills 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/logs/SKILL.md +32 -109
- package/package.json +1 -1
|
@@ -17,7 +17,19 @@ allowed-tools: ["Bash", "SlashCommand"]
|
|
|
17
17
|
|
|
18
18
|
## 🚀 快速操作
|
|
19
19
|
|
|
20
|
-
### 1. 查看
|
|
20
|
+
### 1. 查看 CI 环境日志
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/logs commerce-backend 50 ci
|
|
24
|
+
/logs user-auth 100 ci
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**说明**:
|
|
28
|
+
- 查看 CI 开发环境(dev.optima.chat)
|
|
29
|
+
- 通过 SSH + Docker Compose 访问
|
|
30
|
+
- 从 GitHub Variables 获取认证信息
|
|
31
|
+
|
|
32
|
+
### 2. 查看 Stage 环境日志(默认)
|
|
21
33
|
|
|
22
34
|
```
|
|
23
35
|
/logs commerce-backend
|
|
@@ -34,7 +46,7 @@ allowed-tools: ["Bash", "SlashCommand"]
|
|
|
34
46
|
- `mcp-host` - MCP 协调器
|
|
35
47
|
- `agentic-chat` - AI 聊天服务
|
|
36
48
|
|
|
37
|
-
###
|
|
49
|
+
### 3. 查看更多日志行数
|
|
38
50
|
|
|
39
51
|
```
|
|
40
52
|
/logs commerce-backend 200
|
|
@@ -42,7 +54,7 @@ allowed-tools: ["Bash", "SlashCommand"]
|
|
|
42
54
|
|
|
43
55
|
查看最近 200 行日志,用于排查历史问题。
|
|
44
56
|
|
|
45
|
-
###
|
|
57
|
+
### 4. 查看 Prod 环境日志
|
|
46
58
|
|
|
47
59
|
```
|
|
48
60
|
/logs commerce-backend 100 prod
|
|
@@ -128,28 +140,27 @@ INFO - Database query took 3200ms: SELECT * FROM products WHERE...
|
|
|
128
140
|
|
|
129
141
|
## 🌐 环境对比
|
|
130
142
|
|
|
131
|
-
###
|
|
143
|
+
### CI 环境
|
|
132
144
|
|
|
133
145
|
```
|
|
134
|
-
/logs
|
|
146
|
+
/logs user-auth 100 ci
|
|
135
147
|
```
|
|
136
148
|
|
|
137
149
|
**特点**:
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
- 日志路径:`/ecs/{service}-stage`
|
|
142
|
-
|
|
143
|
-
**实现方式**:
|
|
144
|
-
```bash
|
|
145
|
-
# IMPORTANT: 使用单行命令,避免反斜杠换行导致的参数解析错误
|
|
150
|
+
- CI 开发环境,适合开发调试
|
|
151
|
+
- 实时性最好
|
|
152
|
+
- 查看 Docker Compose 日志
|
|
146
153
|
|
|
147
|
-
|
|
148
|
-
STREAM=$(aws logs describe-log-streams --log-group-name /ecs/commerce-backend-stage --order-by LastEventTime --descending --max-items 1 | jq -r '.logStreams[0].logStreamName')
|
|
154
|
+
### Stage 环境
|
|
149
155
|
|
|
150
|
-
# 2. 获取日志
|
|
151
|
-
aws logs get-log-events --log-group-name /ecs/commerce-backend-stage --log-stream-name "$STREAM" --limit 100 | jq -r '.events[] | .message'
|
|
152
156
|
```
|
|
157
|
+
/logs commerce-backend 100 stage
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**特点**:
|
|
161
|
+
- 预发布环境
|
|
162
|
+
- AWS ECS 运行
|
|
163
|
+
- 通过 CloudWatch Logs 查看
|
|
153
164
|
|
|
154
165
|
### Prod 环境
|
|
155
166
|
|
|
@@ -158,22 +169,9 @@ aws logs get-log-events --log-group-name /ecs/commerce-backend-stage --log-strea
|
|
|
158
169
|
```
|
|
159
170
|
|
|
160
171
|
**特点**:
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
- 日志路径:`/optima/prod/{service}`
|
|
165
|
-
|
|
166
|
-
**实现方式**:
|
|
167
|
-
```bash
|
|
168
|
-
# IMPORTANT: 使用单行命令,使用 --no-start-from-head 而不是 --start-from-head false
|
|
169
|
-
# 获取主服务日志
|
|
170
|
-
aws logs get-log-events --log-group-name /optima/prod/commerce-backend --log-stream-name backend --limit 100 --no-start-from-head | jq -r '.events[] | .message'
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**可用的 log streams**:
|
|
174
|
-
- `backend` - 主服务日志(推荐)
|
|
175
|
-
- `rq-worker` - 后台任务日志
|
|
176
|
-
- `rq-scheduler` - 调度器日志
|
|
172
|
+
- 生产环境
|
|
173
|
+
- EC2 + Docker Compose
|
|
174
|
+
- 通过 CloudWatch Logs 查看
|
|
177
175
|
|
|
178
176
|
## 💡 最佳实践
|
|
179
177
|
|
|
@@ -185,79 +183,4 @@ aws logs get-log-events --log-group-name /optima/prod/commerce-backend --log-str
|
|
|
185
183
|
|
|
186
184
|
## 🔗 相关命令
|
|
187
185
|
|
|
188
|
-
- `/logs` -
|
|
189
|
-
|
|
190
|
-
## 📚 技术细节
|
|
191
|
-
|
|
192
|
-
### CloudWatch Logs 结构
|
|
193
|
-
|
|
194
|
-
**Stage-ECS**:
|
|
195
|
-
```
|
|
196
|
-
Log Group: /ecs/commerce-backend-stage
|
|
197
|
-
└── Log Stream: ecs/commerce-backend/d8e079f0b4fb47e398c61ee5d610ed9c (动态)
|
|
198
|
-
└── Events: 日志条目
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Prod**:
|
|
202
|
-
```
|
|
203
|
-
Log Group: /optima/prod/commerce-backend
|
|
204
|
-
├── Log Stream: backend (固定)
|
|
205
|
-
├── Log Stream: rq-worker (固定)
|
|
206
|
-
└── Log Stream: rq-scheduler (固定)
|
|
207
|
-
└── Events: 日志条目
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### 日志格式
|
|
211
|
-
|
|
212
|
-
所有日志通过 CloudWatch Logs 返回 JSON 格式:
|
|
213
|
-
|
|
214
|
-
```json
|
|
215
|
-
{
|
|
216
|
-
"events": [
|
|
217
|
-
{
|
|
218
|
-
"timestamp": 1763904521976,
|
|
219
|
-
"message": "INFO: 10.0.2.199:64952 - \"GET /health HTTP/1.1\" 200 OK",
|
|
220
|
-
"ingestionTime": 1763904526810
|
|
221
|
-
}
|
|
222
|
-
]
|
|
223
|
-
}
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
使用 `jq -r '.events[] | .message'` 提取纯文本:
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
INFO: 10.0.2.199:64952 - "GET /health HTTP/1.1" 200 OK
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
## ⚠️ 注意事项
|
|
233
|
-
|
|
234
|
-
### 权限要求
|
|
235
|
-
|
|
236
|
-
需要 AWS CLI 配置了以下权限:
|
|
237
|
-
- `logs:DescribeLogStreams`
|
|
238
|
-
- `logs:GetLogEvents`
|
|
239
|
-
|
|
240
|
-
### 日志延迟
|
|
241
|
-
|
|
242
|
-
CloudWatch Logs 可能有 1-2 秒延迟,实时调试时需注意。
|
|
243
|
-
|
|
244
|
-
### 日志保留
|
|
245
|
-
|
|
246
|
-
- **Stage**: 7 天
|
|
247
|
-
- **Prod**: 30 天(建议配置)
|
|
248
|
-
|
|
249
|
-
### 常见错误
|
|
250
|
-
|
|
251
|
-
**ResourceNotFoundException**:
|
|
252
|
-
```
|
|
253
|
-
An error occurred (ResourceNotFoundException) when calling the GetLogEvents operation
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
**解决**:检查服务名称和环境是否正确:
|
|
257
|
-
```bash
|
|
258
|
-
# 列出所有 Stage 日志组
|
|
259
|
-
aws logs describe-log-groups --log-group-name-prefix /ecs
|
|
260
|
-
|
|
261
|
-
# 列出所有 Prod 日志组
|
|
262
|
-
aws logs describe-log-groups --log-group-name-prefix /optima/prod
|
|
263
|
-
```
|
|
186
|
+
- `/logs` - 查看服务日志(详细使用方法和技术细节请查看 `/logs --help`)
|