root / plugins / libreoffice / loolwsd @ 09b88141
Historique | Voir | Annoter | Télécharger (2,72 ko)
| 1 |
#!/bin/sh |
|---|---|
| 2 |
|
| 3 |
set -e |
| 4 |
|
| 5 |
: << =cut |
| 6 |
|
| 7 |
=head1 NAME |
| 8 |
|
| 9 |
loolwsd - Monitor usage (open documents and active views) and memory |
| 10 |
usage of libreoffice online |
| 11 |
|
| 12 |
=head1 APPLICABLE SYSTEMS |
| 13 |
|
| 14 |
LibreOffice Online or Collabora Online or Collabora Online Development |
| 15 |
Edition |
| 16 |
|
| 17 |
=head1 CONFIGURATION |
| 18 |
|
| 19 |
Requires installed curl. |
| 20 |
|
| 21 |
Set username, password of admin user and if required an url in your |
| 22 |
munin-node configuration. Default url is |
| 23 |
http://127.0.0.1:9980/lool/getMetrics |
| 24 |
|
| 25 |
[loolwsd] |
| 26 |
env.username <lool_admin> |
| 27 |
env.password <lool_password> |
| 28 |
env.url <lool_getmetrics_url> |
| 29 |
|
| 30 |
You can set an administative user for loolwsd by invoking |
| 31 |
|
| 32 |
loolconfig set-admin-password |
| 33 |
|
| 34 |
=head1 AUTHOR |
| 35 |
|
| 36 |
Copyright (C) 2020 Sebastian L. (https://momou.ch) |
| 37 |
|
| 38 |
=head1 LICENSE |
| 39 |
|
| 40 |
GPLv2 |
| 41 |
|
| 42 |
=head1 MAGIC MARKERS |
| 43 |
|
| 44 |
#%# family=manual |
| 45 |
#%# capabilities=autoconf |
| 46 |
|
| 47 |
=cut |
| 48 |
|
| 49 |
. "$MUNIN_LIBDIR/plugins/plugin.sh" |
| 50 |
|
| 51 |
STATS_URL=${url:-"http://127.0.0.1:9980/lool/getMetrics"}
|
| 52 |
USERNAME="${username:-}"
|
| 53 |
PASSWORD="${password:-}"
|
| 54 |
|
| 55 |
case $1 in |
| 56 |
autoconf) |
| 57 |
if [ -x /usr/bin/loolwsd ]; then |
| 58 |
if [ -x /usr/bin/curl ]; then |
| 59 |
curl -s -f -m 2 -I -u "$USERNAME:$PASSWORD" "$STATS_URL" | grep -iq "Content-Type: text/plain" && echo "yes" && exit 0 || echo "no (invalid or empty response from loolwsd ($STATS_URL)" && exit 0 |
| 60 |
else |
| 61 |
echo "no (/usr/bin/curl not found)" && exit 0 |
| 62 |
fi |
| 63 |
else |
| 64 |
echo "no (/usr/bin/loolwsd not found)" |
| 65 |
exit 0 |
| 66 |
fi |
| 67 |
;; |
| 68 |
|
| 69 |
config) |
| 70 |
echo "multigraph loolwsd_usage" |
| 71 |
echo "graph_title Libreoffice Online Usage" |
| 72 |
echo "graph_category appserver" |
| 73 |
echo "graph_vlabel open documents / active views" |
| 74 |
echo "graph_info This graph shows currently open documents and active views." |
| 75 |
echo "graph_args --base 1000 --lower-limit 0" |
| 76 |
echo "documents.label open documents" |
| 77 |
echo "documents.info Current number of open documents" |
| 78 |
echo "documents.min 0" |
| 79 |
echo "active_views.label active views" |
| 80 |
echo "active_views.info Current number of active views" |
| 81 |
echo "active_views.min 0" |
| 82 |
echo "multigraph loolwsd_memory" |
| 83 |
echo "graph_title Libreoffice Online Memory Usage" |
| 84 |
echo "graph_category appserver" |
| 85 |
echo "graph_vlabel memory usage of libreoffice online" |
| 86 |
echo "graph_info This graph shows currently used memory of libreoffice online." |
| 87 |
echo "graph_args --base 1000 --lower-limit 0" |
| 88 |
echo "memory.label used memory" |
| 89 |
echo "memory.info Currently used memory of libreoffice online" |
| 90 |
echo "memory.min 0" |
| 91 |
exit 0 |
| 92 |
;; |
| 93 |
|
| 94 |
esac |
| 95 |
|
| 96 |
STATS=$(curl -s -f -u "$USERNAME:$PASSWORD" "$STATS_URL") |
| 97 |
echo "multigraph loolwsd_usage" |
| 98 |
echo "documents.value $(echo "$STATS" | grep kit_assigned_count | cut -d " " -f 2)" |
| 99 |
echo "active_views.value $(echo "$STATS" | grep document_active_views_active_count_total | cut -d " " -f 2)" |
| 100 |
echo "multigraph loolwsd_memory" |
| 101 |
echo "memory.value $(echo "$STATS" | grep global_memory_used_bytes | cut -d " " -f 2)" |
