Bericht über den Verbrauch jedes Benutzers in Nextcloud

Wenn wir unsere Nextcloud-Installation immer noch mehr ausnutzen möchten und wissen möchten, wie viel jeder Benutzer verbraucht… Das ist dein Beitrag! Es wird großartig aussehen, weil wir es direkt von unserem Grafana aus sehen werden!

 

Wir verwenden ein Skript mit dem Namen "User Usage Report"’ , die wir von der Nextcloud Apps Webseite, Wir laden die Version herunter, die unserer Nextcloud-Installation entspricht, in diesem Beitrag verwenden wir Nextcloud 13. Wir belassen es im App-Verzeichnis auf unserem Nextcloud-Server, hierfür, So etwas wird uns helfen, Am Ende greifen wir auf das Verzeichnis zu, in dem sich die OCC-Binärdatei befindet, und machen sie ausführbar:

[Quellcode]MV user_usage_report-1.0.1.tar.gz /VAR/www/NextCloud/Apps/
cd /var/www/nextcloud/apps
tar zxfv user_usage_report-1.0.1.tar.gz
RM user_usage_report-1.0.1.tar.gz
cd /var/www/nextcloud
sudo chmod +x occ[/Quellcode]

 

Danach, Wir können direkt versuchen, zu sehen, was uns dieses wunderbare Drehbuch gibt. Um den Bericht über die Nutzung von Admin-Benutzerdaten anzuzeigen, können wir den folgenden Befehl ausführen und die Ausgabe anzeigen:

[Quellcode]sudo -u www-data ./occ usage-report:Admin generieren
"Admin","20.08.2018T20:35:50+00:00",-2,7518695,20,0,0,0[/Quellcode]

 

Ole! Wir sehen bereits in gewisser Weise die Verwendung eines einzelnen Benutzers, Nicht schlecht, Und wenn wir alle sehen wollen? Nun, den Benutzer 🙂 entfernen

[Quellcode]sudo -u www-data ./occ usage-report:erzeugen
"Admin","20.08.2018T20:36:32+00:00",-2,7518695,20,0,0,0
"88133B49-A6A5-4035-83EB-3193BDD19E3B","20.08.2018T20:36:32+00:00",-2,7952664,32,1,0,16
"57D0CD27-A319-4A36-92D3-E541B7DD84C9","20.08.2018T20:36:32+00:00",-2,"",,0,0,0
"5BA5460C-FF2F-4DAC-8C1F-5427729DDD4D","20.08.2018T20:36:32+00:00",-2,7435791,12,0,0,0
"61F42891-B220-43AB-9568-4390753DDBF5","20.08.2018T20:36:32+00:00",-2,"",,0,0,0
"272407CC-6361-49F4-A3B5-F8A26FDDDE18","20.08.2018T20:36:32+00:00",-2,"",,0,0,0
"755784D0-F0AE-4DF9-BD88-E3A5B5BDD374","20.08.2018T20:36:32+00:00",-2,7435791,12,0,0,0
"BA886970-5134-45FD-8D42-D11DCDDE57A","20.08.2018T20:36:32+00:00",-2,"",,0,0,0
"A6E28617-BB75-4080-A7B3-9F22E4DD184A","20.08.2018T20:36:32+00:00",-2,"",,0,0,0
"3009D13B-0236-48D4-B771-604932DD47F1","20.08.2018T20:36:32+00:00",-2,"",,0,0,0[/Quellcode]

 

Was ich daraus ziehe, sind die Identifikatoren der Nextcloud-Nutzer, Ich habe sie mit dem Active Directory synchronisiert. All dies kann in CSV exportiert werden und hier und dem Beitrag aufhören. Sie erstellen die Diagramme mit einem Excel, wie Sie es möchten, und das war's. Denn was wir sehen, ist ein CSV-Format mit den folgenden Feldern:

  • Benutzer-ID.
  • Datum des Berichts.
  • Wenn Sie Kontingente aktiviert haben (-3 Es wäre unbegrenzt, -2 Nicht behoben).
  • Belegter Speicherplatz in Ihrem Ordner.
  • Anzahl der Dateien auf Ihrer Startseite.
  • Anzahl der freigegebenen Elemente.
  • Anzahl der erstellten Dateien.
  • Anzahl der angesehenen oder heruntergeladenen Dateien.

 

In dem Fall, der uns betrifft, Wenn du weißt, wo ich fotografieren werde… Meine Absicht ist es, ein Skript zu erstellen, das diese Informationen an einen MySQL-Server exportiert, all diese Daten in einer Tabelle speichern und dann einfacher mit Grafana arbeiten.

In meinem Fall erstelle ich dieses Skript, das die Arbeit für mich erledigt, Ich nenne es “/root/nextcloud_uso_a_mysql.sh” mit folgendem Inhalt:

