1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/grafana_ynh.git synced 2024-09-03 20:36:29 +02:00

Merge pull request #22 from YunoHost-Apps/testing

This commit is contained in:
JimboJoe 2020-11-17 18:51:54 +01:00 committed by GitHub
commit 8e3209f3e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 90 additions and 43 deletions

View file

@ -4,6 +4,12 @@ Changelog
## Unreleased ## Unreleased
- Nothing for now... - Nothing for now...
## [7.3.3~ynh1](https://github.com/YunoHost-Apps/grafana_ynh/pull/22) - 2020-11-15
#### Changed
* Upgrade to upstream version 7.3.3
* Migrate NetData configuration from deprecated backend configuration to Exporting Engine configuration
## [7.0.3~ynh1](https://github.com/YunoHost-Apps/grafana_ynh/pull/21) - 2020-06-13 ## [7.0.3~ynh1](https://github.com/YunoHost-Apps/grafana_ynh/pull/21) - 2020-06-13
#### Changed #### Changed

View file

@ -13,7 +13,7 @@ NetData only collects, displays and sets alarms based on data from the last hour
Note: You can use it without NetData, but you'll have to install a collection application (e.g. collectd) to gather data. Note: You can use it without NetData, but you'll have to install a collection application (e.g. collectd) to gather data.
**Shipped version:** 7.0.3 **Shipped version:** 7.3.3
## Screenshots ## Screenshots

View file

