Agent für Nextcloud

Hallo zusammen,

ich habe mir gerade das MKP Paket https://gitea.arschkrebs.org/cmk-bonobo/Nextcloud-CheckMK heruntergeladen und auf meiner CheckMK Instanz 2.1.0p26 (Free Edition) installiert.

Hat jemand mit dem Paket Erfahrung denn ich würde gerne meine private Nextcloud damit abfragen?
Ich sehe leider auch nicht unter den Agent Regeln den passenden Punkt wie ich den Agent (Plugin) auf meine Nextcloud VM verteilen kann. Muss ioch das PlugIn vielleicht wieder händisch auf dem System hinterlegen?

Vielen Dank vorab für eutre Antworten :slight_smile:

MfG Paul

schau mal unter → Setup → Agents → Other integrations → Nextcloud Server Information
Hier kaanst du die API Anbindung an deine Nextcloud Instanz konfigurieren.

2 Likes

Danke für das aufzeigen aber ich schein hier etwas falsch zu machen denn wenn ich die gewünschten Werte ausfülle hängt die gesamte Agent Abfrage für den Host.

Bei Host habe den öffentlichen Namen meiner Cloud angegeben.
Bei der Ordnerangabe bin ich mir auch unsicher was dort rein sollte.

Web: /var/www/nextcloud
Daten: /var/nextcloud_data

Kleine Anmerkung, es braucht entweder Password oder Token angegeben zu werden. Der Special Agent geht per Default wenn vorhanden auf den Token.

Das mit den Token habe ich eben umgesetzt aber das Verhalten bleibt leider gleich.
VIelleicht jemand der das im Einsatz hat?
Bedeutet Specail Agent das ich ggf. noch was auf dem Server kopieren muss (Plugin etc.)?

@Pablo78 habe den Agent jetzt mal auf eine Nextcloud “losgelassen”

auf der Nextcloud Instanz

Step 1: prüfen das occ funktioniert

$ sudo -u www-data /var/www/nextcloud/occ status
  - installed: true
  - version: 23.0.12.2
  - versionstring: 23.0.12
  - edition: 
  - maintenance: false
  - needsDbUpgrade: false
  - productname: Nextcloud
  - extendedSupport: false

Bei mir gab es zwei Probleme:

  1. occ war nicht ausführbar :frowning:
sudo chmod u+x /var/www/nextcloud/occ
  1. php Versionen haben nicht gepasst
$ sudo -u www-data /var/www/nextcloud/occ status
This version of Nextcloud is not compatible with > PHP 8.0.<br/>You are currently running 8.2.5.

also ersteinmal php aufräumen. habe das entsprechend dieser Anleitung auf PHP 7.3 gesetzt (war bei mir die einzige installierte Version kleiner 8.x)

Und dann noch alle nicht genutzten PHP Versionen runtergeschmissen (bei mir alle ausser 7.3) Danach lief dann occ

Setp 2: API Token erzeugen
In Nextcloud als admin anmelden, unter Settings → Security → Create new app password einen neuen Token generieren/kopieren

image

Step 3: API Token setzen (siehe Settings → System → External monitoring tool)

sudo -u www-data /var/www/nextcloud/occ config:app:set serverinfo token --value your-super-secure-token
Config value token for app serverinfo set to your-super-secure-token

Weiter gehts in CMK als Site user

Step 4: Agenttest auf der CLI, dauert ein weilchen…

$ ~/local/share/check_mk/agents/special/agent_nextcloud '--hostname' 'your.nextcloud.host' '--username' 'your-admin-user'  '--token' 'your-super-secure-token' '--port' '' '--folder' '' '--no-https' False '--no-cert-check' True '127.0.1.1'

<<<nextcloud_info:sep(59)>>>
NC_Version;23.0.12.2
NC_Freespace;5181710336
NC_Status;ok
NC_Num_Users;XXX
NC_Num_Files;XXX
NC_Num_Shares;XXX
NC_Num_Storages;XXX
NC_Num_Storages_XXX;XXX
NC_Num_Storages_Local;XXX
NC_Num_Storages_Other;0
NC_Num_Apps_Installed;49
NC_Num_Apps_Updates_Available;0
NC_Active_Users_Last_5Min;XXX
NC_Active_Users_Last_1Hour;XXX
NC_Active_Users_Last_1Day;XXX
NC_Webserver;Apache/XXXX (Debian)
NC_PHP_Version;XXXXX
<<<nextcloud_database:sep(59)>>>
NC_Database_Type;mysql
NC_Database_Version;XXXXXX
NC_Database_Size;XXXXXX
NC_OPCache_Hit_Rate;99.7454551659803
<<<nextcloud_users:sep(59)>>>
xxxx:xxxx;xxxx;xxxxx-x;x.xx;xx8x7xx6xxxxxxxxx
......

