glances/docs/api.rst

1147 lines
38 KiB
ReStructuredText
Raw Normal View History

2016-03-02 15:29:19 +03:00
.. _api:
2021-07-17 10:31:07 +03:00
API (Restfull/JSON) documentation
=================================
2016-03-02 15:29:19 +03:00
2021-07-17 10:31:07 +03:00
The Glances Restfull/API server could be ran using the following command line:
2016-03-02 15:29:19 +03:00
2021-07-17 10:31:07 +03:00
.. code-block:: bash
2016-03-02 15:29:19 +03:00
2021-07-17 10:31:07 +03:00
# glances -w --disable-webui
API URL
-------
2023-12-15 21:06:33 +03:00
The default root API URL is ``http://localhost:61208/api/4``.
The bind address and port could be changed using the ``--bind`` and ``--port`` command line options.
It is also possible to define an URL prefix using the ``url_prefix`` option from the [outputs] section
2023-12-15 21:06:33 +03:00
of the Glances configuration file.
Note: The url_prefix should always end with a slash (``/``).
For example:
.. code-block:: ini
[outputs]
url_prefix = /glances/
2023-12-15 21:06:33 +03:00
will change the root API URL to ``http://localhost:61208/glances/api/4`` and the Web UI URL to
``http://localhost:61208/glances/``
2023-12-16 16:33:30 +03:00
API documentation
-----------------
The API documentation is available at the following URL: ``http://localhost:61208/docs#/``.
WebUI refresh
-------------
2023-12-15 21:06:33 +03:00
It is possible to change the Web UI refresh rate (default is 2 seconds) using the following option in the URL:
``http://localhost:61208/glances/?refresh=5``
2021-07-17 10:31:07 +03:00
GET API status
--------------
This entry point should be used to check the API status.
2023-12-15 21:06:33 +03:00
It will the Glances version and a 200 return code if everything is OK.
Get the Rest API status::
2023-12-15 21:06:33 +03:00
# curl -I http://localhost:61208/api/4/status
"HTTP/1.0 200 OK"
2021-07-17 10:49:28 +03:00
GET plugins list
2021-07-17 10:31:07 +03:00
----------------
Get the plugins list::
2021-07-17 10:31:07 +03:00
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/pluginslist
["alert",
"amps",
"cloud",
"connections",
"containers",
"core",
"cpu",
"diskio",
"folders",
"fs",
"gpu",
"help",
"ip",
"irq",
"load",
"mem",
"memswap",
"network",
"now",
"percpu",
"ports",
"processcount",
"processlist",
"psutilversion",
"quicklook",
"raid",
"sensors",
"smart",
"system",
"uptime",
2023-12-16 16:33:30 +03:00
"version",
"wifi"]
2021-11-22 13:54:04 +03:00
GET alert
---------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/alert
2023-12-16 16:33:30 +03:00
[[1702733581.0,
-1,
"WARNING",
"MEM",
2023-12-16 16:33:30 +03:00
80.72395821062744,
80.72395821062744,
80.72395821062744,
80.72395821062744,
1,
[],
"",
"memory_percent"]]
2021-07-17 10:31:07 +03:00
GET amps
--------
Get plugin stats::
2021-07-17 10:31:07 +03:00
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/amps
[{"count": 0,
"countmax": None,
"countmin": 1.0,
"key": "name",
"name": "Dropbox",
"refresh": 3.0,
"regex": True,
"result": None,
2023-12-16 16:33:30 +03:00
"timer": 0.30402588844299316},
{"count": 0,
"countmax": 20.0,
"countmin": None,
"key": "name",
"name": "Python",
"refresh": 3.0,
"regex": True,
"result": None,
2023-12-16 16:33:30 +03:00
"timer": 0.3038666248321533}]
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/amps/name
{"name": ["Dropbox", "Python", "Conntrack", "Nginx", "Systemd", "SystemV"]}
Get a specific item when field matches the given value::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/amps/name/Dropbox
{"Dropbox": [{"count": 0,
"countmax": None,
"countmin": 1.0,
"key": "name",
"name": "Dropbox",
"refresh": 3.0,
"regex": True,
"result": None,
2023-12-16 16:33:30 +03:00
"timer": 0.30402588844299316}]}
2021-07-17 10:31:07 +03:00
GET connections
2021-07-17 10:31:07 +03:00
---------------
Get plugin stats::
2021-07-17 10:31:07 +03:00
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/connections
{"net_connections_enabled": True, "nf_conntrack_enabled": True}
2021-07-17 10:31:07 +03:00
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/connections/net_connections_enabled
{"net_connections_enabled": True}
2021-07-17 10:31:07 +03:00
2023-12-10 22:10:34 +03:00
GET containers
--------------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/containers
{"containers": [{"Command": ["/portainer"],
"Created": "2022-10-29T14:59:10.266701439Z",
"Id": "3abd51c615968482d9ccff5afc629f267f6dda113ed68b75b432615fae3b49fb",
"Image": ["portainer/portainer-ce:2.9.3"],
"Status": "running",
2023-12-16 16:33:30 +03:00
"Uptime": "3 weeks",
2023-12-15 21:06:33 +03:00
"cpu": {"total": 0.0},
"cpu_percent": 0.0,
"engine": "docker",
2023-12-16 16:33:30 +03:00
"io": {"cumulative_ior": 1904640, "cumulative_iow": 2256896},
2023-12-15 21:06:33 +03:00
"io_r": None,
"io_w": None,
"key": "name",
"memory": {"cache": None,
"limit": 7823585280,
"max_usage": None,
"rss": None,
2023-12-16 16:33:30 +03:00
"usage": 13836288},
"memory_usage": 13836288,
2023-12-15 21:06:33 +03:00
"name": "portainer",
2023-12-16 16:33:30 +03:00
"network": {"cumulative_rx": 7106388, "cumulative_tx": 0},
2023-12-15 21:06:33 +03:00
"network_rx": None,
"network_tx": None},
{"Command": ["top"],
2023-12-10 22:10:34 +03:00
"Created": "2023-12-09T10:45:34.339489876+01:00",
"Id": "481d6ffb7eef284d062628cf350bdd9ce0a803db8a2a505d75565ed24322b714",
"Image": "["docker.io/library/ubuntu:latest"]",
"Status": "running",
2023-12-16 16:33:30 +03:00
"Uptime": "1 weeks",
"cpu": {"total": 6.604897042562196e-07},
"cpu_percent": 6.604897042562196e-07,
2023-12-10 22:10:34 +03:00
"engine": "podman",
"io": {"ior": 0.0, "iow": 0.0, "time_since_update": 1},
"io_r": 0.0,
"io_w": 0.0,
"key": "name",
2023-12-16 16:33:30 +03:00
"memory": {"limit": 7823585280.0, "usage": 1441792.0},
"memory_usage": 1441792.0,
2023-12-10 22:10:34 +03:00
"name": "sad_darwin",
"network": {"rx": 0.0, "time_since_update": 1, "tx": 0.0},
"network_rx": 0.0,
"network_tx": 0.0,
"pod_id": "8d0f1c783def",
"pod_name": "sad_darwin"},
{"Command": [],
"Created": "2022-10-22T14:23:03.120912374+02:00",
"Id": "9491515251edcd5bb5dc17205d7ee573c0be96fe0b08b0a12a7e2cea874565ea",
"Image": "["k8s.gcr.io/pause:3.5"]",
"Status": "running",
2023-12-16 16:33:30 +03:00
"Uptime": "1 weeks",
"cpu": {"total": 3.231862023627245e-10},
"cpu_percent": 3.231862023627245e-10,
2023-12-10 22:10:34 +03:00
"engine": "podman",
"io": {"ior": 0.0, "iow": 0.0, "time_since_update": 1},
"io_r": 0.0,
"io_w": 0.0,
"key": "name",
2023-12-16 16:33:30 +03:00
"memory": {"limit": 7823585280.0, "usage": 368640.0},
"memory_usage": 368640.0,
2023-12-10 22:10:34 +03:00
"name": "8d0f1c783def-infra",
"network": {"rx": 0.0, "time_since_update": 1, "tx": 0.0},
"network_rx": 0.0,
"network_tx": 0.0,
"pod_id": "8d0f1c783def",
2023-12-15 21:06:33 +03:00
"pod_name": "8d0f1c783def-infra"}],
2023-12-10 22:10:34 +03:00
"version": {},
"version_podman": {}}
GET core
--------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/core
2023-12-10 22:10:34 +03:00
{"log": 4, "phys": 2}
Fields descriptions:
* **phys**: Number of physical cores (hyper thread CPUs are excluded) (unit is *number*)
* **log**: Number of logical CPUs. A logical CPU is the number of physical cores multiplied by the number of threads that can run on each core (unit is *number*)
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/core/phys
2023-12-10 22:10:34 +03:00
{"phys": 2}
GET cpu
-------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu
2023-12-10 22:10:34 +03:00
{"cpucore": 4,
"ctx_switches": 0,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 73.7,
"interrupts": 0,
2023-12-15 21:06:33 +03:00
"iowait": 0.2,
2023-12-10 22:10:34 +03:00
"irq": 0.0,
"nice": 0.0,
"soft_interrupts": 0,
"softirq": 0.0,
2023-12-10 22:10:34 +03:00
"steal": 0.0,
"syscalls": 0,
2023-12-16 16:33:30 +03:00
"system": 2.0,
"time_since_update": 1,
2023-12-16 16:33:30 +03:00
"total": 26.2,
"user": 24.2}
Fields descriptions:
* **total**: Sum of all CPU percentages (except idle) (unit is *percent*)
* **system**: percent time spent in kernel space. System CPU time is the time spent running code in the Operating System kernel (unit is *percent*)
* **user**: CPU percent time spent in user space. User CPU time is the time spent on the processor running your program's code (or code in libraries) (unit is *percent*)
* **iowait**: *(Linux)*: percent time spent by the CPU waiting for I/O operations to complete (unit is *percent*)
* **dpc**: *(Windows)*: time spent servicing deferred procedure calls (DPCs) (unit is *percent*)
* **idle**: percent of CPU used by any program. Every program or task that runs on a computer system occupies a certain amount of processing time on the CPU. If the CPU has completed all tasks it is idle (unit is *percent*)
* **irq**: *(Linux and BSD)*: percent time spent servicing/handling hardware/software interrupts. Time servicing interrupts (hardware + software) (unit is *percent*)
* **nice**: *(Unix)*: percent time occupied by user level processes with a positive nice value. The time the CPU has spent running users' processes that have been *niced* (unit is *percent*)
* **steal**: *(Linux)*: percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor (unit is *percent*)
* **ctx_switches**: number of context switches (voluntary + involuntary) per second. A context switch is a procedure that a computer's CPU (central processing unit) follows to change from one task (or process) to another while ensuring that the tasks do not conflict (unit is *number*)
* **interrupts**: number of interrupts per second (unit is *number*)
* **soft_interrupts**: number of software interrupts per second. Always set to 0 on Windows and SunOS (unit is *number*)
* **syscalls**: number of system calls per second. Always 0 on Linux OS (unit is *number*)
* **cpucore**: Total number of CPU core (unit is *number*)
* **time_since_update**: Number of seconds since last update (unit is *seconds*)
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu/total
2023-12-16 16:33:30 +03:00
{"total": 26.2}
GET diskio
----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/diskio
2023-12-10 22:10:34 +03:00
[{"disk_name": "sda",
"key": "disk_name",
"read_bytes": 0,
"read_count": 0,
"time_since_update": 1,
"write_bytes": 0,
"write_count": 0},
{"disk_name": "sda1",
"key": "disk_name",
"read_bytes": 0,
"read_count": 0,
"time_since_update": 1,
"write_bytes": 0,
"write_count": 0}]
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/diskio/disk_name
2023-12-10 22:10:34 +03:00
{"disk_name": ["sda", "sda1", "sda2", "sda5", "dm-0", "dm-1"]}
Get a specific item when field matches the given value::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/diskio/disk_name/sda
2023-12-10 22:10:34 +03:00
{"sda": [{"disk_name": "sda",
"key": "disk_name",
"read_bytes": 0,
"read_count": 0,
"time_since_update": 1,
"write_bytes": 0,
"write_count": 0}]}
GET fs
------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/fs
2023-12-10 22:10:34 +03:00
[{"device_name": "/dev/mapper/ubuntu--gnome--vg-root",
2023-12-16 16:33:30 +03:00
"free": 26169372672,
2023-12-10 22:10:34 +03:00
"fs_type": "ext4",
"key": "mnt_point",
"mnt_point": "/",
2023-12-16 16:33:30 +03:00
"percent": 88.7,
2023-12-10 22:10:34 +03:00
"size": 243334156288,
2023-12-16 16:33:30 +03:00
"used": 204777328640},
2023-12-10 22:10:34 +03:00
{"device_name": "zsfpool",
2023-12-15 21:06:33 +03:00
"free": 31195136,
2023-12-10 22:10:34 +03:00
"fs_type": "zfs",
"key": "mnt_point",
2023-12-10 22:10:34 +03:00
"mnt_point": "/zsfpool",
2023-12-15 21:06:33 +03:00
"percent": 25.4,
"size": 41811968,
"used": 10616832}]
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/fs/mnt_point
2023-12-10 22:10:34 +03:00
{"mnt_point": ["/", "/zsfpool", "/var/snap/firefox/common/host-hunspell"]}
Get a specific item when field matches the given value::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/fs/mnt_point//
2023-12-10 22:10:34 +03:00
{"/": [{"device_name": "/dev/mapper/ubuntu--gnome--vg-root",
2023-12-16 16:33:30 +03:00
"free": 26169372672,
2023-12-10 22:10:34 +03:00
"fs_type": "ext4",
"key": "mnt_point",
"mnt_point": "/",
2023-12-16 16:33:30 +03:00
"percent": 88.7,
2023-12-10 22:10:34 +03:00
"size": 243334156288,
2023-12-16 16:33:30 +03:00
"used": 204777328640}]}
2023-12-10 22:10:34 +03:00
GET ip
------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/ip
{"address": "192.168.1.14",
"gateway": "192.168.1.1",
2023-12-10 22:10:34 +03:00
"mask": "255.255.255.0",
"mask_cidr": 24,
2023-12-15 21:06:33 +03:00
"public_address": "92.151.148.66",
2023-12-10 22:10:34 +03:00
"public_info_human": ""}
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/ip/gateway
{"gateway": "192.168.1.1"}
GET load
--------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/load
2023-12-16 16:33:30 +03:00
{"cpucore": 4, "min1": 1.3134765625, "min15": 1.35009765625, "min5": 1.5234375}
Fields descriptions:
* **min1**: Average sum of the number of processes waiting in the run-queue plus the number currently executing over 1 minute (unit is *float*)
* **min5**: Average sum of the number of processes waiting in the run-queue plus the number currently executing over 5 minutes (unit is *float*)
* **min15**: Average sum of the number of processes waiting in the run-queue plus the number currently executing over 15 minutes (unit is *float*)
* **cpucore**: Total number of CPU core (unit is *number*)
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/load/min1
2023-12-16 16:33:30 +03:00
{"min1": 1.3134765625}
GET mem
-------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/mem
2023-12-16 16:33:30 +03:00
{"active": 3005665280,
"available": 1508077568,
"buffers": 124248064,
"cached": 1833496576,
"free": 1508077568,
"inactive": 3188097024,
"percent": 80.7,
"shared": 559996928,
2023-12-10 22:10:34 +03:00
"total": 7823585280,
2023-12-16 16:33:30 +03:00
"used": 6315507712}
Fields descriptions:
* **total**: Total physical memory available (unit is *bytes*)
* **available**: The actual amount of available memory that can be given instantly to processes that request more memory in bytes; this is calculated by summing different memory values depending on the platform (e.g. free + buffers + cached on Linux) and it is supposed to be used to monitor actual memory usage in a cross platform fashion (unit is *bytes*)
* **percent**: The percentage usage calculated as (total - available) / total * 100 (unit is *percent*)
* **used**: Memory used, calculated differently depending on the platform and designed for informational purposes only (unit is *bytes*)
* **free**: Memory not being used at all (zeroed) that is readily available; note that this doesn't reflect the actual memory available (use 'available' instead) (unit is *bytes*)
* **active**: *(UNIX)*: memory currently in use or very recently used, and so it is in RAM (unit is *bytes*)
* **inactive**: *(UNIX)*: memory that is marked as not used (unit is *bytes*)
* **buffers**: *(Linux, BSD)*: cache for things like file system metadata (unit is *bytes*)
* **cached**: *(Linux, BSD)*: cache for various things (unit is *bytes*)
* **wired**: *(BSD, macOS)*: memory that is marked to always stay in RAM. It is never moved to disk (unit is *bytes*)
* **shared**: *(BSD)*: memory that may be simultaneously accessed by multiple processes (unit is *bytes*)
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/mem/total
2023-12-10 22:10:34 +03:00
{"total": 7823585280}
GET memswap
-----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/memswap
2023-12-16 16:33:30 +03:00
{"free": 4914995200,
"percent": 39.2,
"sin": 6458191872,
"sout": 11348365312,
"time_since_update": 1,
2023-12-10 22:10:34 +03:00
"total": 8082419712,
2023-12-16 16:33:30 +03:00
"used": 3167424512}
Fields descriptions:
* **total**: Total swap memory (unit is *bytes*)
* **used**: Used swap memory (unit is *bytes*)
* **free**: Free swap memory (unit is *bytes*)
* **percent**: Used swap memory in percentage (unit is *percent*)
* **sin**: The number of bytes the system has swapped in from disk (cumulative) (unit is *bytes*)
* **sout**: The number of bytes the system has swapped out from disk (cumulative) (unit is *bytes*)
* **time_since_update**: Number of seconds since last update (unit is *seconds*)
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/memswap/total
2023-12-10 22:10:34 +03:00
{"total": 8082419712}
GET network
-----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/network
[{"alias": None,
2023-12-16 16:33:30 +03:00
"cumulative_cx": 1492376856,
"cumulative_rx": 746188428,
"cumulative_tx": 746188428,
"cx": 0,
2023-12-10 22:10:34 +03:00
"interface_name": "lo",
"is_up": True,
"key": "interface_name",
"rx": 0,
"speed": 0,
"time_since_update": 1,
"tx": 0},
{"alias": None,
2023-12-16 16:33:30 +03:00
"cumulative_cx": 5862371250,
"cumulative_rx": 5524324325,
"cumulative_tx": 338046925,
2023-12-15 21:06:33 +03:00
"cx": 224,
2023-12-10 22:10:34 +03:00
"interface_name": "wlp2s0",
"is_up": True,
"key": "interface_name",
2023-12-15 21:06:33 +03:00
"rx": 98,
"speed": 0,
"time_since_update": 1,
2023-12-10 22:10:34 +03:00
"tx": 126}]
Fields descriptions:
* **interface_name**: Interface name (unit is *string*)
* **alias**: Interface alias name (optional) (unit is *string*)
* **rx**: The received/input rate (in bit per second) (unit is *bps*)
* **tx**: The sent/output rate (in bit per second) (unit is *bps*)
* **cx**: The cumulative received+sent rate (in bit per second) (unit is *bps*)
* **cumulative_rx**: The number of bytes received through the interface (cumulative) (unit is *bytes*)
* **cumulative_tx**: The number of bytes sent through the interface (cumulative) (unit is *bytes*)
* **cumulative_cx**: The cumulative number of bytes reveived and sent through the interface (cumulative) (unit is *bytes*)
* **speed**: Maximum interface speed (in bit per second). Can return 0 on some operating-system (unit is *bps*)
* **is_up**: Is the interface up ? (unit is *bool*)
* **time_since_update**: Number of seconds since last update (unit is *seconds*)
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/network/interface_name
2023-12-10 22:10:34 +03:00
{"interface_name": ["lo",
"wlp2s0",
"br-40875d2e2716",
"docker0",
"br_grafana",
"veth55598fc",
"mpqemubr0"]}
Get a specific item when field matches the given value::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/network/interface_name/lo
2023-12-10 22:10:34 +03:00
{"lo": [{"alias": None,
2023-12-16 16:33:30 +03:00
"cumulative_cx": 1492376856,
"cumulative_rx": 746188428,
"cumulative_tx": 746188428,
"cx": 0,
2023-12-10 22:10:34 +03:00
"interface_name": "lo",
"is_up": True,
"key": "interface_name",
"rx": 0,
2023-12-10 22:10:34 +03:00
"speed": 0,
"time_since_update": 1,
"tx": 0}]}
GET now
-------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/now
2023-12-16 16:33:30 +03:00
"2023-12-16 14:33:01 CET"
GET percpu
----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/percpu
[{"cpu_number": 0,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 97.1,
2023-12-10 22:10:34 +03:00
"iowait": 0.0,
"irq": 0.0,
"key": "cpu_number",
"nice": 0.0,
2023-12-10 22:10:34 +03:00
"softirq": 0.0,
"steal": 0.0,
2023-12-16 16:33:30 +03:00
"system": 1.4,
"total": 2.9,
"user": 1.4},
{"cpu_number": 1,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 96.4,
"iowait": 0.0,
2023-12-10 22:10:34 +03:00
"irq": 0.0,
"key": "cpu_number",
"nice": 0.0,
2023-12-10 22:10:34 +03:00
"softirq": 0.0,
"steal": 0.0,
2023-12-16 16:33:30 +03:00
"system": 1.4,
"total": 3.6,
"user": 2.2}]
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/percpu/cpu_number
2023-12-10 22:10:34 +03:00
{"cpu_number": [0, 1, 2, 3]}
GET ports
---------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/ports
2023-12-10 22:10:34 +03:00
[{"description": "DefaultGateway",
2023-12-15 21:06:33 +03:00
"host": "192.168.1.1",
2023-12-10 22:10:34 +03:00
"indice": "port_0",
"port": 0,
"refresh": 30,
"rtt_warning": None,
2023-12-16 16:33:30 +03:00
"status": 0.006756,
2023-12-10 22:10:34 +03:00
"timeout": 3}]
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/ports/host
{"host": ["192.168.1.1"]}
2023-12-10 22:10:34 +03:00
Get a specific item when field matches the given value::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/ports/host/192.168.1.1
{"192.168.1.1": [{"description": "DefaultGateway",
"host": "192.168.1.1",
"indice": "port_0",
"port": 0,
"refresh": 30,
"rtt_warning": None,
2023-12-16 16:33:30 +03:00
"status": 0.006756,
2023-12-15 21:06:33 +03:00
"timeout": 3}]}
GET processcount
----------------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/processcount
2023-12-16 16:33:30 +03:00
{"pid_max": 0, "running": 1, "sleeping": 325, "thread": 1793, "total": 390}
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/processcount/total
2023-12-16 16:33:30 +03:00
{"total": 390}
GET psutilversion
-----------------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/psutilversion
2023-12-16 16:33:30 +03:00
"5.9.6"
GET quicklook
-------------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/quicklook
2023-12-16 16:33:30 +03:00
{"cpu": 26.2,
2023-12-10 22:10:34 +03:00
"cpu_hz": 2025000000.0,
2023-12-16 16:33:30 +03:00
"cpu_hz_current": 1973989250.0,
2023-12-10 22:10:34 +03:00
"cpu_name": "Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz",
2023-12-16 16:33:30 +03:00
"mem": 80.7,
"percpu": [{"cpu_number": 0,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 97.1,
2023-12-10 22:10:34 +03:00
"iowait": 0.0,
"irq": 0.0,
"key": "cpu_number",
"nice": 0.0,
2023-12-10 22:10:34 +03:00
"softirq": 0.0,
"steal": 0.0,
2023-12-16 16:33:30 +03:00
"system": 1.4,
"total": 2.9,
"user": 1.4},
{"cpu_number": 1,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 96.4,
"iowait": 0.0,
2023-12-10 22:10:34 +03:00
"irq": 0.0,
"key": "cpu_number",
"nice": 0.0,
2023-12-10 22:10:34 +03:00
"softirq": 0.0,
"steal": 0.0,
2023-12-16 16:33:30 +03:00
"system": 1.4,
"total": 3.6,
"user": 2.2},
{"cpu_number": 2,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 34.0,
"iowait": 0.7,
2023-12-10 22:10:34 +03:00
"irq": 0.0,
"key": "cpu_number",
"nice": 0.0,
"softirq": 0.0,
2023-12-10 22:10:34 +03:00
"steal": 0.0,
2023-12-16 16:33:30 +03:00
"system": 2.1,
"total": 66.0,
"user": 63.1},
{"cpu_number": 3,
2023-12-10 22:10:34 +03:00
"guest": 0.0,
"guest_nice": 0.0,
2023-12-16 16:33:30 +03:00
"idle": 67.4,
"iowait": 0.0,
2023-12-10 22:10:34 +03:00
"irq": 0.0,
"key": "cpu_number",
"nice": 0.0,
2023-12-10 22:10:34 +03:00
"softirq": 0.0,
"steal": 0.0,
2023-12-16 16:33:30 +03:00
"system": 2.9,
"total": 32.6,
"user": 29.7}],
"swap": 39.2}
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/quicklook/cpu
2023-12-16 16:33:30 +03:00
{"cpu": 26.2}
GET sensors
-----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/sensors
2023-12-10 22:10:34 +03:00
[{"critical": 105,
"key": "label",
"label": "acpitz 0",
"type": "temperature_core",
"unit": "C",
"value": 27,
"warning": 105},
{"critical": 105,
"key": "label",
"label": "acpitz 1",
"type": "temperature_core",
"unit": "C",
"value": 29,
"warning": 105}]
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/sensors/label
2023-12-10 22:10:34 +03:00
{"label": ["acpitz 0",
"acpitz 1",
"Package id 0",
"Core 0",
"Core 1",
"CPU",
"Ambient",
"SODIMM",
"BAT BAT0"]}
Get a specific item when field matches the given value::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/sensors/label/acpitz 0
2023-12-10 22:10:34 +03:00
{"acpitz 0": [{"critical": 105,
"key": "label",
"label": "acpitz 0",
"type": "temperature_core",
"unit": "C",
"value": 27,
"warning": 105}]}
GET system
----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/system
2023-12-10 22:10:34 +03:00
{"hostname": "XPS13-9333",
"hr_name": "Ubuntu 22.04 64bit",
"linux_distro": "Ubuntu 22.04",
"os_name": "Linux",
"os_version": "5.15.0-88-generic",
"platform": "64bit"}
Get a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/system/os_name
2023-12-10 22:10:34 +03:00
{"os_name": "Linux"}
GET uptime
----------
Get plugin stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/uptime
2023-12-16 16:33:30 +03:00
"21 days, 5:35:08"
GET version
-----------
Get plugin stats::
# curl http://localhost:61208/api/4/version
"4.0.0_beta01"
GET all stats
-------------
Get all Glances stats::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/all
Return a very big dictionary (avoid using this request, performances will be poor)...
2023-08-14 11:31:07 +03:00
GET top n items of a specific plugin
------------------------------------
Get top 2 processes of the processlist plugin::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/processlist/top/2
[{"cmdline": ["/snap/firefox/3206/usr/lib/firefox/firefox",
2023-12-10 22:10:34 +03:00
"-contentproc",
"-childID",
"3",
"-isForBrowser",
"-prefsLen",
"41102",
"-prefMapSize",
"234514",
"-jsInitLen",
"234236",
"-parentBuildID",
"20230928054334",
"-greomni",
"/snap/firefox/3206/usr/lib/firefox/omni.ja",
"-appomni",
"/snap/firefox/3206/usr/lib/firefox/browser/omni.ja",
"-appDir",
"/snap/firefox/3206/usr/lib/firefox/browser",
"{912ef42c-455b-4ef1-acbb-dbd1bb6d42d4}",
"7195",
"true",
"tab"],
2023-11-01 10:53:44 +03:00
"cpu_percent": 0.0,
"cpu_times": {"children_system": 0.0,
"children_user": 0.0,
"iowait": 0.0,
2023-12-16 16:33:30 +03:00
"system": 299.32,
"user": 3357.83},
"gids": {"effective": 1000, "real": 1000, "saved": 1000},
2023-12-16 16:33:30 +03:00
"io_counters": [405289984, 0, 0, 0, 0],
2023-11-01 10:53:44 +03:00
"key": "pid",
2023-12-16 16:33:30 +03:00
"memory_info": {"data": 1191260160,
"dirty": 0,
"lib": 0,
2023-12-16 16:33:30 +03:00
"rss": 482578432,
"shared": 50585600,
"text": 643072,
2023-12-16 16:33:30 +03:00
"vms": 3809882112},
"memory_percent": 6.16825169955839,
2023-12-10 22:10:34 +03:00
"name": "WebExtensions",
2023-11-01 10:53:44 +03:00
"nice": 0,
2023-12-10 22:10:34 +03:00
"num_threads": 20,
"pid": 7586,
"status": "S",
2023-08-14 11:31:07 +03:00
"time_since_update": 1,
"username": "nicolargo"},
2023-12-16 16:33:30 +03:00
{"cmdline": ["/snap/firefox/3206/usr/lib/firefox/firefox"],
"cpu_percent": 0.0,
2023-12-16 16:33:30 +03:00
"cpu_times": {"children_system": 965.5,
"children_user": 6851.05,
"iowait": 0.0,
2023-12-16 16:33:30 +03:00
"system": 2456.28,
"user": 8476.01},
"gids": {"effective": 1000, "real": 1000, "saved": 1000},
2023-12-16 16:33:30 +03:00
"io_counters": [6493832192, 9773744128, 0, 0, 0],
"key": "pid",
2023-12-16 16:33:30 +03:00
"memory_info": {"data": 1300467712,
"dirty": 0,
"lib": 0,
2023-12-16 16:33:30 +03:00
"rss": 474091520,
"shared": 117129216,
"text": 643072,
"vms": 13574438912},
"memory_percent": 6.0597731478936465,
"name": "firefox",
"nice": 0,
2023-12-16 16:33:30 +03:00
"num_threads": 147,
"pid": 7195,
"status": "S",
"time_since_update": 1,
2023-12-10 22:10:34 +03:00
"username": "nicolargo"}]
2023-08-14 11:31:07 +03:00
Note: Only work for plugin with a list of items
GET stats history
-----------------
History of a plugin::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu/history
2023-12-16 16:33:30 +03:00
{"system": [["2023-12-16T14:33:03.105389", 2.0],
["2023-12-16T14:33:04.129951", 1.8],
["2023-12-16T14:33:05.327322", 1.8]],
"user": [["2023-12-16T14:33:03.105374", 24.2],
["2023-12-16T14:33:04.129938", 10.0],
["2023-12-16T14:33:05.327306", 10.0]]}
Limit history to last 2 values::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu/history/2
2023-12-16 16:33:30 +03:00
{"system": [["2023-12-16T14:33:04.129951", 1.8],
["2023-12-16T14:33:05.327322", 1.8]],
"user": [["2023-12-16T14:33:04.129938", 10.0],
["2023-12-16T14:33:05.327306", 10.0]]}
History for a specific field::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu/system/history
2023-12-16 16:33:30 +03:00
{"system": [["2023-12-16T14:33:01.240422", 2.0],
["2023-12-16T14:33:03.105389", 2.0],
["2023-12-16T14:33:04.129951", 1.8],
["2023-12-16T14:33:05.327322", 1.8]]}
Limit history for a specific field to last 2 values::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu/system/history
2023-12-16 16:33:30 +03:00
{"system": [["2023-12-16T14:33:04.129951", 1.8],
["2023-12-16T14:33:05.327322", 1.8]]}
GET limits (used for thresholds)
--------------------------------
All limits/thresholds::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/all/limits
{"alert": {"alert_disable": ["False"], "history_size": 1200.0},
"amps": {"amps_disable": ["False"], "history_size": 1200.0},
"containers": {"containers_all": ["False"],
"containers_disable": ["False"],
"containers_max_name_size": 20.0,
"history_size": 1200.0},
"core": {"history_size": 1200.0},
2023-12-10 22:10:34 +03:00
"cpu": {"cpu_ctx_switches_careful": 160000.0,
"cpu_ctx_switches_critical": 200000.0,
"cpu_ctx_switches_warning": 180000.0,
"cpu_disable": ["False"],
2023-12-10 22:10:34 +03:00
"cpu_iowait_careful": 20.0,
"cpu_iowait_critical": 25.0,
"cpu_iowait_warning": 22.5,
"cpu_steal_careful": 50.0,
"cpu_steal_critical": 90.0,
"cpu_steal_warning": 70.0,
"cpu_system_careful": 50.0,
"cpu_system_critical": 90.0,
"cpu_system_log": ["False"],
"cpu_system_warning": 70.0,
"cpu_total_careful": 65.0,
"cpu_total_critical": 85.0,
"cpu_total_log": ["True"],
"cpu_total_warning": 75.0,
"cpu_user_careful": 50.0,
"cpu_user_critical": 90.0,
"cpu_user_log": ["False"],
"cpu_user_warning": 70.0,
"history_size": 1200.0},
"diskio": {"diskio_disable": ["False"],
"diskio_hide": ["loop.*", "/dev/loop.*"],
"history_size": 1200.0},
"folders": {"folders_disable": ["False"], "history_size": 1200.0},
"fs": {"fs_careful": 50.0,
"fs_critical": 90.0,
"fs_disable": ["False"],
"fs_hide": ["/boot.*", "/snap.*"],
"fs_warning": 70.0,
"history_size": 1200.0},
"gpu": {"gpu_disable": ["False"],
"gpu_mem_careful": 50.0,
"gpu_mem_critical": 90.0,
"gpu_mem_warning": 70.0,
"gpu_proc_careful": 50.0,
"gpu_proc_critical": 90.0,
"gpu_proc_warning": 70.0,
"history_size": 1200.0},
"help": {"history_size": 1200.0},
"ip": {"history_size": 1200.0,
"ip_censys_fields": ["location:continent",
"location:country",
"autonomous_system:name"],
"ip_censys_url": ["https://search.censys.io/api"],
"ip_disable": ["False"],
"ip_public_ip_disabled": ["False"],
"ip_public_refresh_interval": 300.0},
"load": {"history_size": 1200.0,
"load_careful": 0.7,
"load_critical": 5.0,
"load_disable": ["False"],
"load_warning": 1.0},
"mem": {"history_size": 1200.0,
"mem_careful": 50.0,
"mem_critical": 90.0,
"mem_disable": ["False"],
"mem_warning": 70.0},
"memswap": {"history_size": 1200.0,
"memswap_careful": 50.0,
"memswap_critical": 90.0,
"memswap_disable": ["False"],
"memswap_warning": 70.0},
"network": {"history_size": 1200.0,
"network_disable": ["False"],
"network_rx_careful": 70.0,
"network_rx_critical": 90.0,
"network_rx_warning": 80.0,
"network_tx_careful": 70.0,
"network_tx_critical": 90.0,
"network_tx_warning": 80.0},
"now": {"history_size": 1200.0},
"percpu": {"history_size": 1200.0,
"percpu_disable": ["False"],
"percpu_iowait_careful": 50.0,
"percpu_iowait_critical": 90.0,
"percpu_iowait_warning": 70.0,
"percpu_system_careful": 50.0,
"percpu_system_critical": 90.0,
"percpu_system_warning": 70.0,
"percpu_user_careful": 50.0,
"percpu_user_critical": 90.0,
"percpu_user_warning": 70.0},
"ports": {"history_size": 1200.0,
"ports_disable": ["False"],
"ports_port_default_gateway": ["True"],
"ports_refresh": 30.0,
"ports_timeout": 3.0},
"processcount": {"history_size": 1200.0, "processcount_disable": ["False"]},
"processlist": {"history_size": 1200.0,
"processlist_cpu_careful": 50.0,
"processlist_cpu_critical": 90.0,
"processlist_cpu_warning": 70.0,
"processlist_disable": ["False"],
"processlist_mem_careful": 50.0,
"processlist_mem_critical": 90.0,
"processlist_mem_warning": 70.0,
"processlist_nice_warning": ["-20",
"-19",
"-18",
"-17",
"-16",
"-15",
"-14",
"-13",
"-12",
"-11",
"-10",
"-9",
"-8",
"-7",
"-6",
"-5",
"-4",
"-3",
"-2",
"-1",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19"]},
"psutilversion": {"history_size": 1200.0},
"quicklook": {"history_size": 1200.0,
"quicklook_cpu_careful": 50.0,
"quicklook_cpu_critical": 90.0,
"quicklook_cpu_warning": 70.0,
"quicklook_disable": ["False"],
"quicklook_mem_careful": 50.0,
"quicklook_mem_critical": 90.0,
"quicklook_mem_warning": 70.0,
"quicklook_percentage_char": ["|"],
"quicklook_swap_careful": 50.0,
"quicklook_swap_critical": 90.0,
"quicklook_swap_warning": 70.0},
"sensors": {"history_size": 1200.0,
"sensors_battery_careful": 80.0,
"sensors_battery_critical": 95.0,
"sensors_battery_warning": 90.0,
"sensors_disable": ["False"],
"sensors_refresh": 4.0,
"sensors_temperature_core_careful": 60.0,
"sensors_temperature_core_critical": 80.0,
"sensors_temperature_core_warning": 70.0,
"sensors_temperature_hdd_careful": 45.0,
"sensors_temperature_hdd_critical": 60.0,
"sensors_temperature_hdd_warning": 52.0},
"system": {"history_size": 1200.0,
"system_disable": ["False"],
"system_refresh": 60},
"uptime": {"history_size": 1200.0},
2023-12-16 16:33:30 +03:00
"version": {"history_size": 1200.0},
"wifi": {"history_size": 1200.0,
"wifi_careful": -65.0,
"wifi_critical": -85.0,
"wifi_disable": ["False"],
"wifi_warning": -75.0}}
Limits/thresholds for the cpu plugin::
2023-12-15 21:06:33 +03:00
# curl http://localhost:61208/api/4/cpu/limits
2023-12-10 22:10:34 +03:00
{"cpu_ctx_switches_careful": 160000.0,
"cpu_ctx_switches_critical": 200000.0,
"cpu_ctx_switches_warning": 180000.0,
"cpu_disable": ["False"],
2023-12-10 22:10:34 +03:00
"cpu_iowait_careful": 20.0,
"cpu_iowait_critical": 25.0,
"cpu_iowait_warning": 22.5,
"cpu_steal_careful": 50.0,
"cpu_steal_critical": 90.0,
"cpu_steal_warning": 70.0,
"cpu_system_careful": 50.0,
"cpu_system_critical": 90.0,
"cpu_system_log": ["False"],
"cpu_system_warning": 70.0,
"cpu_total_careful": 65.0,
"cpu_total_critical": 85.0,
"cpu_total_log": ["True"],
"cpu_total_warning": 75.0,
"cpu_user_careful": 50.0,
"cpu_user_critical": 90.0,
"cpu_user_log": ["False"],
"cpu_user_warning": 70.0,
"history_size": 1200.0}