[Quellcode]cd /var/www/nextcloud/
sudo -u www-data ./occ usage-report:erzeugen > /TMP/nextcloud_uso1.csv
Aww '{GSUB(/\"/,"")};1’ /TMP/nextcloud_uso1.csv > /TMP/nextcloud_uso.csv
sed -i -e 's/88133B49-A6A5-4035-83EB-3193B4DD9D3B/Hector Herrero/g’ /TMP/nextcloud_uso.csv
sed -i -e 's/755784D0-F0AE-4DF9-BD88-E3A5B5DDD74/Seila Fernandez/g’ /TMP/nextcloud_uso.csv
sed -i -e 's/A6E28617-BB75-4080-A7B3-9F22E4DD8DA/David Guerrero/g’ /TMP/nextcloud_uso.csv
SCP /TMP/nextcloud_uso.csv pi@192.168.1.197:/Startseite/PI
mysqlimport -h SERVIDOR_MYSQL -uroot -pPASSWORD NOMBRE_BD –fields-terminated-by=',’ /Startseite/Pi/nextcloud_uso.csv[/Quellcode]

 

Wie wir sehen können, kann ich die Daten kaum in eine CSV-Datei exportieren, Ich entferne alle doppelten Anführungszeichen, die ihn stören, und die Identifikatoren, die mich ausspucken, durch die korrekten Namen meiner AD-Benutzer ersetzen. Zum Schluss lade ich die csv-Datei mit scp auf den MySQL-Server hoch und importiere sie, Der Tabellenname wird aus dem Namen der Datei übernommen, die wir importiert haben. Wir speichern das Skript und machen es ausführbar 🙂

Und wir können es direkt in cron programmieren, In meinem Fall, wenn es einmal am Tag gelaufen wird, reicht es mir und ich habe mehr als genug, In diesem Beispiel programmiere ich es also für die 00:01 Ich würde sagen,. Jeden Tag importieren Sie neue Daten in die MySQL-Tabelle!

[Quellcode]crontab -e
1 0 * * * /root/nextcloud_uso_a_mysql.sh[/Quellcode]

 

Die Tabelle, die ich in MySQL verwende, heißt 'nextcloud_uso’ und setzt sich zusammen aus, Sohn eines, Quote, Raum, Dateien, Geteilt, Erstellt, Verschoben und Datum, Wie Sie sehen werden, sind dies mehr als saftige Daten, um sie dann mit Grafana zu behandeln… Ich überlasse Ihnen das Skript für den Fall, dass Sie die Tabelle mit der gleichen Struktur wie ich erstellen möchten:

[Quellcode]TABELLE 'nextcloud_uso' ERSTELLEN (
'user' ZEICHEN(40) NULL DEFAULT NULL,
'fetxa' KOHLE(10) NULL DEFAULT NULL,
'quota' FLOAT NULL DEFAULT NULL,
'Leerzeichen' FLOAT NULL DEFAULT NULL,
'files' FLOAT NULL DEFAULT NULL,
'shared' FLOAT NULL DEFAULT NULL,
'created' FLOAT NULL DEFAULT NULL,
'moved' FLOAT NULL DEFAULT NULL,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
ENGINE=InnoDB
ROW_FORMAT=KOMPAKT
;[/Quellcode]

 

Und jetzt geht es nur noch darum, die Daten zu visualisieren! Hier sind ein paar Beispiele, wobei in der ersten, Mit ein wenig Käse sehen wir uns die Daten an, die derzeit unsere Daten verwenden, auf grafische Weise und mit einem schnellen Blick werden wir wissen, wer der Schurke ist, der den ganzen Platz 🙂 aufsaugt Und auf der rechten Seite hinterlasse ich Ihnen eine Grafik, wie die Nutzung von Daten unserer Benutzer zunehmen würde. Aber Vorsicht! Dass wir in der Tabelle mehr kuriose Fakten haben! So finden Sie heraus, wer am meisten teilt, Wer arbeitet am meisten?, etc, etc…

 

Ich hinterlasse Ihnen einen Hinweis auf die Abfragen, die ich in Grafana verwendet habe, damit es gleich aussieht, Oder wow, Sie besser! Auf einem Dashboard, Schaffen:

  • Käse- oder Tortendiagramm: Es würde darum gehen, die Reihen, die uns interessieren, mit unserer MySQL-Datenquelle zu vergleichen, Beispiel für einen von ihnen:

[Quellcode]Wählen Sie das Datum als time_sec, Benutzer als Metrik, espacio als Wert aus nextcloud_uso wobei user = 'Hector Herrero’ Sortieren nach Datum DESC LIMIT 1[/Quellcode]

  • Gráfica o Graph: Lo mismo, Fügen Sie die Serie hinzu, die wir malen möchten, Beispiel:

[Quellcode]SELECT espacio als Wert, "Hector Herrero" als Metrik, UNIX_TIMESTAMP(Datum) WIE time_sec VON nextcloud_uso, WO __timeFilter $(Datum) und user = 'Hector Herrero’ Sortieren nach Datum Aus[/Quellcode]

 

Wenn Sie sich mit Grafana ein wenig verirrt haben und wissen müssen, wie Sie es installieren, Abreise Dieser Beitrag die Ihnen helfen können, dann müssen Sie höchstens einen Konnektor oder eine Datenquelle für Ihren MySQL-Server erstellen! Brunnen, Ich hoffe, es hat euch gefallen! Derjenige, der seine Umwelt nicht im Griff hat, ist, weil er nicht will!!! Da lasse ich es! Zuhälter, Zuhälter…

 

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!