[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-grid5k] 127/141: add log backup
From: |
gnunet |
Subject: |
[taler-grid5k] 127/141: add log backup |
Date: |
Thu, 18 Nov 2021 14:51:08 +0100 |
This is an automated email from the git hooks/post-receive script.
marco-boss pushed a commit to branch master
in repository grid5k.
commit 9cefaca85dab5121d21f08dcbf0028d31cc6b0cf
Author: Boss Marco <bossm8@bfh.ch>
AuthorDate: Fri Nov 12 11:52:13 2021 +0100
add log backup
---
configs/etc/rsyslog.d/taler.conf | 5 +++++
configs/usr/lib/systemd/system/taler-logbackup.service | 11 +++++++++++
configs/usr/lib/systemd/system/taler-logbackup.timer | 10 ++++++++++
experiment/run.sh | 4 ++++
experiment/scripts/log-save.sh | 13 +++++++++++--
experiment/setup.sh | 9 +++++----
6 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/configs/etc/rsyslog.d/taler.conf b/configs/etc/rsyslog.d/taler.conf
index ce535a7..34bcc72 100644
--- a/configs/etc/rsyslog.d/taler.conf
+++ b/configs/etc/rsyslog.d/taler.conf
@@ -1,7 +1,10 @@
module(load="omprog")
# Need to load due to parser error https://github.com/grafana/loki/issues/1783
module(load="mmutf8fix")
+
+# Set the filename for the log backup
$template FileName,"/tmp/taler/%programname%.log"
+
if ($programname startswith 'taler' or $syslogtag startswith 'taler') then {
action(type="mmutf8fix" replacementChar="?")
#
https://grafana.com/docs/loki/latest/clients/promtail/scraping/#rsyslog-output-configuration
@@ -12,7 +15,9 @@ if ($programname startswith 'taler' or $syslogtag startswith
'taler') then {
Template="RSYSLOG_SyslogProtocol23Format"
TCP_Framing="octet-counted"
KeepAlive="on")
+ # Write all logs also to the file - will periodcally be rotaded by
taler-logbackup.service
*.* ?FileName
+ # Do not do any further steps with logs which matched this rule
& stop
}
diff --git a/configs/usr/lib/systemd/system/taler-logbackup.service
b/configs/usr/lib/systemd/system/taler-logbackup.service
new file mode 100644
index 0000000..ed81bc6
--- /dev/null
+++ b/configs/usr/lib/systemd/system/taler-logbackup.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Compresses and moves taler logs to the grid5000 nfs
+Wants=taler-logbackup.timer
+
+[Service]
+EnvironmentFile=/etc/environment
+Type=oneshot
+ExecStart=/root/scripts/log-save.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/configs/usr/lib/systemd/system/taler-logbackup.timer
b/configs/usr/lib/systemd/system/taler-logbackup.timer
new file mode 100644
index 0000000..a602e2b
--- /dev/null
+++ b/configs/usr/lib/systemd/system/taler-logbackup.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Compresses and moves taler logs to the grid5000 nfs
+Requires=taler-logbackup.service
+
+[Timer]
+Unit=taler-logbackup.service
+OnCalendar=*:0/10
+
+[Install]
+WantedBy=timers.target
diff --git a/experiment/run.sh b/experiment/run.sh
index 93c6066..36ab35c 100644
--- a/experiment/run.sh
+++ b/experiment/run.sh
@@ -29,6 +29,10 @@ function enable_netdelay() {
systemctl restart taler-netdelay.timer
}
+function enable_logbackup() {
+
+}
+
if [[ "${ENABLE_EXPORTERS}" == "true" ]];
then
systemctl restart prometheus-node-exporter
diff --git a/experiment/scripts/log-save.sh b/experiment/scripts/log-save.sh
index 81e2a74..bbdfe74 100755
--- a/experiment/scripts/log-save.sh
+++ b/experiment/scripts/log-save.sh
@@ -1,4 +1,6 @@
#!/bin/bash
+# Runs logrotate on the logs written to LOG_DIR
+# Assumes rsyslog to be configured to log files there
LOG_DIR=/tmp/taler
@@ -8,5 +10,12 @@ if [ ! -d "${EXPORT_DIR}" ]; then
mkdir "${EXPORT_DIR}"
fi
-logrotate -f /etc/logrotate.d/taler
-cp ${LOG_DIR}/*.gz ${EXPORT_DIR}
+logrotate /etc/logrotate.d/taler
+
+TS=$(date +%s)
+
+if [ -d "${LOG_DIR}" ]; then
+ for FILE in $(find ${LOG_DIR} -iname "*.gz"); do
+ mv ${FILE} ${EXPORT_DIR}/$(basename -- ${FILE%.gz}.${TS}.gz)
+ done
+fi
diff --git a/experiment/setup.sh b/experiment/setup.sh
index d06e444..f27e03c 100644
--- a/experiment/setup.sh
+++ b/experiment/setup.sh
@@ -3,6 +3,7 @@
set -euax
source .env
+# Add the environment config for following shells
cat .env | tee -a /etc/environment
echo "G5K_USER=$(cat experiment-info.json | jq -r '.user.name')" >>
/etc/environment
@@ -23,9 +24,6 @@ cp -r "${G5K_HOME}"/configs/* /
sed -i "s/<MONITOR_DOMAIN_HERE>/${MONITOR_DOMAIN}/g" \
/etc/rsyslog.d/taler.conf
-echo "*/10 * * * * root /bin/bash /root/scripts/log-save.sh" \
- >> /etc/crontab
-
# Add the dyndns key which will be used by the dns update
cat << EOF > /root/ddns.key
key "ddns-key.perf.taler" {
@@ -35,6 +33,8 @@ key "ddns-key.perf.taler" {
EOF
if ! grep -Fxq "server=/${DNS_ZONE}/${NS_IP}" /etc/dnsmasq.conf ; then
+
+ # Read grid5k DNS servers from resolv.conf and add them to dnsmasq
grep nameserver /etc/resolv.conf | \
awk '{print "server="$2}' \
>> /etc/dnsmasq.conf
@@ -42,10 +42,11 @@ if ! grep -Fxq "server=/${DNS_ZONE}/${NS_IP}"
/etc/dnsmasq.conf ; then
echo "server=/${DNS_ZONE}/${NS_IP}" >> /etc/dnsmasq.conf
fi
+# Set dnsmasq to be the resolver
echo "nameserver 127.0.0.1" > /etc/resolv.conf
systemctl daemon-reload
-systemctl restart dnsmasq
+systemctl restart dnsmasq
if [ -f ~/taler-perf.sh ]; then
mv ~/taler-perf.sh /usr/local/bin/taler-perf
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-grid5k] 22/141: add proxy, (continued)
- [taler-grid5k] 22/141: add proxy, gnunet, 2021/11/18
- [taler-grid5k] 37/141: update image, gnunet, 2021/11/18
- [taler-grid5k] 51/141: add tests with parallel, gnunet, 2021/11/18
- [taler-grid5k] 55/141: add possibilty for dynamic amount of wallets, gnunet, 2021/11/18
- [taler-grid5k] 133/141: use systemd-resolved instead of dnsmasq, gnunet, 2021/11/18
- [taler-grid5k] 97/141: fix variables in image script, gnunet, 2021/11/18
- [taler-grid5k] 96/141: fix merchant path, gnunet, 2021/11/18
- [taler-grid5k] 82/141: add ping, gnunet, 2021/11/18
- [taler-grid5k] 117/141: start processes with argument to script, gnunet, 2021/11/18
- [taler-grid5k] 103/141: update wallet domain name settings, gnunet, 2021/11/18
- [taler-grid5k] 127/141: add log backup,
gnunet <=
- [taler-grid5k] 129/141: add config vor exchange via environment, gnunet, 2021/11/18
- [taler-grid5k] 140/141: move to master for wallet, enable logbackup for bank, gnunet, 2021/11/18
- [taler-grid5k] 108/141: fix variable names, gnunet, 2021/11/18
- [taler-grid5k] 138/141: re-enable sanitizer, gnunet, 2021/11/18
- [taler-grid5k] 119/141: update espec - add taler-perf utility, gnunet, 2021/11/18
- [taler-grid5k] 126/141: add log backup and update dns config for nfs, gnunet, 2021/11/18
- [taler-grid5k] 124/141: use kameleon nfs image, gnunet, 2021/11/18
- [taler-grid5k] 118/141: add wirewatch systemd template, gnunet, 2021/11/18
- [taler-grid5k] 102/141: update merchant configuration, gnunet, 2021/11/18
- [taler-grid5k] 79/141: fix wallet build, gnunet, 2021/11/18