Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nextcloud/serverinfo
📊 A monitoring app which creates a server info dashboard for admins
https://github.com/nextcloud/serverinfo
admin-tools hacktoberfest monitoring nextcloud
Last synced: about 22 hours ago
JSON representation
📊 A monitoring app which creates a server info dashboard for admins
- Host: GitHub
- URL: https://github.com/nextcloud/serverinfo
- Owner: nextcloud
- License: agpl-3.0
- Created: 2016-07-19T10:45:48.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-12-17T01:39:56.000Z (6 days ago)
- Last Synced: 2024-12-17T02:37:04.383Z (6 days ago)
- Topics: admin-tools, hacktoberfest, monitoring, nextcloud
- Language: JavaScript
- Homepage:
- Size: 5.02 MB
- Stars: 100
- Watchers: 13
- Forks: 61
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Contributing: .github/contributing.md
- License: COPYING
- Codeowners: .github/CODEOWNERS
- Authors: AUTHORS.md
Awesome Lists containing this project
README
# Monitoring
[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/serverinfo)](https://api.reuse.software/info/github.com/nextcloud/serverinfo)
This apps provides useful server information, such as CPU load, RAM usage,
disk usage, number of users, etc. Check out the provided **Example XML output**
for the details.The admin can look up this information directly in Nextcloud (Settings ->
Management-> Information) or connect an external monitoring tool to the
provided end-points.## Installation
This app is part of the standard Nextcloud package and can be found in the
directory **nextcloud/apps/serverinfo**## API
The API provides a lot of information about a running Nextcloud
instance in XML or JSON format by using the following URL.```
https:///ocs/v2.php/apps/serverinfo/api/v1/info
```- To request the information in JSON append the url parameter `format=json`
- Use the url parameter `skipUpdate=true` to omit server updates.
- Use the url parameter `skipApps=true` to omit app updates (including available app updates will send an external request to the app store).### Example XML output:
```
ok
200
OK
30.0.0.1
yes
yes
OC\Memcache\APCu
none
yes
OC\Memcache\Redis
no
48472801280
1.81
1.39
1.24
8183664
5877568
0
0
53
1
2.0.1
1719244666
7
708860
125
7
7
111
1
0
0
0
0
0
0
1
Apache/2.4
7.2.14
536870912
3600
535822336
mysql
10.2.21
331382784
2
4
5
```
### Example JSON output:
```json
{"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":{"nextcloud":{"system":{"version":"30.0.0.1","theme":"","enable_avatars":"yes","enable_previews":"yes","memcache.local":"OC\\Memcache\\APCu","memcache.distributed":"none","filelocking.enabled":"yes","memcache.locking":"OC\\Memcache\\Redis","debug":"no","freespace":48472944640,"cpuload":[0.84999999999999997779553950749686919152736663818359375,1.04000000000000003552713678800500929355621337890625,1.1699999999999999289457264239899814128875732421875],"mem_total":8183664,"mem_free":5877156,"swap_total":0,"swap_free":0,"apps":{"num_installed":53,"num_updates_available":1,"app_updates":{"files_antivirus":"2.0.1"}}},"storage":{"num_users":7,"num_files":708860,"num_storages":125,"num_storages_local":7,"num_storages_home":7,"num_storages_other":111},"shares":{"num_shares":1,"num_shares_user":0,"num_shares_groups":0,"num_shares_link":0,"num_shares_link_no_password":0,"num_fed_shares_sent":0,"num_fed_shares_received":0,"permissions_4_1":"1"}},"server":{"webserver":"Apache\/2.4","php":{"version":"7.2.14","memory_limit":536870912,"max_execution_time":3600,"upload_max_filesize":535822336},"database":{"type":"mysql","version":"10.2.21","size":331382784}},"activeUsers":{"last5minutes":2,"last1hour":3,"last24hours":5}}}}
```## Configuration
##### Background job to update storage statistics
Since collecting storage statistics might take time and cause slow downs, they are updated in the background. A background job runs once every three hours to update the number of storages and files. The interval can be overridden per app settings (the value is specified in seconds):
``php occ config:app:set --value=3600 serverinfo job_interval_storage_stats``
It is also possible to trigger the update manually per occ call. With verbose mode enabled, the current values are being printed.
```
php occ serverinfo:update-storage-statistics -v --output=json_pretty
{
"num_users": 80,
"num_files": 3934,
"num_storages": 2545,
"num_storages_local": 2,
"num_storages_home": 2510,
"num_storages_other": 33
}
```##### Restricted mode (>= Nextcloud 28)
To obtain information about your server, the serverinfo app reads files outside the application directory (e.g. /proc on Linux) or executes shell commands (e.g. df on Linux).
If you don't want that (for example, to avoid open_basedir warnings) enable the restricted mode.
Enable:
``php occ config:app:set --value=yes serverinfo restricted_mode``
Disable:
``php occ config:app:delete serverinfo restricted_mode``
##### Show phpinfo (>= Nextcloud 28)
Enable:
``php occ config:app:set --value=yes serverinfo phpinfo``
Disable:
``php occ config:app:delete serverinfo phpinfo``