@ -6,7 +6,7 @@
"en": "Beautiful metric & analytic dashboards for monitoring", "en": "Beautiful metric & analytic dashboards for monitoring",
"fr": "Tableaux de bords de supervision" "fr": "Tableaux de bords de supervision"
}, },
"version": "7.0.3~ynh1", "version": "7.3.3~ynh1",
"license": "Apache-2.0", "license": "Apache-2.0",
"url": "http://grafana.org/", "url": "http://grafana.org/",
"maintainer": { "maintainer": {

View file

@ -5,7 +5,7 @@
#================================================= #=================================================
# Debian package version for Grafana # Debian package version for Grafana
GRAFANA_VERSION="7.0.3" GRAFANA_VERSION="7.3.3"
# dependencies used by the app # dependencies used by the app
pkg_dependencies="influxdb" pkg_dependencies="influxdb"

View file

@ -82,10 +82,23 @@ ynh_print_info --message="Backing up the InfluxDB database..."
# Backup InfluxDB data # Backup InfluxDB data
# Source: http://stackoverflow.com/questions/39501416/how-to-restore-data-base-using-influxd # Source: http://stackoverflow.com/questions/39501416/how-to-restore-data-base-using-influxd
mkdir influxdb_data mkdir influxdb_data
# Backup only if database exists # Backup only if database exists (compatible with automated tests where NetData is not present)
# That happens when passing automated tests (NetData not present) # and if BACKUP_CORE_ONY/do_not_backup_data not set
BACKUP_CORE_ONLY=${BACKUP_CORE_ONLY:-0}
do_not_backup_data=$(ynh_app_setting_get --app=$app --key=do_not_backup_data)
if [ -d "/var/lib/influxdb/data/opentsdb" ]; then if [ -d "/var/lib/influxdb/data/opentsdb" ]; then
influxd backup -database opentsdb influxdb_data if ( [ ${do_not_backup_data:-0} -eq 1 ] || [ $BACKUP_CORE_ONLY -eq 1 ] )
then
if [ $BACKUP_CORE_ONLY -eq 1 ]
then
ynh_print_warn --message="The InfluxDB database will not be saved, because 'BACKUP_CORE_ONLY' is set."
else
ynh_print_warn --message="The InfluxDB database will not be saved, because 'do_not_backup_data' is set."
fi
else
influxd backup -database opentsdb influxdb_data
fi
fi fi
#================================================= #=================================================

View file

@ -100,26 +100,28 @@ ynh_add_nginx_config
#================================================= #=================================================
ynh_script_progression --message="Configuring Grafana and InfluxDB..." --weight=30 ynh_script_progression --message="Configuring Grafana and InfluxDB..." --weight=30
# If NetData is installed, configure it to feed InfluxDB # If NetData is installed, configure it to feed InfluxDB
netdata_conf="/opt/netdata/etc/netdata/netdata.conf" netdata_conf="/opt/netdata/etc/netdata/exporting.conf"
if [ -f "$netdata_conf" ] ; then if [ -f "$netdata_conf" ] ; then
# If there is already a [backend] section sed -i '/^\[exporting:global\]$/,/^\[/ {
if [ -n "$(cat $netdata_conf | grep '\[backend\]')" ] ; then s/enabled = no/enabled = yes/
# These regexps replaces patterns inside ini [sections] ([backend] section, here) s/# update every = 10/update every = 60/
# (source: https://stackoverflow.com/a/16987794) }' $netdata_conf
sed -i '/^\[backend\]$/,/^\[/ { if [ -z "$(grep "yunohost" $netdata_conf)" ] ; then
s/# enabled = no/enabled = yes/ cat >> $netdata_conf <<EOF
s/# type = graphite/type = opentsdb/ [opentsdb:yunohost]
s/# destination = localhost/destination = localhost:4242/ enabled = yes
s/# update every = 10/update every = 60/ destination = localhost:4242
}' $netdata_conf # data source = average
else # prefix = netdata
# Otherwise create the section # hostname = my_hostname
echo "[backend] update every = 60
enabled = yes # buffer on failures = 10
type = opentsdb # timeout ms = 20000
destination = localhost:4242" | tee -a $netdata_conf # send names instead of ids = yes
# send charts matching = *
# send hosts matching = localhost *
EOF
fi fi
# Restart NetData # Restart NetData
ynh_systemd_action --service_name=netdata --action="restart" ynh_systemd_action --service_name=netdata --action="restart"
fi fi

View file

@ -103,29 +103,55 @@ ynh_install_extra_app_dependencies --repo="deb https://packages.grafana.com/oss/
ynh_script_progression --message="Configuring Grafana and InfluxDB..." --weight=3 ynh_script_progression --message="Configuring Grafana and InfluxDB..." --weight=3
# If NetData is installed, configure it to feed InfluxDB # If NetData is installed, configure it to feed InfluxDB
netdata_conf="/opt/netdata/etc/netdata/netdata.conf" if [ -d "/opt/netdata" ] ; then
if [ -f "$netdata_conf" ] ; then netdata_conf="/opt/netdata/etc/netdata/exporting.conf"
# If there is already a [backend] section if [ ! -f $netdata_conf ] ; then
if [ -n "$(cat $netdata_conf | grep '\[backend\]')" ] ; then cp /opt/netdata/usr/lib/netdata/conf.d/exporting.conf $netdata_conf
# These regexps replaces patterns inside ini [sections] ([backend] section, here) fi
sed -i '/^\[backend\]$/,/^\[/ { sed -i '/^\[exporting:global\]$/,/^\[/ {
s/# enabled = no/enabled = yes/ s/enabled = no/enabled = yes/
s/# type = graphite/type = opentsdb/ s/# update every = 10/update every = 60/
s/# destination = localhost/destination = localhost:4242/ }' $netdata_conf
s/# update every = 10/update every = 60/ if [ -z "$(grep "yunohost" $netdata_conf)" ] ; then
}' $netdata_conf cat >> $netdata_conf <<EOF
else [opentsdb:yunohost]
# Otherwise create the section enabled = yes
echo "[backend] destination = localhost:4242
enabled = yes # data source = average
type = opentsdb # prefix = netdata
destination = localhost:4242" | tee -a $netdata_conf # hostname = my_hostname
update every = 60
# buffer on failures = 10
# timeout ms = 20000
# send names instead of ids = yes
# send charts matching = *
# send hosts matching = localhost *
EOF
fi fi
# Restart NetData # Remove obsolete NetData backend if in use
ynh_systemd_action --service_name=netdata --action="restart" netdata_conf="/opt/netdata/etc/netdata/netdata.conf"
if [ -f "$netdata_conf" ] ; then
# If there is already a [backend] section
if [ -n "$(cat $netdata_conf | grep '\[backend\]')" ] ; then
# These regexps replaces patterns inside ini [sections] ([backend] section, here)
sed -i '/^\[backend\]$/,/^\[/ {
s/enabled = yes/enabled = no/
}' $netdata_conf
else
# Otherwise create the section
echo "[backend]
enabled = yes
type = opentsdb
destination = localhost:4242" | tee -a $netdata_conf
fi
fi
# Restart NetData
ynh_systemd_action --service_name=netdata --action="restart"
fi fi
# Update default dashboard for NetData (source: https://grafana.com/grafana/dashboards/2701) # Update default dashboard for NetData (source: https://grafana.com/grafana/dashboards/2701)
# Remove new lines # Remove new lines
tr -d '\n' < ../conf/netdata_dashboard.json > dashboard.json tr -d '\n' < ../conf/netdata_dashboard.json > dashboard.json