Step 5: Agent in CMK Konfigurieren/aktivieren

Hostname + User + Token (oder Password nicht beides), disable Certificate verify hängt von deiner Umgebung ab. Unter Conditions an den Nextcloud host in CMK binden

Step 6: Service discovery auf dem CMK Host, sollte dann die Nextcloud Services finden.

1 Like

Also ein Forum lebt von seinen Mitgliedern und ich bin immer wieder begeistert wie schnell man hier Antworten bekommt und das so wie hier " thl-cmk" sich dem ganzen annimmt und nachstellt.
Mein herzlichen Dank für deinen Einsatz und die Abfrage funktioniert nun auch.

Nun kommt aber wieder eine Grünschnabel Frage :laughing:

Das ist ja nun eine Special Agent Abfrage und wenn ich diese auf den normalen Host loslasse bekomme ich zwar die ersehnten Ausgaben aber all die anderen Abfragen sind weg. Was ist der beste Weg um beides zu haben, vielleicht 2 Hosts anlegen?

vorher

nachher

Bei der config vom host musst du special agent UND agent setzen. Gibts nen dropdown im setup menu zu.

1 Like

Ein Traum dieses Forum und ich wünsche noch einen erholsamen Sonntag.

:+1:

2 Likes

Hallo , ich hänge bei Step 3.

Was genau muss man wo machen? Und was muss ich mit dem App Token machen und was mache ich mit der API URL die in der Nextcloud steht?
Und was trage ich bei CheckMK ein?

Danke vorab.

@max246 Step 3 ist in der nextcloud. Als Admin anmelden und den in Step 2 erzeugten Token setzen (Settings → System → External monitoring tool)

Danke für die Antwort @thl-cmk
Ich hab in Step 3 eine URL bei “Externes Überwachungsprogramm” - was mache ich mit der?
Den Token wo ich erzeugt habe mit dem Nextcloud CheckMK User, wo gebe ich den ein?

Diesen folgenden Befehl, auf Kommandozeile Nextcloud hab ich das gemacht, und dann war mein User deaktiviert ?

sudo -u www-data /var/www/nextcloud/occ config:app:set serverinfo token --value your-super-secure-token

nichts, die URL wird vom Agenten genutzt.

Soweit ich weiss must du den Token mit dem NC Admin user erzeugen und setzen.

Danke @thl-cmk .
Leider bin ich nicht schlauer…

Die URL ist dann die beim CheckMK Agent, Server Information, okay.

Den Token hab ich mit dem CheckMK User erzeugt, für den hab ich noch immer keine Verwendung?

Step 3: Settings → Systems → External Monitoring Tool
Da steht die URL drin, wie soll ich da was eingeben? Das geht ja nicht? Den Befehl unten drunter per CMD ging, aber im CheckMK Geht nichts weiter?

sorry mein Fehler, Step 3 ist evtl. etwas ungenau. Den Token setzt du auf der NC CLI. Unter Settings… findest du wie…

sudo -u www-data /var/www/nextcloud/occ config:app:set serverinfo token --value your-super-secure-token
Config value token for app serverinfo set to your-super-secure-token

Okay das hab ich ja dann richtig gemacht.
Aber bei Server Information in CheckMK steig ich nicht durch:
Wo soll die URL nun rein? Hostname?

Bei mir im CheckMK Findet er nix , vorallem ich weiß einfach nicht wohin mit Token + URL?

wenn du Step 3 hast kannst du wie in Step 4 gezeigt den NC Agent auf der CLI testen.
In Step 5 findest du dann wie du den Agent in CMK konfigurierst.

Gut dann hänge ich bei Step 4. auf der CLI geht gar nichts: Kommen nur Fehler mit Files unter special/agent_nextcloud…

Und ich weiß um ehrlich zu sein nicht, was bei Hostname rein soll → öffentlicher DNS Name, interner Servername, API URL von Step 3?

Ich gehe mal davon aus du versuchst das vom CMK Server als Site User?

Der Name unter dem du deine NC Instanz vom CMK Server aus erreichst.

Hi,

ich bekomme den Check ebenfalls nicht zum laufen. Auf der CLI als Site-User klappt alles, im WATO bekomme ich allerdings einen 401 Fehler bzw. nach kurzer Zeit 504.

Services: all up to date, Host labels: all up to date, [special_nextcloud] Agent exited with code 1: Request response code is 504 with URL

Hat jemand eine Idee?