@cvtoolman/huawei-lts-cli 1.0.0 โ 1.0.2
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/README.md +261 -193
- package/dist/cli/commands/query.js +7 -1
- package/dist/lts/client.js +6 -1
- package/package.json +55 -55
package/README.md
CHANGED
|
@@ -1,193 +1,261 @@
|
|
|
1
|
-
# huawei-lts-cli
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/huawei-lts-cli)
|
|
6
|
-
[](LICENSE)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
lts-cli
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
lts-cli
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
1
|
+
# huawei-lts-cli โ CLI + SKILL
|
|
2
|
+
|
|
3
|
+
**็ฎไฝไธญๆ** | [English](README_en.md)
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@cvtoolman/huawei-lts-cli)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
> ่ฎฉไฝ ็ AI ็ผ็จๅฉๆ๏ผClaude CodeใCursorใCopilotใQoder ็ญ๏ผ้่ฟ่ช็ถ่ฏญ่จๆฅ่ฏขๅไธบไบๆฅๅฟๆๅก๏ผLTS๏ผใ
|
|
9
|
+
|
|
10
|
+
**ไธไธชๅทฅๅ
ท๏ผไธค้จๅ๏ผ**
|
|
11
|
+
|
|
12
|
+
| ้จๅ | ไฝ็จ |
|
|
13
|
+
|---|---|
|
|
14
|
+
| **CLI** (`lts-cli`) | ่ฝป้ๅฝไปค่กๅทฅๅ
ท๏ผๅฏนๆฅๅไธบไบ LTS API |
|
|
15
|
+
| **SKILL** (`SKILL.md`) | ไธไปฝ็ป AI ็็"่ฏดๆไนฆ"๏ผๆๅฎๅฆไฝๆ่ช็ถ่ฏญ่จ่ฝฌๆ CLI ๅฝไปค |
|
|
16
|
+
|
|
17
|
+
AI ่ฏปๅฎ skill ๅ๏ผไฝ ๅช้่ฏดไธๅฅ"ๆฅไธไปๅคฉ็ ERROR ๆฅๅฟ"๏ผAI ๅฐฑ่ฝ่ชๅจๆผๅบๆญฃ็กฎ็ `lts-cli` ๅฝไปคๅนถๆง่กใไธ็จ่ฎฐๅๆฐ๏ผไธ็จๆๅ ISO 8601 ๆถ้ดๆ ผๅผใ
|
|
18
|
+
|
|
19
|
+
## ไธบไปไน็จ CLI + SKILL ่ไธๆฏ MCP๏ผ
|
|
20
|
+
|
|
21
|
+
AI ็ผ็จๅฉๆ็ไธไธๆ็ชๅฃๅพๅฎ่ดตโโไธ่พน่ฆ่ฃ
ไปฃ็ ๅบใไธ่พน่ฆๆจ็ใไธ่พน่ฟ่ฆ่ทๅทฅๅ
ทใ**็ token ๅฐฑๆฏ็ๆถ็้ฑใ**
|
|
22
|
+
|
|
23
|
+
| | CLI + SKILL | MCP |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| **ไธไธๆๅผ้** | **ไฝ** โ skill ๅฐฑไธไธช็ญ markdown ๆไปถ๏ผCLI ่พๅบๆฏ็บฏๆๆฌ | **้ซ** โ ๅทฅๅ
ท schema + ๅฟซ็
งๆฐๆฎๅธธ้ฉปไธไธๆ |
|
|
26
|
+
| **AI ไฝฟ็จๆนๅผ** | ๆง่ก shell ๅฝไปค๏ผ่ฏปๅ็ปๆ | ้่ฟๅ่ฎฎ่ฐ็จ็ปๆๅๅทฅๅ
ท |
|
|
27
|
+
| **้
็ฝฎ้พๅบฆ** | `npm install -g`ใไธไธช skill ๆไปถ | ๆๅก่ฟ็จใ้
็ฝฎ่ฟ็บฟ |
|
|
28
|
+
| **้็จๅบๆฏ** | ็ผ็ ่ฟ็จไธญ้กบๆๆฅๆฅๅฟ | ้ฟๆถ้ด่ฟ่ก็่ชๅจๅๅพช็ฏ |
|
|
29
|
+
|
|
30
|
+
> **ไธๅฅ่ฏ๏ผ** ๅฆๆไฝ ๆณ่ฎฉ AI ๅจๅไปฃ็ ๆถ้กบๅดๅธฎไฝ ๆฅๆฅๅฟโโCLI + SKILL ๆฏๆด่ฝปใๆด็้ฑ็ๆนๆกใ
|
|
31
|
+
|
|
32
|
+
## ๅฟซ้ๅผๅง
|
|
33
|
+
|
|
34
|
+
### 1. ๅฎ่ฃ
CLI
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm install -g @cvtoolman/huawei-lts-cli
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. ้
็ฝฎๅญ่ฏ
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
lts-cli init
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
ๅๅฏผไผไพๆฌก่ฏข้ฎ AKใSKใProject IDใRegion๏ผไธๆฌก้
ๅฅฝใ้
็ฝฎๅญๅจๅจ `~/.lts-cli/config.json`ใ
|
|
47
|
+
|
|
48
|
+
### 3. ๅฎ่ฃ
Skill๏ผ็ป AI ๅทฅๅ
ท็จ๏ผ
|
|
49
|
+
|
|
50
|
+
**Claude Code:**
|
|
51
|
+
```bash
|
|
52
|
+
mkdir -p .claude/skills/huawei-lts-log-query
|
|
53
|
+
curl -o .claude/skills/huawei-lts-log-query/SKILL.md \
|
|
54
|
+
https://raw.githubusercontent.com/jcxy/huawei-lts-cli/main/skills/huawei-lts-log-query/SKILL.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Qoder:**
|
|
58
|
+
```bash
|
|
59
|
+
mkdir -p .qoder/skills/huawei-lts-log-query
|
|
60
|
+
curl -o .qoder/skills/huawei-lts-log-query/SKILL.md \
|
|
61
|
+
https://raw.githubusercontent.com/jcxy/huawei-lts-cli/main/skills/huawei-lts-log-query/SKILL.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**ๆๅจๅฎ่ฃ
๏ผไปปๆ AI ๅทฅๅ
ท๏ผ๏ผ** ๅฐ [skills/huawei-lts-log-query/SKILL.md](skills/huawei-lts-log-query/SKILL.md) ๅคๅถๅฐๅฏนๅบ AI ๅทฅๅ
ท็ skills ็ฎๅฝไธ๏ผ`.claude/skills/`ใ`.qoder/skills/`ใ`.cursor/skills/` ็ญ๏ผใ
|
|
65
|
+
|
|
66
|
+
### 4. ๅฝไปค่ก็ดๆฅไฝฟ็จ๏ผไธไพ่ต AI๏ผ
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# ๅบ็กๆฅ่ฏข
|
|
70
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
|
|
71
|
+
|
|
72
|
+
# ็ฎๅๅ
ณ้ฎ่ฏๆ็ดข๏ผๆง็๏ผๅๅๅ
ผๅฎน๏ผ
|
|
73
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z -k "ERROR"
|
|
74
|
+
|
|
75
|
+
# ้ซ็บงๆฅ่ฏข๏ผๅคๅญๆฎต็ปๅ๏ผๆจ่๏ผ
|
|
76
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
77
|
+
-q "content:error AND appName:myapp"
|
|
78
|
+
|
|
79
|
+
# ๅคๆ้ป่พๆฅ่ฏข
|
|
80
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
81
|
+
-q "(level:ERROR OR level:WARN) NOT env:test"
|
|
82
|
+
|
|
83
|
+
# SQL ๅๆๆฅ่ฏข
|
|
84
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
85
|
+
-q "SELECT count(*) as cnt, level FROM log GROUP BY level" \
|
|
86
|
+
-f json
|
|
87
|
+
|
|
88
|
+
# JSON ๆ ผๅผ่พๅบ๏ผ็ฎก้็ป jq ๅค็
|
|
89
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z -f json | jq .
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
> ๐ก **ๆ็คบ**๏ผไฝฟ็จ `-q` ๅๆฐๅฏๅฎ็ฐไธ LTS ๆงๅถๅฐ็ธๅ็ๅคๆกไปถ็ปๅๆฅ่ฏขๅ่ฝใ่ฏฆ่ง [ๆฅ่ฏข่ฏญๆณ้ๆฅ่กจ](skills/huawei-lts-log-query/references/cheatsheet.md) ๅ [้ซ็บงๆฅ่ฏขๆๅ](skills/huawei-lts-log-query/references/advanced-query-guide.md)ใ
|
|
93
|
+
|
|
94
|
+
## ๅฝไปคๅ่
|
|
95
|
+
|
|
96
|
+
### `lts-cli query` โ ๆฅ่ฏขๆฅๅฟ
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
lts-cli query [้้กน]
|
|
100
|
+
|
|
101
|
+
้้กน:
|
|
102
|
+
-g, --group-id <groupId> ๆฅๅฟ็ป ID๏ผๅฏๅจ้
็ฝฎไธญ้ข่ฎพ๏ผ
|
|
103
|
+
-s, --stream-id <streamId> ๆฅๅฟๆต ID๏ผๅฏๅจ้
็ฝฎไธญ้ข่ฎพ๏ผ
|
|
104
|
+
--start-time, --st <time> ๅผๅงๆถ้ด๏ผISO 8601 ๆ ผๅผ๏ผๅฟ
ๅกซ๏ผ
|
|
105
|
+
--end-time, --et <time> ็ปๆๆถ้ด๏ผISO 8601 ๆ ผๅผ๏ผๅฟ
ๅกซ๏ผ
|
|
106
|
+
-k, --keyword <keyword> ็ฎๅๅ
ณ้ฎ่ฏๆ็ดข๏ผๆง็๏ผไธๆจ่๏ผ
|
|
107
|
+
-q, --query <query> ้ซ็บงๆฅ่ฏข่กจ่พพๅผ๏ผๆจ่๏ผ๏ผ
|
|
108
|
+
- ๅญๆฎตๆฅ่ฏข: content:error AND appName:myapp
|
|
109
|
+
- ๆฏ่พ่ฟ็ฎ: time>60 AND region:r
|
|
110
|
+
- SQL่ฏญๆณ: SELECT * FROM log WHERE ...
|
|
111
|
+
- ้ป่พ่ฟ็ฎ็ฌฆ: AND, OR, NOT๏ผ้็ฉบๆ ผๅ้๏ผ
|
|
112
|
+
-l, --limit <limit> ๆฏ้กตๆกๆฐ๏ผ้ป่ฎค: 100๏ผ
|
|
113
|
+
-o, --offset <offset> ๅ้กตๅ็งป้๏ผ้ป่ฎค: 0๏ผ
|
|
114
|
+
-r, --reverse ๆๆถ้ดๅๅบ
|
|
115
|
+
-f, --format <format> ่พๅบๆ ผๅผ: prettyใjsonใtable๏ผ้ป่ฎค: pretty๏ผ
|
|
116
|
+
--no-paginate ๅ
ณ้ญ่ชๅจ็ฟป้กต
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
#### ้ซ็บงๆฅ่ฏข่ฏญๆณ็คบไพ
|
|
120
|
+
|
|
121
|
+
**ๅญๆฎตๆฅ่ฏข๏ผ**
|
|
122
|
+
```bash
|
|
123
|
+
# ๅๅญๆฎตๅน้
|
|
124
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
125
|
+
-q "content:error"
|
|
126
|
+
|
|
127
|
+
# ๅคๅญๆฎต็ปๅ๏ผไธๅ
ณ็ณป๏ผ
|
|
128
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
129
|
+
-q "content:error AND appName:myapp AND node:server1"
|
|
130
|
+
|
|
131
|
+
# ๅคๅญๆฎต็ปๅ๏ผๆๅ
ณ็ณป๏ผ
|
|
132
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
133
|
+
-q "level:ERROR OR level:WARN"
|
|
134
|
+
|
|
135
|
+
# ๆ้คๆกไปถ
|
|
136
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
137
|
+
-q "level:DEBUG NOT module:test"
|
|
138
|
+
|
|
139
|
+
# ๆฐๅผๆฏ่พ
|
|
140
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
141
|
+
-q "response_time>1000 AND status_code!=200"
|
|
142
|
+
|
|
143
|
+
# ๅคๆ็ปๅ
|
|
144
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
145
|
+
-q "(level:ERROR OR level:WARN) NOT env:test"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**SQL ๆฅ่ฏข๏ผ**
|
|
149
|
+
```bash
|
|
150
|
+
# ็ป่ฎกๅๅบ็จ้่ฏฏๆฐ้
|
|
151
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
152
|
+
-q "SELECT count(*) as cnt, appName FROM log WHERE content LIKE '%error%' GROUP BY appName"
|
|
153
|
+
|
|
154
|
+
# ๅนณๅๅๅบๆถ้ด
|
|
155
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z \
|
|
156
|
+
-q "SELECT avg(response_time) as avg_time FROM log WHERE status_code=200"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
> โ ๏ธ **ๆณจๆ**๏ผANDใORใNOT ๅๅๅฟ
้กปๆ**็ฉบๆ ผ**๏ผ
|
|
160
|
+
|
|
161
|
+
่ฏฆ็ปๆๆกฃ่ฏทๆฅ็๏ผ
|
|
162
|
+
- [ๆฅ่ฏข่ฏญๆณ้ๆฅ่กจ](skills/huawei-lts-log-query/references/cheatsheet.md)
|
|
163
|
+
- [้ซ็บงๆฅ่ฏขๆๅ](skills/huawei-lts-log-query/references/advanced-query-guide.md)
|
|
164
|
+
- [ๆงๅถๅฐ vs CLI ๅฏน็
ง](skills/huawei-lts-log-query/references/query-comparison.md)
|
|
165
|
+
|
|
166
|
+
### `lts-cli config` โ ็ฎก็้
็ฝฎ
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
lts-cli config [้้กน]
|
|
170
|
+
|
|
171
|
+
้้กน:
|
|
172
|
+
--set <key=value> ่ฎพ็ฝฎ้
็ฝฎ้กน
|
|
173
|
+
--get <key> ๆฅ็้
็ฝฎ้กน
|
|
174
|
+
--list ๅๅบๆๆ้
็ฝฎ
|
|
175
|
+
--unset <key> ๅ ้ค้
็ฝฎ้กน
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### `lts-cli init` โ ้
็ฝฎๅๅฏผ
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
lts-cli init
|
|
182
|
+
|
|
183
|
+
ไบคไบๅผๅๅฏผ๏ผๅผๅฏผ่ฎพ็ฝฎ AKใSKใProject IDใRegionใendpoint๏ผ
|
|
184
|
+
ไปฅๅๅฏ้็้ป่ฎคๆฅๅฟ็ปๅๆฅๅฟๆตใ
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### `lts-cli completion` โ Shell ่กฅๅ
จ
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
lts-cli completion <bash|zsh|powershell>
|
|
191
|
+
|
|
192
|
+
็ๆ shell ่กฅๅ
จ่ๆฌใ
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## ้
็ฝฎ่ฏดๆ
|
|
196
|
+
|
|
197
|
+
้
็ฝฎๅญๅจๅจ `~/.lts-cli/config.json`๏ผLinux/macOS๏ผๆ `%USERPROFILE%\.lts-cli\config.json`๏ผWindows๏ผใ
|
|
198
|
+
|
|
199
|
+
| ้ฎ | ๅฟ
ๅกซ | ่ฏดๆ |
|
|
200
|
+
|---|---|---|
|
|
201
|
+
| `ak` | ๆฏ | ๅไธบไบ่ฎฟ้ฎๅฏ้ฅ |
|
|
202
|
+
| `sk` | ๆฏ | ๅไธบไบ็งๆๅฏ้ฅ |
|
|
203
|
+
| `projectId` | ๆฏ | ้กน็ฎ ID |
|
|
204
|
+
| `region` | ๅฆ | ๅฆ `cn-south-1` |
|
|
205
|
+
| `endpoint` | ๅฆ | ้ๅ
ๅซ `https://` |
|
|
206
|
+
| `groupId` | ๅฆ | ้ป่ฎคๆฅๅฟ็ป ID |
|
|
207
|
+
| `streamId` | ๅฆ | ้ป่ฎคๆฅๅฟๆต ID |
|
|
208
|
+
|
|
209
|
+
### ็ฏๅขๅ้
|
|
210
|
+
|
|
211
|
+
ๆๆ้
็ฝฎ้กนไนๆฏๆ็ฏๅขๅ้๏ผ้็จไบ CI/CD๏ผ๏ผ
|
|
212
|
+
|
|
213
|
+
| ้
็ฝฎ้ฎ | ็ฏๅขๅ้ |
|
|
214
|
+
|---|---|
|
|
215
|
+
| `ak` | `LTS_AK` |
|
|
216
|
+
| `sk` | `LTS_SK` |
|
|
217
|
+
| `projectId` | `LTS_PROJECT_ID` |
|
|
218
|
+
| `region` | `LTS_REGION` |
|
|
219
|
+
| `endpoint` | `LTS_ENDPOINT` |
|
|
220
|
+
| `groupId` | `LTS_GROUP_ID` |
|
|
221
|
+
| `streamId` | `LTS_STREAM_ID` |
|
|
222
|
+
|
|
223
|
+
็ฏๅขๅ้ไผๅ
็บง้ซไบ้
็ฝฎๆไปถใ
|
|
224
|
+
|
|
225
|
+
## ๆฏๆ็ๅบๅ
|
|
226
|
+
|
|
227
|
+
| ๅบๅ ID | ๅบๅๅ็งฐ | Endpoint |
|
|
228
|
+
|---|---|---|
|
|
229
|
+
| `cn-north-1` | ๅๅ-ๅไบฌไธ | `lts.cn-north-1.myhuaweicloud.com` |
|
|
230
|
+
| `cn-north-4` | ๅๅ-ๅไบฌๅ | `lts.cn-north-4.myhuaweicloud.com` |
|
|
231
|
+
| `cn-east-2` | ๅไธ-ไธๆตทไบ | `lts.cn-east-2.myhuaweicloud.com` |
|
|
232
|
+
| `cn-east-3` | ๅไธ-ไธๆตทไธ | `lts.cn-east-3.myhuaweicloud.com` |
|
|
233
|
+
| `cn-south-1` | ๅๅ-ๅนฟๅท | `lts.cn-south-1.myhuaweicloud.com` |
|
|
234
|
+
| `cn-south-4` | ๅๅ-ๆทฑๅณ | `lts.cn-south-4.myhuaweicloud.com` |
|
|
235
|
+
| `cn-southwest-2` | ่ฅฟๅ-่ดต้ณไธ | `lts.cn-southwest-2.myhuaweicloud.com` |
|
|
236
|
+
| `ap-southeast-1` | ไบๅคช-ๆฐๅ ๅก | `lts.ap-southeast-1.myhuaweicloud.com` |
|
|
237
|
+
| `ap-southeast-2` | ไบๅคช-ๆผ่ฐท | `lts.ap-southeast-2.myhuaweicloud.com` |
|
|
238
|
+
| `ap-southeast-3` | ไบๅคช-้
ๅ ่พพ | `lts.ap-southeast-3.myhuaweicloud.com` |
|
|
239
|
+
| `af-south-1` | ้ๆดฒ-็บฆ็ฟฐๅ
ๆฏๅ ก | `lts.af-south-1.myhuaweicloud.com` |
|
|
240
|
+
|
|
241
|
+
> ๅฎๆดๅ่กจ่ฏทๅ่ [ๅไธบไบ LTS ็ป็ซฏ่็น](https://support.huaweicloud.com/api-lts/lts_api_0011.html)ใ
|
|
242
|
+
|
|
243
|
+
## ๅผๅๆๅ
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
git clone https://github.com/jcxy/huawei-lts-cli.git
|
|
247
|
+
cd huawei-lts-cli
|
|
248
|
+
npm install
|
|
249
|
+
npm run build
|
|
250
|
+
|
|
251
|
+
# ๅผๅๆจกๅผ่ฟ่ก๏ผๆ ้็ผ่ฏ๏ผ
|
|
252
|
+
npm run dev -- query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
|
|
253
|
+
|
|
254
|
+
# ๆฌๅฐๆต่ฏ
|
|
255
|
+
npm link
|
|
256
|
+
lts-cli query --st 2024-01-01T00:00:00Z --et 2024-01-02T00:00:00Z
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
## License
|
|
260
|
+
|
|
261
|
+
[MIT](LICENSE)
|
|
@@ -14,7 +14,12 @@ function createQueryCommand() {
|
|
|
14
14
|
.requiredOption('--end-time <endTime>', 'End time (ISO 8601, e.g. 2024-01-02T00:00:00Z)')
|
|
15
15
|
.option('--st <startTime>', 'Alias for --start-time')
|
|
16
16
|
.option('--et <endTime>', 'Alias for --end-time')
|
|
17
|
-
.option('-k, --keyword <keyword>', '
|
|
17
|
+
.option('-k, --keyword <keyword>', 'Simple keyword search (legacy, use --query for advanced queries)')
|
|
18
|
+
.option('-q, --query <query>', 'Advanced query expression. Supports:\n' +
|
|
19
|
+
' - Field queries: content:error AND appName:myapp\n' +
|
|
20
|
+
' - Comparison: time>60 AND region:r\n' +
|
|
21
|
+
' - SQL syntax: SELECT * FROM log WHERE content LIKE \'%error%\'\n' +
|
|
22
|
+
' - Logical operators: AND, OR, NOT (must be surrounded by spaces)')
|
|
18
23
|
.option('-l, --limit <limit>', 'Limit number of results', parseInt, 100)
|
|
19
24
|
.option('-o, --offset <offset>', 'Offset for pagination', parseInt, 0)
|
|
20
25
|
.option('-r, --reverse', 'Reverse order (newest first)')
|
|
@@ -62,6 +67,7 @@ function createQueryCommand() {
|
|
|
62
67
|
startTime,
|
|
63
68
|
endTime,
|
|
64
69
|
keyword: options.keyword,
|
|
70
|
+
query: options.query,
|
|
65
71
|
limit: options.limit,
|
|
66
72
|
offset: options.offset,
|
|
67
73
|
reverse: options.reverse,
|
package/dist/lts/client.js
CHANGED
|
@@ -34,7 +34,12 @@ class LTSClient {
|
|
|
34
34
|
.withStartTime(new Date(params.startTime).getTime().toString())
|
|
35
35
|
.withEndTime(new Date(params.endTime).getTime().toString())
|
|
36
36
|
.withLimit(params.limit ?? 100);
|
|
37
|
-
|
|
37
|
+
// ไผๅ
ไฝฟ็จ query ๅๆฐ๏ผๆฏๆSQLๅ็ปๆๅๆฅ่ฏข๏ผ
|
|
38
|
+
if (params.query) {
|
|
39
|
+
queryParams.withQuery(params.query);
|
|
40
|
+
}
|
|
41
|
+
else if (params.keyword) {
|
|
42
|
+
// ๅๅๅ
ผๅฎน๏ผ็ฎๅๅ
ณ้ฎ่ฏๆ็ดข
|
|
38
43
|
queryParams.withKeywords(params.keyword);
|
|
39
44
|
}
|
|
40
45
|
if (params.reverse !== undefined) {
|
package/package.json
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@cvtoolman/huawei-lts-cli",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Command-line tool for querying Huawei Cloud Log Tank Service (LTS) logs",
|
|
5
|
-
"main": "dist/cli/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"lts-cli": "./dist/cli/index.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"dist/"
|
|
11
|
-
],
|
|
12
|
-
"scripts": {
|
|
13
|
-
"build": "tsc",
|
|
14
|
-
"dev": "tsx src/cli/index.ts",
|
|
15
|
-
"start": "node dist/cli/index.js",
|
|
16
|
-
"clean": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
|
|
17
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
18
|
-
},
|
|
19
|
-
"keywords": [
|
|
20
|
-
"huawei-cloud",
|
|
21
|
-
"huawei",
|
|
22
|
-
"lts",
|
|
23
|
-
"log-tank-service",
|
|
24
|
-
"logs",
|
|
25
|
-
"cli",
|
|
26
|
-
"log-query",
|
|
27
|
-
"cloud-logging"
|
|
28
|
-
],
|
|
29
|
-
"author": "cvtoolman",
|
|
30
|
-
"license": "MIT",
|
|
31
|
-
"repository": {
|
|
32
|
-
"type": "git",
|
|
33
|
-
"url": "git+https://github.com/jcxy/huawei-lts-cli.git"
|
|
34
|
-
},
|
|
35
|
-
"bugs": {
|
|
36
|
-
"url": "https://github.com/jcxy/huawei-lts-cli/issues"
|
|
37
|
-
},
|
|
38
|
-
"homepage": "https://github.com/jcxy/huawei-lts-cli#readme",
|
|
39
|
-
"engines": {
|
|
40
|
-
"node": ">=16.0.0"
|
|
41
|
-
},
|
|
42
|
-
"dependencies": {
|
|
43
|
-
"@huaweicloud/huaweicloud-sdk-core": "latest",
|
|
44
|
-
"@huaweicloud/huaweicloud-sdk-lts": "latest",
|
|
45
|
-
"chalk": "^4.1.2",
|
|
46
|
-
"cli-table3": "latest",
|
|
47
|
-
"commander": "latest",
|
|
48
|
-
"uuid": "^9.0.0"
|
|
49
|
-
},
|
|
50
|
-
"devDependencies": {
|
|
51
|
-
"@types/node": "latest",
|
|
52
|
-
"tsx": "latest",
|
|
53
|
-
"typescript": "latest"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@cvtoolman/huawei-lts-cli",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Command-line tool for querying Huawei Cloud Log Tank Service (LTS) logs",
|
|
5
|
+
"main": "dist/cli/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"lts-cli": "./dist/cli/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist/"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"dev": "tsx src/cli/index.ts",
|
|
15
|
+
"start": "node dist/cli/index.js",
|
|
16
|
+
"clean": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
|
|
17
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"huawei-cloud",
|
|
21
|
+
"huawei",
|
|
22
|
+
"lts",
|
|
23
|
+
"log-tank-service",
|
|
24
|
+
"logs",
|
|
25
|
+
"cli",
|
|
26
|
+
"log-query",
|
|
27
|
+
"cloud-logging"
|
|
28
|
+
],
|
|
29
|
+
"author": "cvtoolman",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/jcxy/huawei-lts-cli.git"
|
|
34
|
+
},
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/jcxy/huawei-lts-cli/issues"
|
|
37
|
+
},
|
|
38
|
+
"homepage": "https://github.com/jcxy/huawei-lts-cli#readme",
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=16.0.0"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@huaweicloud/huaweicloud-sdk-core": "latest",
|
|
44
|
+
"@huaweicloud/huaweicloud-sdk-lts": "latest",
|
|
45
|
+
"chalk": "^4.1.2",
|
|
46
|
+
"cli-table3": "latest",
|
|
47
|
+
"commander": "latest",
|
|
48
|
+
"uuid": "^9.0.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "latest",
|
|
52
|
+
"tsx": "latest",
|
|
53
|
+
"typescript": "latest"
|
|
54
|
+
}
|
|
55
|
+
}
|