
Nextcloudの各ユーザーの消費をレポートします
それでもNextcloudのインストールをさらに活用したい場合、および各ユーザーがどれだけ消費しているかを知りたい場合… これがあなたの投稿です! Grafanaから直接見ることになるので、見栄えがします!
「ユーザー使用状況レポート」というスクリプトを使用します’ からダウンロードできること Nextcloud Apps の Web サイト, Nextcloudのインストールに対応するバージョンをダウンロードします, この投稿では、Nextcloudを使用します 13. Nextcloudサーバー内のAppディレクトリに残します, こちらは, このようなものが私たちを助けます, 最後に、OCCバイナリがあるディレクトリにアクセスし、実行可能にします:
[ソースコード]MV user_usage_report-1.0.1.tar.gz /VAR/www/NextCloud/Apps/
cd /var/www/nextcloud/apps
タール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[/ソースコード]
その後は, この素晴らしい脚本が私たちに何を与えてくれるのか、直接試してみることができます. 管理者ユーザーデータ使用状況レポートを表示するには、次のコマンドを実行してその出力を確認します:
[ソースコード]sudo -u www-data ./occ usage-report:管理者を生成する
「管理者」,"2018-08-20T20:35:50+00:00",-2,7518695,20,0,0,0[/ソースコード]
オーレ! 私たちはすでに何らかの形で単一のユーザーの使用を見ています, 悪くありません, そして、もし私たちが皆に会いたいのなら? さて、ユーザー🙂を削除します
[ソースコード]sudo -u www-data ./occ usage-report:生成する
「管理者」,"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[/ソースコード]
私がそれから得るのは、Nextcloudユーザーの識別子です, Active Directoryと同期しています. これらはすべてCSVでエクスポートでき、ここで停止し、投稿することができます. Excelで好きなようにグラフを作成し、それだけです. 私たちが見ているのは、次のフィールドを持つCSV形式であるためです:
- ユーザーID.
- レポートの日付.
- クォータが有効になっている場合 (-3 それは無制限になるでしょう, -2 固定されていません).
- フォルダ内の消費容量.
- ホームページ上のファイルの数.
- 共有アイテムの数.
- 作成されたファイルの数.
- 表示またはダウンロードされたファイルの数.
当社が関係する場合, どこで撮影するか分かっているなら… 私の意図は、この情報をMySQLサーバーにエクスポートするスクリプトを作成することです, このすべてのデータをテーブルに保存し、より簡単な方法でGrafanaを操作する.
私の場合、私は私のために仕事をするこのスクリプトを作成します, 私はそれを “/ルート/nextcloud_uso_a_mysql.sh” 以下の内容で:
[ソースコード]cd /var/www/nextcloud/
sudo -u www-data ./occ usage-report:生成する > /TMP/nextcloud_uso1.csv
ああ '{GSUBの(/\"/,"")};1’ /TMP/nextcloud_uso1.csv > /TMP/nextcloud_uso.csv
sed -i -e 's/88133B49-A6A5-4035-83EB-3193B4DD9D3B/ヘクター・エレーロ/g’ /TMP/nextcloud_uso.csv
sed -i -e 's/755784D0-F0AE-4DF9-BD88-E3A5B5DDD74/セイラ・フェルナンデス/g’ /TMP/nextcloud_uso.csv
sed -i -e 's/A6E28617-BB75-4080-A7B3-9F22E4DD8DA/デビッド・ゲレロ/g’ /TMP/nextcloud_uso.csv
SCP /TMP/nextcloud_uso.csv pi@192.168.1.197:/ホーム/PI
mysqlimport -h SERVIDOR_MYSQL -uroot -pPASSWORD NOMBRE_BD –fields-terminated-by=',’ /ホーム/PI/nextcloud_uso.csv[/ソースコード]
ご覧のとおり、データをCSVにエクスポートすることはほとんどできません, 彼を悩ませている二重引用符をすべて取り除きます, そして、私を吐き出す識別子を私のADユーザーの正しい名前に置き換えてください. 最後に、scpを使用してcsvファイルをMySQLサーバーにアップロードし、インポートします, インポートしたファイルの名前からテーブル名が取得されます. スクリプトを保存して実行可能🙂にします
そして、それをcronで直接プログラムすることができます, 私の場合は, それが1日1回実行されるなら、それは私にとって十分であり、私は十分すぎるほど持っています, したがって、この例では、 00:01 と言えるでしょう. 毎日、新しいデータをMySQLテーブルにインポートします!
[ソースコード]crontab -e
1 0 * * * /ルート/nextcloud_uso_a_mysql.sh[/ソースコード]
MySQLで使用しているテーブルは 'nextcloud_uso’ ユーザーで構成されます, の息子, クォータ, 間, ファイル, シェアード, 作成, 移動日と日付, ご覧のとおり、これらはGrafanaでそれらに対処するためのジューシーなデータ以上のものです… 私と同じ構造のテーブルを作成したい場合に備えて、スクリプトを残しておきます:
[ソースコード]テーブル 'nextcloud_uso' の作成 (
'user' CHAR(40) NULL デフォルト NULL,
'fetxa' チャー(10) NULL デフォルト NULL,
'quota' FLOAT NULL デフォルト NULL,
'space' FLOAT NULL デフォルト NULL,
'files' FLOAT NULL デフォルト NULL,
'shared' FLOAT NULL デフォルト NULL,
'created' FLOAT NULL デフォルト NULL,
'moved' FLOAT NULL デフォルト NULL,
'fecha' タイムスタンプが NULL でない 更新時のデフォルトのCURRENT_TIMESTAMP CURRENT_TIMESTAMP
)
照合='latin1_swedish_ci’
エンジン=イノDB
ROW_FORMAT=コンパクト
;[/ソースコード]
あとは、データを視覚化するだけです! ここにいくつかの例があります, 最初の, 少しチーズで、現在データを使用しているデータが表示されます, グラフィックな方法で、一目で、すべてのスペース🙂を吸い込む悪党が誰であるかがわかりますそして右側には、ユーザーのデータの使用がどのように成長するかのグラフを残します. しかし、気をつけてください! 表にはもっと興味深い事実があります! 誰が最も多く共有しているかを知る方法, 誰が最も多く働いているか, 等, 等…
Grafanaで使用したクエリのヒントを残して、同じように見えるようにします, またはすごい, あなたはもっと良く! ダッシュボード上, 創造する:
- チーズまたは円グラフ: MySQLデータソースに対して関心のあるシリーズを追加するかどうかの問題です, そのうちの1つの例:
[ソースコード]日付を time_sec として選択, メトリックとしてのユーザー, espacio を user = 'Hector Herrero の nextcloud_uso からの値として’ 日付順 DESC LIMIT 1[/ソースコード]
- Gráfica o Graph: 同じ, ペイントするシリーズを追加します, 例:
[ソースコード]値として espacio を選択, 「ヘクター・エレーロ" メトリックとして, UNIX_TIMESTAMP(日付) nextcloud_usoからtime_secとして どこ $__timeFilter(日付) and user = 'ヘクター・エレーロ’ 日付オフ順[/ソースコード]
Grafanaに少し迷っていて、インストール方法を知る必要がある場合, チェックアウト この投稿 それはあなたを助けることができます, その後、せいぜいMySQLサーバーに対してコネクタまたはデータソースを作成する必要があります! まぁ, 気に入っていただけたでしょうか! 自分の環境をコントロールできない人は、彼がコントロールしたくないからです!!! そこに残します! 紐, 紐…