Bericht Verbrauch jeden Benutzer in Nextcloud

Wenn Sie wollen immer noch mehr Nextcloud unserer Einrichtung nutzen und wir wollen wissen, wie viel Sie jeden Benutzer verbrauchen… este es tu Post! Es wird sehr kühl sein, dass wir bei unserem Grafana sehen!

 

Wir werden ein Skript namens verwenden ‚Benutzernutzungsbericht‘ was können Sie aus dem Download Web Apps die nächste Wolke, wird laden Sie die entsprechende Installation Nextcloud unsere Version, in diesem Beitrag verwenden wir Nextcloud 13. Wir verließen im Apps-Verzeichnisserver in unserem Nextcloud, für sie, so etwas wie dies wird uns helfen,, am Ende treten wir in das Verzeichnis, in dem die occ ausführbare Binärdatei ist und was wir tun:

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

 

danach, Sie können direkt zu sehen versuchen, was uns dieses wunderbare Skript gibt. Um den Bericht mit den Admin-Benutzerdaten anzeigen können wir den folgenden Befehl ausführen und sehen, dessen Ausgang:

sudo -u www-data ./occ usage-report:generate admin
"admin","2018-08-20T20:35:50+00:00",-2,7518695,20,0,0,0

 

sein! und irgendwie sehen wir die Verwendung eines einzelnen Benutzers, gut, und wenn wir sehen, alle? Nun, den Benutzer entfernen 🙂

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

 

Was bringt mich sind die Kennungen der Nutzer von Nextcloud, Ich habe sie synchronisiert mit Active Directory. All dies kann in CSV exportieren und stoppen Sie hier und Post. Sie tun, was Sie Diagramme mit Excel und bereit wollen. Denn das, was wir sehen, ist ein CSV-Format mit den folgenden Feldern:

  • userid.
  • Datum des Berichts.
  • Wenn Sie Kontingente aktiviert (-3 Es wäre unbegrenzt, -2 ungebunden).
  • Platz in der Brieftasche verbraucht.
  • Anzahl der Dateien in Ihrem Hause.
  • Anzahl der freigegebenen Elemente.
  • Anzahl der erstellten Dateien.
  • Anzahl der gesehenen oder heruntergeladenen Dateien.

 

In dem Fall, der uns betrifft, wenn Sie wissen, wo ich werfe… meine Absicht ist es, ein Skript zu erstellen, um diese Informationen zu einem MySQL-Server zu exportieren, in einer Tabelle gespeichert und so dann diese Daten mit Grafana arbeiten, um sie auf eine einfachere Art und Weise.

In meinem Fall denke ich, dieses Skript die Arbeit für mich tun, ich nenne „/root / nextcloud_uso_a_mysql.sh“ mit folgendem Inhalt:

cd /var/www/nextcloud/
sudo -u www-data ./occ usage-report:generate > /tmp/nextcloud_uso1.csv
awk '{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:/home/pi
mysqlimport -h SERVIDOR_MYSQL -uroot -pCONTRASEÑA NOMBRE_BD --fields-terminated-by=',' /home/pi/nextcloud_uso.csv

 

Wie wir schlecht werde ich in eine CSV-Daten exportiert, werden alle doppelten Anführungszeichen entfernen, die die Mühe, und Ersatzkennungen, die mich mit den richtigen Namen meines AD-Benutzers spucken. Am Ende lade ich die CSV-Datei auf den MySQL-Server mit scp und importiert, den Tabellennamen des Dateinamens wird fangen wir importieren. Wir speichern das Skript und machen es ausführbar 🙂

Und wir können es programmieren direkt in cron, in meinem Fall, das läuft einmal pro Tag im Wert von mir und ersparen Sie mir, So in diesem Beispiel stelle ich es für 00:01 so diraría. Jeden Tag wird die neue Datentabelle MySQL importieren!

crontab -e
1 0 * * * /root/nextcloud_uso_a_mysql.sh

 

Die Tabelle, die ich in MySQL verwende, heißt ‚nextcloud_uso‘ und besteht Benutzer, Seitenaufrufe, Quote, Raum, Dateien, gemeinsam genutzt, erstellt, bewegt und Datum, wie Sie sehen werden, dass sie mehr saftige Daten sind und dann mit Grafana behandelt… Ich lasse das Skript im Fall, dass Sie die Tabelle mit der gleichen Struktur I erstellen möchten:

CREATE TABLE `nextcloud_uso` (
`usuario` CHAR(40) NULL DEFAULT NULL,
`fetxa` CHAR(10) NULL DEFAULT NULL,
`quota` FLOAT NULL DEFAULT NULL,
`espacio` FLOAT NULL DEFAULT NULL,
`ficheros` FLOAT NULL DEFAULT NULL,
`compartidos` FLOAT NULL DEFAULT NULL,
`creados` FLOAT NULL DEFAULT NULL,
`movido` FLOAT NULL DEFAULT NULL,
`fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
ROW_FORMAT=COMPACT
;

 

Und nun bleibt es Daten zu visualisieren! Ich gebe diese paar Beispiele, wobei in der ersten, ein Quesito die Daten sehen, die zur Zeit unsere Daten verwenden, Auf grafische Weise und mit einem kurzen Blick werden wir wissen, wer der Gewinner ist, der den ganzen Raum in Anspruch nimmt. 🙂 Und rechts hinterlasse ich Ihnen eine grafische Darstellung, wie die Verwendung der Daten unserer Benutzer zunehmen würde. aber Auge! In der Tabelle haben wir mehr Spaß Fakten! Wie wissen, wer teilt mehr, wer arbeitet mehr, etc, etc…

 

Ich überlasse eine Spur von Abfragen in Grafana verwendet, so dass Sie gleich bleiben, oder gehen, Sie besser! En un Armaturenbretts, schaffen:

  • Frage den Kreisdiagramm: Es wäre nur die Serie werden, indem die uns gegen unsere MySQL-Datenquelle interessieren, Beispiel für eine:
select fecha as time_sec, usuario as metric, espacio as value from nextcloud_uso where usuario = 'Hector Herrero' order by fecha desc limit 1
  • Grafik Grafik: die gleiche, allmählich fügen Sie die Serie wir uns malen wollen, Beispiel:
SELECT espacio as value, "Hector Herrero" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM nextcloud_uso WHERE $__timeFilter(fecha) and usuario = 'Hector Herrero' order by fecha desc

 

Wenn Sie ein wenig mit Grafana verloren, und Sie müssen wissen, wie es installieren, überprüfen es ist Post Sie können hilfreich sein, dann, wie viel Sie einen Stecker oder Datenquelle gegen den MySQL-Server vornehmen müssen! gut, Ich hoffe, es hat euch gefallen! Welche es nicht seine kontrollierte Umgebung hat nicht wollen!!! Ich überlasse es! Zuhälter, Zuhälter…

 

Hector Herrero