Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 1.73 KB

README.md

File metadata and controls

62 lines (45 loc) · 1.73 KB

prometheus-nextcloud-exporter

Monitoring of a Nextcloud instance using the servinfo plugin

Purpose

This repository has been made to monitor a Nextcloud instance using Prometheus through the serverinfo plugin.

Install

Having a working Golang environment:

go install github.com/trazfr/prometheus-nextcloud-exporter@latest

Use

This program is configured through a JSON configuration file.

To run, just prometheus-nextcloud-exporter config.json

Examples of configuration file

This configuration file sets the exporter:

  • With a timeout of 20 seconds for each requests (default=5)
  • To Listen to the port 9092 (default value=:9091)
  • To connect to a Nextcloud instance:
    • using HTTPS (you may also use http)
    • with credentials: user is myuser and the password is mypassword
    • the server is cloud.example.com
    • it is using the default path for the serverinfo plugin: /ocs/v2.php/apps/serverinfo/api/v1/info
    • and pass the 2 parameters skipApps and skipUpdate set to false
{
    "timeout": 20,
    "nextcloud_url": "https://myuser:[email protected]",
    "skip_apps": false,
    "skip_update": false,
    "listen": ":9092"
}

Another example where the Nextcloud is installed in the path /mynextcloud:

{
    "nextcloud_url": "https://anotheruser:[email protected]/mynextcloud"
}

Your server may have an exotic configuration and the serverinfo endpoints may be behind another path. For instance if you have a reverse proxy which rewrites /serverinfo into /ocs/v2.php/apps/serverinfo/api/v1/info:

{
    "nextcloud_url": "https://anotheruser:[email protected]/serverinfo",
    "append_default_serverinfo_path": false
}