mirror of
https://github.com/nicolargo/glances.git
synced 2024-11-25 08:33:22 +03:00
Updated The Glances RESTFULL JSON API (markdown)
parent
212c9b96f4
commit
4baa726a78
@ -1,6 +1,6 @@
|
|||||||
**Only for Glances v2.1 or higher !**
|
Glances HTTP API is based on **RESTFul/JSON**.
|
||||||
|
|
||||||
Glances HTTP API is based on **RESTFul/JSON**.
|
*Note: Change api/3 by api/2 if you use Glances 2.x.*
|
||||||
|
|
||||||
# Serveur side
|
# Serveur side
|
||||||
|
|
||||||
@ -12,17 +12,17 @@ Glances HTTP API is based on **RESTFul/JSON**.
|
|||||||
|
|
||||||
The RESTful API is located at:
|
The RESTful API is located at:
|
||||||
|
|
||||||
`http://{glances server IP@}:61208/api/2`
|
`http://{glances server IP@}:61208/api/3`
|
||||||
|
|
||||||
Memory stats request example with Curl:
|
Memory stats request example with Curl:
|
||||||
|
|
||||||
$ curl http://localhost:61208/api/2/mem
|
$ curl http://localhost:61208/api/3/mem
|
||||||
{"available": 3627708416, "used": 4244357120, "cached": 2746822656, "percent": 53.9, "free": 3627708416, "inactive": 2100039680, "active": 4159094784, "shared": 384692224, "total": 7872065536, "buffers": 395943936}
|
{"available": 3627708416, "used": 4244357120, "cached": 2746822656, "percent": 53.9, "free": 3627708416, "inactive": 2100039680, "active": 4159094784, "shared": 384692224, "total": 7872065536, "buffers": 395943936}
|
||||||
|
|
||||||
Or with Httpie:
|
Or with Httpie:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ http http://localhost:61208/api/2/mem
|
$ http http://localhost:61208/api/3/mem
|
||||||
HTTP/1.0 200 OK
|
HTTP/1.0 200 OK
|
||||||
Access-Control-Allow-Headers: Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token
|
Access-Control-Allow-Headers: Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token
|
||||||
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS
|
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS
|
||||||
@ -53,7 +53,7 @@ From Glances version 3 and higher, support of Gzip encoding is provided (active
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/pluginslist**_
|
### GET _**/api/3/pluginslist**_
|
||||||
|
|
||||||
Return the plugins available on the Glances server.
|
Return the plugins available on the Glances server.
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ Request response:
|
|||||||
* 200 - application/json: list
|
* 200 - application/json: list
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/pluginslist_
|
Example: _/api/3/pluginslist_
|
||||||
|
|
||||||
```
|
```
|
||||||
["load", "core", "uptime", "fs", "memswap", "monitor", "percpu", "mem", "sensors", "system", "alert", "psutilversion", "processlist", "diskio", "hddtemp", "processcount", "batpercent", "now", "cpu", "network", "help"]
|
["load", "core", "uptime", "fs", "memswap", "monitor", "percpu", "mem", "sensors", "system", "alert", "psutilversion", "processlist", "diskio", "hddtemp", "processcount", "batpercent", "now", "cpu", "network", "help"]
|
||||||
@ -74,7 +74,7 @@ Example: _/api/2/pluginslist_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin**_
|
### GET _**/api/3/:plugin**_
|
||||||
|
|
||||||
Return the stats for the specific ``plugin``
|
Return the stats for the specific ``plugin``
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary
|
* 200 - application/json: dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/mem_
|
Example: _/api/3/mem_
|
||||||
|
|
||||||
```
|
```
|
||||||
{"available": 5071183872, "used": 3255848960, "cached": 1827352576, "percent": 39.1, "free": 5071183872, "inactive": 1388982272, "active": 3679604736, "total": 8327032832, "buffers": 477982720}
|
{"available": 5071183872, "used": 3255848960, "cached": 1827352576, "percent": 39.1, "free": 5071183872, "inactive": 1388982272, "active": 3679604736, "total": 8327032832, "buffers": 477982720}
|
||||||
@ -95,7 +95,7 @@ Example: _/api/2/mem_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/:item**_
|
### GET _**/api/3/:plugin/:item**_
|
||||||
|
|
||||||
Return the ``item`` stat for the specific ``plugin``
|
Return the ``item`` stat for the specific ``plugin``
|
||||||
|
|
||||||
@ -109,21 +109,21 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary
|
* 200 - application/json: dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/mem/used_
|
Example: _/api/3/mem/used_
|
||||||
|
|
||||||
Return the memory used (RAM)
|
Return the memory used (RAM)
|
||||||
```
|
```
|
||||||
{"used": 3255848960}
|
{"used": 3255848960}
|
||||||
```
|
```
|
||||||
|
|
||||||
Example: _/api/2/processlist/pid_
|
Example: _/api/3/processlist/pid_
|
||||||
|
|
||||||
Return processes' pid list
|
Return processes' pid list
|
||||||
```
|
```
|
||||||
{"pid": [1, 2, 3, 4, 5, 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, 37, 38, 39, 40, 41, 42, 43, 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, 72, 73, 74, 75, 76, 77, 78, 90, 92, 93, 113, 114, 165, 167, 168, 169, 170, 171, 172, 191, 192, 370, 376, 429, 430, 454, 468, 522, 562, 770, 773]}
|
{"pid": [1, 2, 3, 4, 5, 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, 37, 38, 39, 40, 41, 42, 43, 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, 72, 73, 74, 75, 76, 77, 78, 90, 92, 93, 113, 114, 165, 167, 168, 169, 170, 171, 172, 191, 192, 370, 376, 429, 430, 454, 468, 522, 562, 770, 773]}
|
||||||
```
|
```
|
||||||
|
|
||||||
Example: _/api/2/network/interface_name_
|
Example: _/api/3/network/interface_name_
|
||||||
|
|
||||||
Return network interfaces name list
|
Return network interfaces name list
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ Return network interfaces name list
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/:item/:value**_
|
### GET _**/api/3/:plugin/:item/:value**_
|
||||||
|
|
||||||
Return the ``item``==``value`` stat for the specific ``plugin``
|
Return the ``item``==``value`` stat for the specific ``plugin``
|
||||||
|
|
||||||
@ -148,14 +148,14 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary
|
* 200 - application/json: dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/processlist/pid/770_
|
Example: _/api/3/processlist/pid/770_
|
||||||
|
|
||||||
Return process stats for pid 770
|
Return process stats for pid 770
|
||||||
```
|
```
|
||||||
{"770": [{"username": "messagebus", "status": "S", "cpu_times": [0.17, 0.04], "name": "dbus-daemon", "memory_percent": 0.031136757261677143, "cpu_percent": 0.0, "pid": 770, "ppid": 768, "io_counters": [0, 0, 0, 0, 0], "cmdline": "dbus-daemon --system --fork", "memory_info": [2592768, 41635840], "time_since_update": 59.427401065826416, "nice": 0}]}
|
{"770": [{"username": "messagebus", "status": "S", "cpu_times": [0.17, 0.04], "name": "dbus-daemon", "memory_percent": 0.031136757261677143, "cpu_percent": 0.0, "pid": 770, "ppid": 768, "io_counters": [0, 0, 0, 0, 0], "cmdline": "dbus-daemon --system --fork", "memory_info": [2592768, 41635840], "time_since_update": 59.427401065826416, "nice": 0}]}
|
||||||
```
|
```
|
||||||
|
|
||||||
Example: _/api/2/network/interface_name/eth0_
|
Example: _/api/3/network/interface_name/eth0_
|
||||||
|
|
||||||
Return eth0 network interface stats
|
Return eth0 network interface stats
|
||||||
|
|
||||||
@ -165,7 +165,7 @@ Return eth0 network interface stats
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/all**_
|
### GET _**/api/3/all**_
|
||||||
|
|
||||||
Return all availables stats
|
Return all availables stats
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary
|
* 200 - application/json: dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/all_
|
Example: _/api/3/all_
|
||||||
|
|
||||||
```
|
```
|
||||||
{"load": {"cpucore": 4, "min1": 0.18, "min5": 0.29, "min15": 0.36}, "core": {"phys": 1, "log": 4}, "uptime": "7:10:12", "fs": [{"mnt_point": "/", "used": 164121161728, "percent": 76.3, "device_name": "/dev/sda5", "fs_type": "ext4", "size": 215225925632}],...}
|
{"load": {"cpucore": 4, "min1": 0.18, "min5": 0.29, "min15": 0.36}, "core": {"phys": 1, "log": 4}, "uptime": "7:10:12", "fs": [{"mnt_point": "/", "used": 164121161728, "percent": 76.3, "device_name": "/dev/sda5", "fs_type": "ext4", "size": 215225925632}],...}
|
||||||
@ -186,7 +186,7 @@ Example: _/api/2/all_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/history**_
|
### GET _**/api/3/:plugin/history**_
|
||||||
|
|
||||||
Return the history stats for the specific ``plugin``
|
Return the history stats for the specific ``plugin``
|
||||||
|
|
||||||
@ -201,7 +201,7 @@ Request response:
|
|||||||
* 200 - application/json: dict of list of tuple (timestamp, value)
|
* 200 - application/json: dict of list of tuple (timestamp, value)
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/cpu/history_
|
Example: _/api/3/cpu/history_
|
||||||
|
|
||||||
```
|
```
|
||||||
{"user": [["2016-06-02T17:44:48.754493", 23.3], ["2016-06-02T17:45:03.046595", 2.2], ["2016-06-02T17:45:05.582539", 5.0], ["2016-06-02T17:45:23.093514", 3.2]], "system": [["2016-06-02T17:44:48.754515", 4.0], ["2016-06-02T17:45:03.046611", 0.8], ["2016-06-02T17:45:05.582556", 2.2], ["2016-06-02T17:45:23.093532", 0.7]]}
|
{"user": [["2016-06-02T17:44:48.754493", 23.3], ["2016-06-02T17:45:03.046595", 2.2], ["2016-06-02T17:45:05.582539", 5.0], ["2016-06-02T17:45:23.093514", 3.2]], "system": [["2016-06-02T17:44:48.754515", 4.0], ["2016-06-02T17:45:03.046611", 0.8], ["2016-06-02T17:45:05.582556", 2.2], ["2016-06-02T17:45:23.093532", 0.7]]}
|
||||||
@ -209,7 +209,7 @@ Example: _/api/2/cpu/history_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/history/:nb**_
|
### GET _**/api/3/:plugin/history/:nb**_
|
||||||
|
|
||||||
Return the latest nb history stats for the specific ``plugin``
|
Return the latest nb history stats for the specific ``plugin``
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ Request response:
|
|||||||
* 200 - application/json: dict of list of tuple (timestamp, value)
|
* 200 - application/json: dict of list of tuple (timestamp, value)
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/cpu/history/2_
|
Example: _/api/3/cpu/history/2_
|
||||||
|
|
||||||
```
|
```
|
||||||
{"user": [["2016-06-02T17:45:23.093514", 3.2], ["2016-06-02T17:47:06.390767", 2.1]], "system": [["2016-06-02T17:45:23.093532", 0.7], ["2016-06-02T17:47:06.390786", 0.2]]}
|
{"user": [["2016-06-02T17:45:23.093514", 3.2], ["2016-06-02T17:47:06.390767", 2.1]], "system": [["2016-06-02T17:45:23.093532", 0.7], ["2016-06-02T17:47:06.390786", 0.2]]}
|
||||||
@ -233,7 +233,7 @@ Example: _/api/2/cpu/history/2_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/:item/history**_
|
### GET _**/api/3/:plugin/:item/history**_
|
||||||
|
|
||||||
Return the item history stats for the specific ``plugin``
|
Return the item history stats for the specific ``plugin``
|
||||||
|
|
||||||
@ -249,7 +249,7 @@ Request response:
|
|||||||
* 200 - application/json: dict of list of tuple (timestamp, value)
|
* 200 - application/json: dict of list of tuple (timestamp, value)
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/cpu/user/history
|
Example: _/api/3/cpu/user/history
|
||||||
|
|
||||||
```
|
```
|
||||||
{"user": [["2016-06-02T17:49:28.822984", 2.4], ["2016-06-02T17:49:45.982829", 2.4], ["2016-06-02T17:49:49.566442", 1.5]]}
|
{"user": [["2016-06-02T17:49:28.822984", 2.4], ["2016-06-02T17:49:45.982829", 2.4], ["2016-06-02T17:49:49.566442", 1.5]]}
|
||||||
@ -257,7 +257,7 @@ Example: _/api/2/cpu/user/history
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/:item/history/:nb**_
|
### GET _**/api/3/:plugin/:item/history/:nb**_
|
||||||
|
|
||||||
Return the latest nb item history stats for the specific ``plugin``
|
Return the latest nb item history stats for the specific ``plugin``
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ Request response:
|
|||||||
* 200 - application/json: dict of list of tuple (timestamp, value)
|
* 200 - application/json: dict of list of tuple (timestamp, value)
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/cpu/user/history/2
|
Example: _/api/3/cpu/user/history/2
|
||||||
|
|
||||||
```
|
```
|
||||||
{"user": [["2016-06-02T17:49:49.566442", 1.5], ["2016-06-02T17:51:20.527461", 2.4]]}
|
{"user": [["2016-06-02T17:49:49.566442", 1.5], ["2016-06-02T17:51:20.527461", 2.4]]}
|
||||||
@ -282,7 +282,7 @@ Example: _/api/2/cpu/user/history/2
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/all/limits**_
|
### GET _**/api/3/all/limits**_
|
||||||
|
|
||||||
Return all limits of the server side
|
Return all limits of the server side
|
||||||
|
|
||||||
@ -295,7 +295,7 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary of dictionnary
|
* 200 - application/json: dictionnary of dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/all/limits_
|
Example: _/api/3/all/limits_
|
||||||
|
|
||||||
```
|
```
|
||||||
{u'load': {u'load_critical': 5.0, u'load_careful': 0.7, u'load_warning': 1.0}, u'help': {}, u'memswap': {u'memswap_careful': 50.0, u'memswap_critical': 90.0, u'memswap_warning': 70.0}, ...
|
{u'load': {u'load_critical': 5.0, u'load_careful': 0.7, u'load_warning': 1.0}, u'help': {}, u'memswap': {u'memswap_careful': 50.0, u'memswap_critical': 90.0, u'memswap_warning': 70.0}, ...
|
||||||
@ -303,7 +303,7 @@ Example: _/api/2/all/limits_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/all/views**_
|
### GET _**/api/3/all/views**_
|
||||||
|
|
||||||
Return all views information (could be usefull to display the stats)
|
Return all views information (could be usefull to display the stats)
|
||||||
|
|
||||||
@ -316,7 +316,7 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary of dictionnary
|
* 200 - application/json: dictionnary of dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/all/views_
|
Example: _/api/3/all/views_
|
||||||
|
|
||||||
```
|
```
|
||||||
{u'load': {u'cpucore': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'min1': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'min5': {u'decoration': u'OK', u'optional': False, u'additional': False, u'splittable': False}, u'min15': {u'decoration': u'OK_LOG', u'optional': False, u'additional': False, u'splittable': False}}, u'help': {}, u'memswap': {u'used': {u'decoration': u'OK_LOG', u'optional': False, u'additional': False, u'splittable': False}, u'percent': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'free': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'sout': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'total': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'sin': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}}, u'processlist': {}, u'uptime': {}, u'monitor': {}, ...
|
{u'load': {u'cpucore': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'min1': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'min5': {u'decoration': u'OK', u'optional': False, u'additional': False, u'splittable': False}, u'min15': {u'decoration': u'OK_LOG', u'optional': False, u'additional': False, u'splittable': False}}, u'help': {}, u'memswap': {u'used': {u'decoration': u'OK_LOG', u'optional': False, u'additional': False, u'splittable': False}, u'percent': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'free': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'sout': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'total': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}, u'sin': {u'decoration': u'DEFAULT', u'optional': False, u'additional': False, u'splittable': False}}, u'processlist': {}, u'uptime': {}, u'monitor': {}, ...
|
||||||
@ -324,7 +324,7 @@ Example: _/api/2/all/views_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/:plugin/limits**_
|
### GET _**/api/3/:plugin/limits**_
|
||||||
|
|
||||||
Return the limits for the specific ``plugin``
|
Return the limits for the specific ``plugin``
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary
|
* 200 - application/json: dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/mem/limits_
|
Example: _/api/3/mem/limits_
|
||||||
|
|
||||||
```
|
```
|
||||||
{"mem_careful": 50.0, "mem_critical": 90.0, "mem_warning": 70.0}
|
{"mem_careful": 50.0, "mem_critical": 90.0, "mem_warning": 70.0}
|
||||||
@ -345,7 +345,7 @@ Example: _/api/2/mem/limits_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/args**_
|
### GET _**/api/3/args**_
|
||||||
|
|
||||||
*New in 2.6 or +*
|
*New in 2.6 or +*
|
||||||
|
|
||||||
@ -360,7 +360,7 @@ Request response:
|
|||||||
* 200 - application/json: dictionnary
|
* 200 - application/json: dictionnary
|
||||||
* 404 - Returned if the property does not exist
|
* 404 - Returned if the property does not exist
|
||||||
|
|
||||||
Example: _/api/2/args_
|
Example: _/api/3/args_
|
||||||
|
|
||||||
```
|
```
|
||||||
{"full_quicklook": false, "snmp_version": "2c", "network_cumul": false, "help_tag": false, "snmp_port": 161, "export_csv": null, "export_statsd": false, "network_sum": false, "enable_process_extended": false, "process_short_name": true, "snmp_community": "public", "disable_sensors": false
|
{"full_quicklook": false, "snmp_version": "2c", "network_cumul": false, "help_tag": false, "snmp_port": 161, "export_csv": null, "export_statsd": false, "network_sum": false, "enable_process_extended": false, "process_short_name": true, "snmp_community": "public", "disable_sensors": false
|
||||||
@ -368,7 +368,7 @@ Example: _/api/2/args_
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### GET _**/api/2/args/:item**_
|
### GET _**/api/3/args/:item**_
|
||||||
|
|
||||||
*New in 2.6 or +*
|
*New in 2.6 or +*
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user