1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/netdata_ynh.git synced 2024-09-03 19:46:33 +02:00

Monitor PostgreSQL if installed through YunoHost helpers

This commit is contained in:
Jimmy Monin 2017-12-26 18:25:51 +01:00
parent dfab6d5473
commit cd1979b58e
3 changed files with 32 additions and 15 deletions

View file

@ -3,10 +3,17 @@
# Common variables
#
pkg_dependencies="zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl jq nodejs python-mysqldb libipmimonitoring-dev acl"
pkg_dependencies="zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl jq nodejs python-mysqldb libipmimonitoring-dev acl python-psycopg2"
# Configure NetData
configure_netdata() {
# Add a web_log entry for every YunoHost domain
netdata_add_yunohost_web_logs
# If PostgreSQL is installed, add a PostgreSQL entry using instance password
netdata_add_yunohost_postgres_configuration
# Create netdata user to monitor MySQL (if needed)
is_mysql_user_existing=$(ynh_mysql_execute_as_root "select user from mysql.user where user = 'netdata';")
if [ -z "$is_mysql_user_existing" ] ; then
@ -29,21 +36,39 @@ configure_netdata() {
systemctl restart netdata
# Store the uninstaller for the removal script
mv ./netdata-uninstaller.sh /opt/netdata/etc/netdata
[ -f ./netdata-uninstaller.sh ] && mv ./netdata-uninstaller.sh /opt/netdata/etc/netdata
}
# Add a web_log entry for every YunoHost domain
netdata_add_yunohost_web_logs () {
echo "# ------------YUNOHOST DOMAINS---------------" >> /opt/netdata/etc/netdata/python.d/web_log.conf
for domain in $(yunohost domain list --output-as plain); do
domain_label=${domain//\./_} # Replace "." by "_" for the domain label
cat >> /opt/netdata/etc/netdata/python.d/web_log.conf <<EOF
local web_log_file="/opt/netdata/etc/netdata/python.d/web_log.conf"
if [ -z "$(grep "YUNOHOST" $web_log_file)" ] ; then
echo "# ------------YUNOHOST DOMAINS---------------" >> $web_log_file
for domain in $(yunohost domain list --output-as plain); do
domain_label=${domain//\./_} # Replace "." by "_" for the domain label
cat >> $web_log_file <<EOF
${domain_label}_log:
name: '${domain_label}'
path: '/var/log/nginx/$domain-access.log'
EOF
done
done
fi
}
# If PostgreSQL is installed, add a PostgreSQL entry using instance password
netdata_add_yunohost_postgres_configuration () {
if [ -f /etc/yunohost/psql ] && [ -z "$(grep "yunohost:" /opt/netdata/etc/netdata/python.d/postgres.conf)" ] ; then
cat >> /opt/netdata/etc/netdata/python.d/postgres.conf <<EOF
yunohost:
name : 'local'
database : 'postgres'
user : 'postgres'
password : '$(cat /etc/yunohost/psql)'
host : 'localhost'
port : 5432
EOF
fi
}
# ============= FUTURE YUNOHOST HELPER =============

View file

@ -93,9 +93,6 @@ ynh_add_nginx_config
pushd $NETDATA_TMPDIR
./netdata-installer.sh --install /opt --dont-wait
# Add a web_log entry for every YunoHost domain
netdata_add_yunohost_web_logs
configure_netdata
# Store the app.src file

View file

@ -94,11 +94,6 @@ rm -f /etc/systemd/system/netdata.service
./netdata-installer.sh --install /opt --dont-wait >&3 2>&3 || ynh_die "FAILED TO COMPILE/INSTALL NETDATA"
# If YunoHost web logs have never been set in netdata configuration, set them
if [ -z "$(grep "YUNOHOST" /opt/netdata/etc/netdata/python.d/web_log.conf)" ] ; then
netdata_add_yunohost_web_logs
fi
configure_netdata
# Store the app.src file