Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 506 lines (423 sloc) 17.384 kB
eba036e @hokerffb add rst
hokerffb authored
1 Overview
2 ===========================
3
139b31c @hokerffb update readme
hokerffb authored
4 kanyun是一个openstack的监控和度量工具, 他可以跟踪租户的资源使用情况,包括虚拟机的CPU使用率、
5 内存使用、网络流量和磁盘读写情况,同时可以进行数据汇总和统计。
eba036e @hokerffb add rst
hokerffb authored
6 kanyun包括worker、data-server、API-server三个模块。
7 worker模块负责采集监控数据并交由data-server进行存储,APIserver则提供进行查询和统计的外部接口。
8
9 kanyun采集的数据可以由dashboard进行展示,或者由计费系统(如dough)计费使用。
10
ca96ede @hokerffb modify rst
hokerffb authored
11 拓扑
12 ----
eba036e @hokerffb add rst
hokerffb authored
13
f499c57 @hokerffb modify rst
hokerffb authored
14 总览::
eba036e @hokerffb add rst
hokerffb authored
15
f499c57 @hokerffb modify rst
hokerffb authored
16 +-----------------+
17 | cassandra |
18 +-----------------+
19 | |
20 | |
21 +-----------+ +-------------+
139b31c @hokerffb update readme
hokerffb authored
22 | server | | kanyun-API | <---- client
f499c57 @hokerffb modify rst
hokerffb authored
23 +-----------+ +-------------+
24 |
25 |
26 woker
27 |
28 ________|___________
29 / | \
30 外网流量采集 虚拟机信息采集 其他采集模块
eba036e @hokerffb add rst
hokerffb authored
31
f499c57 @hokerffb modify rst
hokerffb authored
32 Server::
eba036e @hokerffb add rst
hokerffb authored
33
34
35 +--- <-- Worker's PUSH
36 |
37 |
f499c57 @hokerffb modify rst
hokerffb authored
38 +----------+
39 | PULL | <-- feedback
40 +---|==========|
41 Client---> |REP| Server |
42 +---|==========|
43 | PUB | <-- broadcast
44 +----------+
eba036e @hokerffb add rst
hokerffb authored
45 |
46 |
47 +----> Worker's SUB
48 +----> DB
49
f499c57 @hokerffb modify rst
hokerffb authored
50 部署::
eba036e @hokerffb add rst
hokerffb authored
51
52 安装cassandra数据库
139b31c @hokerffb update readme
hokerffb authored
53 安装ZeroMQ
eba036e @hokerffb add rst
hokerffb authored
54 创建和配置/etc/kanyun.conf
55 在服务器上启动kanyun-api和kanyun-server
56 在nova-compute节点上启动kanyun-worker
57
58 通讯协议
ca96ede @hokerffb modify rst
hokerffb authored
59 ------
eba036e @hokerffb add rst
hokerffb authored
60
61 数据通讯全部使用json格式
62
63
64 外网流量采集模块--->worker
ca96ede @hokerffb modify rst
hokerffb authored
65 ------------------------
eba036e @hokerffb add rst
hokerffb authored
66
f499c57 @hokerffb modify rst
hokerffb authored
67 格式::
eba036e @hokerffb add rst
hokerffb authored
68
f499c57 @hokerffb modify rst
hokerffb authored
69 {'instanceid1':('IP', time, 'value'), 'instanceid2':('IP', time, 'value')}
70 value的单位:KB
eba036e @hokerffb add rst
hokerffb authored
71
72
f499c57 @hokerffb modify rst
hokerffb authored
73 示例::
eba036e @hokerffb add rst
hokerffb authored
74
f499c57 @hokerffb modify rst
hokerffb authored
75 {'instance-00000001': ('10.0.0.2', 1332409327, '0')}
eba036e @hokerffb add rst
hokerffb authored
76
77 虚拟机信息采集模块-->worker
78
79
f499c57 @hokerffb modify rst
hokerffb authored
80 格式::
eba036e @hokerffb add rst
hokerffb authored
81
f499c57 @hokerffb modify rst
hokerffb authored
82 [('cpu', 'total', (utc_time, cpu_usage)),
83 ('mem', 'total', (utc_time, max, free)),
84 ('nic', 'vnet8', (utc_time, incoming, outgoing(内网))),
85 ('blk', 'vda', (utc_time, read, write)),
86 ('blk', 'vdb', (utc_time, read, write))],
eba036e @hokerffb add rst
hokerffb authored
87
f499c57 @hokerffb modify rst
hokerffb authored
88 示例::
eba036e @hokerffb add rst
hokerffb authored
89
f499c57 @hokerffb modify rst
hokerffb authored
90 {'instance-000000ba@sws-yz-5':
91 [('cpu', 'total', (1332400088.149444, 5)),
92 ('mem', 'total', (1332400088.149444, 8388608L, 8388608L)),
93 ('nic', 'vnet8', (1332400088.152285, 427360746L, 174445810L)),
94 ('blk', 'vda', (1332400088.156346, 298522624L, 5908590592L)),
95 ('blk', 'vdb', (1332400088.158202, 2159616L, 1481297920L))],
96 其中cpu和mem为实际使用量
eba036e @hokerffb add rst
hokerffb authored
97
98 worker-->server
ca96ede @hokerffb modify rst
hokerffb authored
99 ----------------
eba036e @hokerffb add rst
hokerffb authored
100
f499c57 @hokerffb modify rst
hokerffb authored
101 格式::
eba036e @hokerffb add rst
hokerffb authored
102
f499c57 @hokerffb modify rst
hokerffb authored
103 ['msg_type', data]
eba036e @hokerffb add rst
hokerffb authored
104
f499c57 @hokerffb modify rst
hokerffb authored
105 'msg_type'取值:
106 HEART_BEAT = '0'
107 LOCAL_INFO = '1'
108 TRAFFIC_ACCOUNTING = '2'
109 AGENT = '3'
eba036e @hokerffb add rst
hokerffb authored
110
ca96ede @hokerffb modify rst
hokerffb authored
111 示例
eba036e @hokerffb add rst
hokerffb authored
112
f499c57 @hokerffb modify rst
hokerffb authored
113 心跳::
114 ['WORKER1', time.time(), status]
115 status:0为即将正常退出,服务器收到0就会取消对该worker的状态监控;1为正在工作中
116 数据:
117 ['2',
4c29d20 @hokerffb modify rst
hokerffb authored
118 ''{"instance-00000001@pyw.novalocal":
f499c57 @hokerffb modify rst
hokerffb authored
119 [
120 ["cpu", "total", [1332831360.029795, 53522870000000]],
121 ["mem", "total", [1332831360.029795, 131072, 131072]],
122 ["nic", "vnet0", [1332831360.037399, 21795245, 5775663]],
123 ["blk", "vda", [1332831360.04699, 474624, 4851712]],
124 ["blk", "vdb", [1332831360.049333, 122880, 0]]
125 ]
4c29d20 @hokerffb modify rst
hokerffb authored
126 }''
f499c57 @hokerffb modify rst
hokerffb authored
127 ]
eba036e @hokerffb add rst
hokerffb authored
128
129 server-->cassandra
ca96ede @hokerffb modify rst
hokerffb authored
130 --------------------
eba036e @hokerffb add rst
hokerffb authored
131
f499c57 @hokerffb modify rst
hokerffb authored
132 格式::
eba036e @hokerffb add rst
hokerffb authored
133
f499c57 @hokerffb modify rst
hokerffb authored
134 instance_id, {scf_str: {时间: 值}}
eba036e @hokerffb add rst
hokerffb authored
135
f499c57 @hokerffb modify rst
hokerffb authored
136 示例::
eba036e @hokerffb add rst
hokerffb authored
137
f499c57 @hokerffb modify rst
hokerffb authored
138 Columnfamily为mem_max保存最大内存值,mem_free保存空闲内存值
139 instance_id, {'total': {1332831360: 131072}}
140 instance_id, {'total': {1332831360: 131072}}
eba036e @hokerffb add rst
hokerffb authored
141
142 billing -->API server
ca96ede @hokerffb modify rst
hokerffb authored
143 --------------------
eba036e @hokerffb add rst
hokerffb authored
144
f499c57 @hokerffb modify rst
hokerffb authored
145 格式::
eba036e @hokerffb add rst
hokerffb authored
146
f499c57 @hokerffb modify rst
hokerffb authored
147 ['msg_type', 'uuid', {
148 'method': 'query_usage_report',
149 'args': {
150 'id': 'instance00001'
151 'metric': 'network',
152 'metric_param': 'vnet0',
153 'statistic': 'sum',
154 'period': 5,
155 'timestamp_from': '2012-02-20T12:12:12',
156 'timestamp_to': '2012-02-22T12:12:12',
157 }
eba036e @hokerffb add rst
hokerffb authored
158 }
f499c57 @hokerffb modify rst
hokerffb authored
159 ]
160 metric取值:
161
162 'vmnetwork'
163 'cpu'
164 'mem_max'
165 'mem_free'
166 'nic_read'
167 'nic_write'
168 'blk_read'
169 'blk_write'
170 metric_param取值:
171
172 如果metric为vmnetwork或者cpu或者mem*的话,为'total'
173 其他情况为设备名,比如'vnet0'、'vda'等
174 statistic取值:
175
176 'sum'
177 'max'
178 'min'
179 'avg'
180 'sam'(暂时不支持)
181
ca96ede @hokerffb modify rst
hokerffb authored
182 示例
eba036e @hokerffb add rst
hokerffb authored
183
ca96ede @hokerffb modify rst
hokerffb authored
184 协议请求数据示例::
eba036e @hokerffb add rst
hokerffb authored
185
f499c57 @hokerffb modify rst
hokerffb authored
186 ['msg_type', 'uuid', {
187 'method': 'query_usage_report',
188 'args': {
189 'id': 'instance00001'
190 'metric': 'vmnetwork',
191 'metric_param': 'vnet0',
192 'statistic': 'sum',
193 'period': 5,
194 'timestamp_from': '2012-02-20T12:12:12',
195 'timestamp_to': '2012-02-22T12:12:12',
196 }
eba036e @hokerffb add rst
hokerffb authored
197 }
f499c57 @hokerffb modify rst
hokerffb authored
198 ]
ca96ede @hokerffb modify rst
hokerffb authored
199 api_client示例::
eba036e @hokerffb add rst
hokerffb authored
200
f499c57 @hokerffb modify rst
hokerffb authored
201 api-client instance-00000001@pyw.novalocal cpu total sum 5 2012-02-20T12:12:12 2012-06-20T12:12:12
eba036e @hokerffb add rst
hokerffb authored
202
f499c57 @hokerffb modify rst
hokerffb authored
203 获取存在指定数据的全部实例列表:
204 api_client vmnetwork
205 获取指定实例的数据:
206 api_client -k instance-0000002
207 获取指定类型、指定实例、指定参数的数据:
208 api_client instance-0000002 vmnetwork 10.0.0.2 api_client instance-00000012@lx12 cpu api_client instance-00000012@lx12 mem mem_free
209 查询指定实例、指定类型、指定参数、指定统计类型的数据,以5分钟为统计单位、从指定时间开始到当前时间进行统计,返回统计结果:
210 api_client instance-0000002 vmnetwork 10.0.0.2 0 5 1332897600 0
eba036e @hokerffb add rst
hokerffb authored
211
212
213 API server--> billing
4c29d20 @hokerffb modify rst
hokerffb authored
214 --------------------
eba036e @hokerffb add rst
hokerffb authored
215
ca96ede @hokerffb modify rst
hokerffb authored
216 格式::
eba036e @hokerffb add rst
hokerffb authored
217
f499c57 @hokerffb modify rst
hokerffb authored
218 ['msg_type', 'uuid',
219 {'code': 0,
220 'message': 'success',
221 'data':{key:result},
222 }
223 ]
eba036e @hokerffb add rst
hokerffb authored
224
ca96ede @hokerffb modify rst
hokerffb authored
225 示例::
eba036e @hokerffb add rst
hokerffb authored
226
f499c57 @hokerffb modify rst
hokerffb authored
227 [ {"1332897600.0": 10} ]
eba036e @hokerffb add rst
hokerffb authored
228
229 数据库
230
231
ca96ede @hokerffb modify rst
hokerffb authored
232 结构::
eba036e @hokerffb add rst
hokerffb authored
233
f499c57 @hokerffb modify rst
hokerffb authored
234 +--------------+
235 | cf=vmnetwork |
236 +--------------+-------------------------------------------+
237 | scf=IP |
238 +===================+===========+=======+==================+
239 | | col=time1 | time2 | ... |
240 +===================+===========+=======+==================+
241 | key=instance_id | val1 | val2 | ... |
242 +==========================================================+
243
244 +---------------------------------------------------------------------------------------------+
245 | cf=cpu/mem_max/mem_free/nic_read/nic_write/blk_read/blk_write/...(one item as one cf ) |
246 +---------------------------------------------------------------------------------------------+
247 | scf=total/devname(vnet0/vda...) |
248 +=================+==============+=======+=========+
249 | | col=utc_time | time2 | ... |
250 +=================+==============+=======+=========+
251 | key=instance_id | val1(subval) | val2 | ... |
252 +==================================================+
eba036e @hokerffb add rst
hokerffb authored
253
254 建库
ca96ede @hokerffb modify rst
hokerffb authored
255 ----
eba036e @hokerffb add rst
hokerffb authored
256
ca96ede @hokerffb modify rst
hokerffb authored
257 可以在数据库本地使用cassandra-cli -h 127.0.0.1连接数据库并执行以下命令建库::
eba036e @hokerffb add rst
hokerffb authored
258
f499c57 @hokerffb modify rst
hokerffb authored
259 CREATE keyspace DATA;
260 USE DATA;
261
262 CREATE COLUMN family vmnetwork WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
263 CREATE COLUMN family cpu WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
264 CREATE COLUMN family mem_max WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
265 CREATE COLUMN family mem_free WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
266 CREATE COLUMN family nic_incoming WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
267 CREATE COLUMN family nic_outgoing WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
268 CREATE COLUMN family blk_read WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
269 CREATE COLUMN family blk_write WITH column_type='Super' AND comparator='AsciiType' AND subcomparator='IntegerType' AND default_validation_class='AsciiType';
270
271 assume vmnetwork KEYS AS ascii;
272 assume cpu KEYS AS ascii;
273 assume mem_max KEYS AS ascii;
274 assume nic_incoming KEYS AS ascii;
275 assume nic_outgoing KEYS AS ascii;
276 assume blk_read KEYS AS ascii;
277 assume blk_write KEYS AS ascii;
278 assume mem_free KEYS AS ascii;
279
280 schema::
281
282 [DEFAULT@DATA] SHOW schema;
283 CREATE keyspace DATA
284 WITH placement_strategy = 'NetworkTopologyStrategy'
285 AND strategy_options = {datacenter1 : 1}
286 AND durable_writes = true;
287
288 USE DATA;
289
290 CREATE COLUMN family blk_read
291 WITH column_type = 'Super'
292 AND comparator = 'AsciiType'
293 AND subcomparator = 'IntegerType'
294 AND default_validation_class = 'AsciiType'
295 AND key_validation_class = 'BytesType'
296 AND rows_cached = 0.0
297 AND row_cache_save_period = 0
298 AND row_cache_keys_to_save = 2147483647
299 AND keys_cached = 200000.0
300 AND key_cache_save_period = 14400
301 AND read_repair_chance = 1.0
302 AND gc_grace = 864000
303 AND min_compaction_threshold = 4
304 AND max_compaction_threshold = 32
305 AND replicate_on_write = true
306 AND row_cache_provider = 'SerializingCacheProvider'
307 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
308
309 CREATE COLUMN family blk_write
310 WITH column_type = 'Super'
311 AND comparator = 'AsciiType'
312 AND subcomparator = 'IntegerType'
313 AND default_validation_class = 'AsciiType'
314 AND key_validation_class = 'BytesType'
315 AND rows_cached = 0.0
316 AND row_cache_save_period = 0
317 AND row_cache_keys_to_save = 2147483647
318 AND keys_cached = 200000.0
319 AND key_cache_save_period = 14400
320 AND read_repair_chance = 1.0
321 AND gc_grace = 864000
322 AND min_compaction_threshold = 4
323 AND max_compaction_threshold = 32
324 AND replicate_on_write = true
325 AND row_cache_provider = 'SerializingCacheProvider'
326 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
327
328 CREATE COLUMN family cpu
329 WITH column_type = 'Super'
330 AND comparator = 'AsciiType'
331 AND subcomparator = 'IntegerType'
332 AND default_validation_class = 'AsciiType'
333 AND key_validation_class = 'BytesType'
334 AND rows_cached = 0.0
335 AND row_cache_save_period = 0
336 AND row_cache_keys_to_save = 2147483647
337 AND keys_cached = 200000.0
338 AND key_cache_save_period = 14400
339 AND read_repair_chance = 1.0
340 AND gc_grace = 864000
341 AND min_compaction_threshold = 4
342 AND max_compaction_threshold = 32
343 AND replicate_on_write = true
344 AND row_cache_provider = 'SerializingCacheProvider'
345 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
346
347 CREATE COLUMN family mem_free
348 WITH column_type = 'Super'
349 AND comparator = 'AsciiType'
350 AND subcomparator = 'IntegerType'
351 AND default_validation_class = 'AsciiType'
352 AND key_validation_class = 'BytesType'
353 AND rows_cached = 0.0
354 AND row_cache_save_period = 0
355 AND row_cache_keys_to_save = 2147483647
356 AND keys_cached = 200000.0
357 AND key_cache_save_period = 14400
358 AND read_repair_chance = 1.0
359 AND gc_grace = 864000
360 AND min_compaction_threshold = 4
361 AND max_compaction_threshold = 32
362 AND replicate_on_write = true
363 AND row_cache_provider = 'SerializingCacheProvider'
364 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
365
366 CREATE COLUMN family mem_max
367 WITH column_type = 'Super'
368 AND comparator = 'AsciiType'
369 AND subcomparator = 'IntegerType'
370 AND default_validation_class = 'AsciiType'
371 AND key_validation_class = 'BytesType'
372 AND rows_cached = 0.0
373 AND row_cache_save_period = 0
374 AND row_cache_keys_to_save = 2147483647
375 AND keys_cached = 200000.0
376 AND key_cache_save_period = 14400
377 AND read_repair_chance = 1.0
378 AND gc_grace = 864000
379 AND min_compaction_threshold = 4
380 AND max_compaction_threshold = 32
381 AND replicate_on_write = true
382 AND row_cache_provider = 'SerializingCacheProvider'
383 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
384
385 CREATE COLUMN family nic_incoming
386 WITH column_type = 'Super'
387 AND comparator = 'AsciiType'
388 AND subcomparator = 'IntegerType'
389 AND default_validation_class = 'AsciiType'
390 AND key_validation_class = 'BytesType'
391 AND rows_cached = 0.0
392 AND row_cache_save_period = 0
393 AND row_cache_keys_to_save = 2147483647
394 AND keys_cached = 200000.0
395 AND key_cache_save_period = 14400
396 AND read_repair_chance = 1.0
397 AND gc_grace = 864000
398 AND min_compaction_threshold = 4
399 AND max_compaction_threshold = 32
400 AND replicate_on_write = true
401 AND row_cache_provider = 'SerializingCacheProvider'
402 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
403
404 CREATE COLUMN family nic_outgoing
405 WITH column_type = 'Super'
406 AND comparator = 'AsciiType'
407 AND subcomparator = 'IntegerType'
408 AND default_validation_class = 'AsciiType'
409 AND key_validation_class = 'BytesType'
410 AND rows_cached = 0.0
411 AND row_cache_save_period = 0
412 AND row_cache_keys_to_save = 2147483647
413 AND keys_cached = 200000.0
414 AND key_cache_save_period = 14400
415 AND read_repair_chance = 1.0
416 AND gc_grace = 864000
417 AND min_compaction_threshold = 4
418 AND max_compaction_threshold = 32
419 AND replicate_on_write = true
420 AND row_cache_provider = 'SerializingCacheProvider'
421 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
422
423 CREATE COLUMN family nic_read
424 WITH column_type = 'Super'
425 AND comparator = 'AsciiType'
426 AND subcomparator = 'IntegerType'
427 AND default_validation_class = 'AsciiType'
428 AND key_validation_class = 'BytesType'
429 AND rows_cached = 0.0
430 AND row_cache_save_period = 0
431 AND row_cache_keys_to_save = 2147483647
432 AND keys_cached = 200000.0
433 AND key_cache_save_period = 14400
434 AND read_repair_chance = 1.0
435 AND gc_grace = 864000
436 AND min_compaction_threshold = 4
437 AND max_compaction_threshold = 32
438 AND replicate_on_write = true
439 AND row_cache_provider = 'SerializingCacheProvider'
440 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
441
442 CREATE COLUMN family nic_write
443 WITH column_type = 'Super'
444 AND comparator = 'AsciiType'
445 AND subcomparator = 'IntegerType'
446 AND default_validation_class = 'AsciiType'
447 AND key_validation_class = 'BytesType'
448 AND rows_cached = 0.0
449 AND row_cache_save_period = 0
450 AND row_cache_keys_to_save = 2147483647
451 AND keys_cached = 200000.0
452 AND key_cache_save_period = 14400
453 AND read_repair_chance = 1.0
454 AND gc_grace = 864000
455 AND min_compaction_threshold = 4
456 AND max_compaction_threshold = 32
457 AND replicate_on_write = true
458 AND row_cache_provider = 'SerializingCacheProvider'
459 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
460
461 CREATE COLUMN family vmnetwork
462 WITH column_type = 'Super'
463 AND comparator = 'AsciiType'
464 AND subcomparator = 'IntegerType'
465 AND default_validation_class = 'AsciiType'
466 AND key_validation_class = 'BytesType'
467 AND rows_cached = 0.0
468 AND row_cache_save_period = 0
469 AND row_cache_keys_to_save = 2147483647
470 AND keys_cached = 200000.0
471 AND key_cache_save_period = 14400
472 AND read_repair_chance = 1.0
473 AND gc_grace = 864000
474 AND min_compaction_threshold = 4
475 AND max_compaction_threshold = 32
476 AND replicate_on_write = true
477 AND row_cache_provider = 'SerializingCacheProvider'
478 AND compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy';
eba036e @hokerffb add rst
hokerffb authored
479
ca96ede @hokerffb modify rst
hokerffb authored
480 配置文件样例::
eba036e @hokerffb add rst
hokerffb authored
481
f499c57 @hokerffb modify rst
hokerffb authored
482 bin/kanyun.conf
483 [log]
484 file=/tmp/kanyun.log
485
486 [server]
487 host: *
488 port: 5551
489 db_host: 127.0.0.1
490
491 [api]
492 api_host: *
493 api_port: 5556
494 db_host: 127.0.0.1
495
496 [worker]
497 id: worker1
498 worker_timeout: 60
499 dataserver_host: 127.0.0.1
500 dataserver_port: 5551
501 log: /tmp/kanyun-worker.log
502
503 [client]
504 api_host: 127.0.0.1
505 api_port: 5556
Something went wrong with that request. Please try again.