Log and Event¶
Contents
Log¶
-
GET/api/v1/log¶ Query Parameters: - start – (optional) Time stamp of system logs start time (epoch). Default is 0.
- end – (optional) Time stamp of system logs end time (epoch). Default is 0.
- limit – (optional) Number of system log records. Default is 20.
- offset – (optional) Response logs start with.
- user – (optional) User name who login.
- level – (optional) Log level like
INFO,WARN,ERROR. Append with comma(,) if you want to filter with more than two levels. - category – (optional) Function category like
container,image,import,export,backup,system. Append with comma(,) if you want to filter with more than two categories. - text – (optional) Filter text
Example request
$ curl -sq -XGET -b cookies.txt "http://${QIP}:${QPORT}/container-station/api/v1/log?limit=5&category=image,export"
Example response
[ { "category": "image", "id": 59, "level": "INFO", "message": "Registry remove: new_test", "ts": 1628700802, "user": "admin" }, { "category": "image", "id": 58, "level": "INFO", "message": "Registry edit: new_test", "ts": 1628700801, "user": "admin" }, { "category": "image", "id": 57, "level": "INFO", "message": "Registry add: test, https://test.registry.com", "ts": 1628700800, "user": "admin" }, { "category": "image", "id": 56, "level": "INFO", "message": "Image removed (docker, busybox:latest)", "ts": 1628700795, "user": "admin" }, { "category": "image", "id": 55, "level": "INFO", "message": "Finished background task (image_download, busybox:latest)", "ts": 1628700791, "user": "admin" } ]
-
GET/api/v1/log/export¶ Export logs to csv format.
Example request
$ curl -sq -XGET -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/log/export
Example response
Date,Level,Category,User,Message 2021-08-11 16:42:51.676762,INFO,system,admin,Keep original data folder /share/Container 2021-08-11 16:43:04.160557,INFO,system,system,Update image list successfully 2021-08-11 16:43:04.294690,INFO,system,system,Update application metadata successfully 2021-08-11 16:43:10.543662,INFO,system,system,Update image list successfully 2021-08-11 16:43:10.713850,INFO,system,system,Update application metadata successfully 2021-08-11 16:43:38.518454,INFO,container,admin,"Start to do background task (create, ubuntu-1)" 2021-08-11 16:44:57.618839,INFO,container,admin,"Finished background task (create, ubuntu-1)" 2021-08-11 16:45:57.443912,INFO,container,admin,"Start to do background task (application, joomla)" 2021-08-11 16:47:48.016916,INFO,container,admin,"Finished background task (application, joomla)" 2021-08-11 16:49:05.316092,INFO,container,admin,Restart application: joomla 2021-08-11 16:49:10.745047,INFO,container,admin,Kill application: joomla 2021-08-11 16:49:18.197680,INFO,container,admin,Start application: joomla 2021-08-11 16:49:24.049037,INFO,container,admin,Stop application: joomla 2021-08-11 16:49:28.904668,INFO,container,admin,Destroy application: joomla 2021-08-11 16:49:30.765872,INFO,container,admin,"Start to do background task (create, ctest)" 2021-08-11 16:50:13.888122,INFO,container,admin,"Create container (lxc, ctest)" 2021-08-11 16:50:14.683022,INFO,container,admin,"Finished background task (create, ctest)" 2021-08-11 16:50:14.926039,INFO,container,admin,"Start to do background task (create, lxdTest)" 2021-08-11 16:50:18.481793,ERROR,container,admin,"Background task error for create lxdTest: Failed creating instance record: Failed initialising instance: Failed to add device ""disk0"": Missing source path ""/share/test/selenium"" for disk ""disk0""" 2021-08-11 16:50:18.660859,ERROR,container,admin,"Failed to do background task (create, lxdTest)" 2021-08-11 16:50:18.889085,INFO,container,admin,"Start to do background task (create, dtest)" 2021-08-11 16:50:47.467564,INFO,container,admin,"Create container (docker, d59bf8a8b229, dtest)" 2021-08-11 16:50:47.742481,INFO,container,admin,"Finished background task (create, dtest)" 2021-08-11 16:50:48.237480,INFO,container,admin,"Start to do background task (application, joomla)" 2021-08-11 16:51:01.022091,INFO,container,admin,"Finished background task (application, joomla)" 2021-08-11 16:51:01.473309,INFO,image,admin,"Start to do background task (image_download, busybox:latest)" 2021-08-11 16:51:13.498795,INFO,image,admin,"Finished background task (image_download, busybox:latest)" 2021-08-11 16:51:13.851026,INFO,image,admin,"Start to do background task (image_remove, busybox:latest)" 2021-08-11 16:51:14.259497,INFO,image,admin,"Image removed (docker, busybox:latest)" 2021-08-11 16:51:14.479482,INFO,image,admin,"Finished background task (image_remove, busybox:latest)" 2021-08-11 16:51:14.822038,INFO,image,admin,"Start to do background task (image_download, ubuntu-bionic:latest)" 2021-08-11 16:51:15.004474,INFO,image,admin,"Finished background task (image_download, ubuntu-bionic:latest)" 2021-08-11 16:51:30.466391,INFO,container,admin,"Create container (lxc, utest)" 2021-08-11 16:51:33.700593,INFO,container,admin,"Destroy container (lxc, utest)" 2021-08-11 16:51:42.336130,INFO,container,admin,"Create container (lxc, utest)" 2021-08-11 16:51:44.661385,INFO,image,admin,"Start to do background task (image_download, ubuntu:latest)" 2021-08-11 16:51:44.897767,INFO,image,admin,"Finished background task (image_download, ubuntu:latest)" 2021-08-11 16:51:48.232295,INFO,container,admin,"Create container (docker, 5b4b96c56fd7, DockerTestAPI)" 2021-08-11 16:51:51.729272,INFO,container,admin,"Create container (docker, 0f7bfee7f449, DockerTestAPI2)" 2021-08-11 16:51:53.372064,INFO,container,admin,"Start to do background task (create, lxdTest)" 2021-08-11 16:52:10.724089,INFO,container,admin,"Finished background task (create, lxdTest)" 2021-08-11 16:52:16.123429,INFO,container,admin,"Stop container (lxc, utest)" 2021-08-11 16:52:17.036116,INFO,container,admin,"Start container (lxc, utest)" 2021-08-11 16:52:19.502826,INFO,container,admin,"Stop container (docker, 5b4b96c56fd7, DockerTestAPI)" 2021-08-11 16:52:21.813696,INFO,container,admin,"Start container (docker, 5b4b96c56fd7, DockerTestAPI)" 2021-08-11 16:52:24.306341,INFO,container,admin,"Restart container (lxc, utest)" 2021-08-11 16:52:29.521865,INFO,container,admin,"Restart container (docker, 5b4b96c56fd7, DockerTestAPI)" 2021-08-11 16:52:31.178540,INFO,container,admin,"Stop container (lxc, utest)" 2021-08-11 16:52:33.219664,INFO,container,admin,"Stop container (docker, 5b4b96c56fd7, DockerTestAPI)" 2021-08-11 16:52:34.812965,INFO,container,admin,"Destroy container (lxc, utest)" 2021-08-11 16:52:38.320879,INFO,container,admin,"Stop container (docker, 0f7bfee7f449, DockerTestAPI2)" 2021-08-11 16:52:38.918617,INFO,container,admin,"Destroy container (docker, 0f7bfee7f449, DockerTestAPI2)" 2021-08-11 16:52:40.099342,INFO,container,admin,"commit container (docker, 5b4b96c56fd7, aaa:v1)" 2021-08-11 16:53:04.196698,INFO,image,admin,"Start to do background task (image_download, busybox:latest)" 2021-08-11 16:53:11.506500,INFO,image,admin,"Finished background task (image_download, busybox:latest)" 2021-08-11 16:53:15.461287,INFO,image,admin,"Image removed (docker, busybox:latest)" 2021-08-11 16:53:20.631352,INFO,image,admin,"Registry add: test, https://test.registry.com" 2021-08-11 16:53:21.913763,INFO,image,admin,Registry edit: new_test 2021-08-11 16:53:22.799467,INFO,image,admin,Registry remove: new_test
-
DELETE/api/v1/log¶ Clear all system logs.
Response JSON Object: - records (int) – Returns the number of rows deleted.
Example request
$ curl -sq -XDELETE -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/log
Example response
{ "records": 60 }
Event¶
-
GET/api/v1/event¶ Query Parameters: - index – start from. default returns the latest 20
- offset – the newest one
Response format
Category:User:Timestamp:JSON
Category User JSON image user - action:
download - name: image name
- repository:
dockerhub,qnap,lxd - type:
docker,lxc,lxd - state:
success,error
- action:
delete - name: image name
- type:
docker,lxc,lxd - state:
success,error
- action:
update - category:
local - type:
docker,lxc,lxd
- category:
container user - container: container name
- id: container ID
- type:
docker,lxc,lxd - state:
create,start,stop,restart,destroy,pause,unpause - port:
add,remove
export user - type:
docker,lxc - container: container name
- cid: container ID
- path: export to
- compress:
true,false - state:
running,completed,aborted - result: if not
0, means something wrong.
import user - type:
docker,lxc - cid: container name
- path: import from
- state:
running,completed,aborted - result: if not
0, means something wrong.
Example request
$ curl -sq -XGET -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/event
Example response
{ "index": 101, "messages": [ "image:admin:1628671995:{\"action\": \"delete\", \"state\": \"success\", \"type\": \"docker\", \"name\": \"busybox\"}", "background:admin:1628671991:{\"category\": \"image_download\", \"state\": \"completed\", \"container\": \"busybox:latest\", \"result\": 0, \"tid\": 1}", "image:admin:1628671991:{\"name\": \"busybox\", \"repository\": \"dockerhub\", \"state\": \"success\", \"tag\": \"latest\", \"action\": \"download\", \"type\": \"docker\"}", "background:admin:1628671984:{\"category\": \"image_download\", \"tid\": 1, \"state\": \"running\", \"container\": \"busybox:latest\"}", "container:all:1628671958:{\"container\": null, \"state\": \"destroy\", \"type\": \"docker\", \"id\": \"0f7bfee7f449aa24fff25cceb3dd994d9fc65a2e59a859acd9ce49c5a0356c1f\"}", "container:all:1628671958:{\"container\": \"DockerTestAPI2\", \"state\": \"disconnect\", \"type\": \"docker\", \"id\": \"0f7bfee7f449aa24fff25cceb3dd994d9fc65a2e59a859acd9ce49c5a0356c1f\"}", "container:all:1628671958:{\"container\": \"DockerTestAPI2\", \"state\": \"die\", \"type\": \"docker\", \"id\": \"0f7bfee7f449aa24fff25cceb3dd994d9fc65a2e59a859acd9ce49c5a0356c1f\"}", "container:all:1628671954:{\"container\": \"utest\", \"state\": \"destroy\", \"type\": \"lxc\"}", "container:all:1628671951:{\"container\": \"utest\", \"state\": \"stop\", \"type\": \"lxc\"}", "container:all:1628671950:{\"container\": \"DockerTestAPI\", \"state\": \"disconnect\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}", "container:all:1628671950:{\"container\": \"DockerTestAPI\", \"state\": \"die\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}", "container:all:1628671950:{\"container\": \"DockerTestAPI\", \"state\": \"restart\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}", "container:all:1628671950:{\"container\": \"DockerTestAPI\", \"state\": \"start\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}", "container:all:1628671950:{\"container\": \"DockerTestAPI\", \"state\": \"connect\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}", "container:all:1628671946:{\"container\": \"utest\", \"type\": \"lxc\", \"port\": \"add\"}", "container:all:1628671945:{\"container\": \"utest\", \"state\": \"start\", \"type\": \"lxc\"}", "container:all:1628671944:{\"container\": \"utest\", \"state\": \"restart\", \"type\": \"lxc\"}", "container:all:1628671943:{\"container\": \"utest\", \"state\": \"stop\", \"type\": \"lxc\"}", "container:all:1628671943:{\"container\": \"DockerTestAPI\", \"state\": \"disconnect\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}", "container:all:1628671943:{\"container\": \"DockerTestAPI\", \"state\": \"die\", \"type\": \"docker\", \"id\": \"5b4b96c56fd7990fdc2ac65578677d4178a510a470e14e756b0d73e099b28535\"}" ], "offset": 121 }
-
GET/api/v1/event/wait/(string: container_type)/(string: container_id)/(string: state)¶ Parameters: - container_type –
lxc,docker - container_id – container id
- state –
running,stopped
Query Parameters: - duration – timeout in seconds (default: 60)
Example request
$ curl -sq -XGET -b cookies.txt "http://${QIP}:${QPORT}/container-station/api/v1/event/wait/lxc/utest/stopped?duration=5"
Example response
{ "cpu": 0.0005105513955071477, "id": "utest", "image": "ubuntu-bionic:latest", "ipaddress": [ "10.0.3.241" ], "memory": 44904448, "name": "utest", "rx": 393, "state": "running", "tcpPort": [], "tx": 354, "type": "lxc" }
- container_type –