diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2019-08-29 00:27:14 +0200 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2019-08-29 00:27:14 +0200 |
commit | 22d3c280de70895fe5df15d4f57a87be17362a51 (patch) | |
tree | fa7e7c36ffce89fcf5d4f4e609bc76f2417613fb | |
parent | d6e30533d7730331452c5f61a98c9d1eec486a0b (diff) | |
download | munin-22d3c280de70895fe5df15d4f57a87be17362a51.tar.gz munin-22d3c280de70895fe5df15d4f57a87be17362a51.tar.bz2 munin-22d3c280de70895fe5df15d4f57a87be17362a51.tar.xz munin-22d3c280de70895fe5df15d4f57a87be17362a51.zip |
Move datafile lock into the database folder and keep the rest of run files outside of the volume (since UNIX domain sockets can't be created on GlusterFS)
-rw-r--r-- | Dockerfile | 14 | ||||
-rw-r--r-- | munin.conf | 2 | ||||
-rw-r--r-- | patches/munin-ds-datalock.patch | 11 | ||||
-rw-r--r-- | patches/munin-graph-logging.patch (renamed from munin-graph-logging.patch) | 0 | ||||
-rw-r--r-- | patches/munin-update-logging.patch (renamed from munin-update-logging.patch) | 0 | ||||
-rwxr-xr-x | start-munin.sh | 2 | ||||
-rwxr-xr-x | test/start_test.sh | 2 |
7 files changed, 21 insertions, 10 deletions
@@ -6,7 +6,7 @@ ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0. SUPERCRONIC=supercronic-linux-amd64 \ SUPERCRONIC_SHA1SUM=be43e64c45acd6ec4fce5831e03759c89676a0ea -VOLUME /munin +VOLUME /munin/db #Only small temporary files, doesn't need volume #VOLUME /var/lib/nginx @@ -22,8 +22,7 @@ ADD ./munin.conf /etc/munin/munin.conf ADD ./nginx.conf /etc/nginx/nginx.conf ADD ./nginx-munin /etc/nginx/sites-enabled/munin ADD ./start-munin.sh /munin.sh -ADD ./munin-graph-logging.patch /usr/lib/munin -ADD ./munin-update-logging.patch /usr/lib/munin +ADD ./patches /patches # rsyslog is not actually used, but I keep here configuration just in case # Nginx always creates error_log in /var/log/nginx, but doesn't write there if other locating is configured @@ -41,16 +40,17 @@ RUN \ rm -f /etc/nginx/sites-enabled/default && \ \ ln -s /usr/share/webapps/munin/cgi /usr/lib/munin/cgi && \ - cd /usr/lib/munin && patch munin-graph < munin-graph-logging.patch && patch munin-update < munin-update-logging.patch && \ + cd /usr/lib/munin && patch munin-graph < /patches/munin-graph-logging.patch && patch munin-update < /patches/munin-update-logging.patch && \ + cd /usr/share/perl5/vendor_perl/Munin/Master/ && patch Update.pm < /patches/munin-ds-datalock.patch && \ sed -re "/@[[:alnum:]]+/ d; s|munin if|if|" /etc/munin/munin.cron.sample > /etc/munin/munin.cron && \ \ - bash -c "mkdir -p /munin/{db,run,log,www/cache}" && \ + bash -c "mkdir -p /munin/{db,log,www/cache}" && \ ln -s ../www/cache /munin/db/cgi-tmp && \ rm -rf /var/lib/munin/cgi-tmp && \ ln -s /munin/www/cache /var/lib/munin/cgi-tmp && \ \ - chgrp -R root /munin /etc/munin/munin.conf /var/tmp/nginx /var/lib/nginx && \ - chmod -R g+rw /munin /etc/munin/munin.conf /var/tmp/nginx && \ + chgrp -R root /munin /var/run/munin /etc/munin/munin.conf /var/tmp/nginx /var/lib/nginx && \ + chmod -R g+rw /munin /var/run/munin /etc/munin/munin.conf /var/tmp/nginx && \ for name in "/var/tmp/nginx /munin/"; do find $name -type d -print0 | xargs -0 chmod g+x; done EXPOSE 8080 @@ -1,5 +1,5 @@ dbdir /munin/db -rundir /munin/run +rundir /var/run/munin htmldir /munin/www logdir /munin/log diff --git a/patches/munin-ds-datalock.patch b/patches/munin-ds-datalock.patch new file mode 100644 index 0000000..3ec249b --- /dev/null +++ b/patches/munin-ds-datalock.patch @@ -0,0 +1,11 @@ +--- Munin/Master/Update.pm ++++ Munin-ds/Master/Update.pm +@@ -265,7 +265,7 @@ + sub _write_new_service_configs_locked { + my ($self) = @_; + +- my $lock_file = "$config->{rundir}/munin-datafile.lock"; ++ my $lock_file = "$config->{dbdir}/datafile.lock"; + munin_runlock($lock_file); + + my $config_dump_file = $self->{config_dump_file}; diff --git a/munin-graph-logging.patch b/patches/munin-graph-logging.patch index aa4fc56..aa4fc56 100644 --- a/munin-graph-logging.patch +++ b/patches/munin-graph-logging.patch diff --git a/munin-update-logging.patch b/patches/munin-update-logging.patch index 4f8e87b..4f8e87b 100644 --- a/munin-update-logging.patch +++ b/patches/munin-update-logging.patch diff --git a/start-munin.sh b/start-munin.sh index e224de1..564eada 100755 --- a/start-munin.sh +++ b/start-munin.sh @@ -12,7 +12,7 @@ SMTP_MESSAGE_DEFAULT='[${var:group};${var:host}] -> ${var:graph_title} -> warnin SMTP_MESSAGE="${SMTP_MESSAGE:-$SMTP_MESSAGE_DEFAULT}" -mkdir -p /munin/{db,run,log,www/cache} +mkdir -p /munin/{db,log,www/cache} [ -a /munin/db/cgi-tmp ] || ln -s ../www/cache /munin/db/cgi-tmp [ -a /var/lib/munin/cgi-tmp ] || ln -s /munin/www/cache /var/lib/munin/cgi-tmp [ -a /var/log/nginx ] || ln -s /tmp /var/log/nginx diff --git a/test/start_test.sh b/test/start_test.sh index f348c7b..9366ff2 100755 --- a/test/start_test.sh +++ b/test/start_test.sh @@ -10,6 +10,6 @@ basedir="$( cd -P "$( dirname "$0" )" && pwd )/munin" docker run -it \ -u 1001 \ -p 8080:8080 \ - -v $basedir:/munin \ + -v $basedir:/munin/db \ -e NODES="styx:192.168.26.117" \ "$@" |