[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-grid5k] 47/141: fix promtail, add helper function script
From: |
gnunet |
Subject: |
[taler-grid5k] 47/141: fix promtail, add helper function script |
Date: |
Thu, 18 Nov 2021 14:49:48 +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 1c889ac8f0085c1fd66ceef6c236297d085220e0
Author: Boss Marco <bossm8@bfh.ch>
AuthorDate: Thu Oct 14 22:42:50 2021 +0200
fix promtail, add helper function script
---
configs/etc/monitor/promtail.yaml | 4 ++--
experiment/scripts/exchange.sh | 43 ++++++++++++++-------------------------
experiment/scripts/helpers.sh | 40 ++++++++++++++++++++++++++++++++++++
experiment/scripts/monitor.sh | 23 ++++-----------------
experiment/scripts/proxy.sh | 24 ++++++++--------------
experiment/scripts/wallet.sh | 18 +++++++---------
experiment/setup.sh | 5 ++---
7 files changed, 79 insertions(+), 78 deletions(-)
diff --git a/configs/etc/monitor/promtail.yaml
b/configs/etc/monitor/promtail.yaml
index 4cabeb1..1643765 100644
--- a/configs/etc/monitor/promtail.yaml
+++ b/configs/etc/monitor/promtail.yaml
@@ -6,12 +6,12 @@ positions:
filename: /tmp/positions.yaml
clients:
- - url: http://localhost/loki/api/v1/push
+ - url: http://127.0.0.1/loki/api/v1/push
scrape_configs:
- job_name: taler
syslog:
- listen_address: 127.0.0.1:1514
+ listen_address: 0.0.0.0:1514
labels:
job: taler
relabel_configs:
diff --git a/experiment/scripts/exchange.sh b/experiment/scripts/exchange.sh
index 45489ed..1fb6ae0 100755
--- a/experiment/scripts/exchange.sh
+++ b/experiment/scripts/exchange.sh
@@ -1,51 +1,38 @@
#!/bin/bash
set -eux
+source ~/scripts/helpers.sh
+
+# remove later
+apt install -y net-tools netcat
+
+restart_rsyslog
+
sed -i
"s\<DB_URL_HERE>\postgresql://${DB_USER}:${DB_PASSWORD}@${DATABASE_DOMAIN}/${DB_NAME}\g"
\
/etc/taler/secrets/exchange-db.secret.conf
sed -i "s/<BANK_HOST_HERE>/${BANK_DOMAIN}/g" \
/etc/taler/secrets/exchange-accountcredentials.secret.conf
-sed -i "s/<BANK_HOST_HERE>/${BANK_DOMAIN}/g" \
- /etc/taler/conf.d/exchange-business.conf
-
-sed -i "s\<BASE_URL_HERE>\http://${EXCHANGE_DOMAIN}/\g" \
- /etc/taler/conf.d/exchange-business.conf
-
MASTER_KEY=$(sudo -u taler-exchange-offline taler-exchange-offline setup)
-sed -i "s/<MASTER_KEY_HERE>/${MASTER_KEY}/g" \
+sed -i -e "s/<BANK_HOST_HERE>/${BANK_DOMAIN}/g" \
+ -e "s\<BASE_URL_HERE>\http://${EXCHANGE_DOMAIN}/\g" \
+ -e "s/<MASTER_KEY_HERE>/${MASTER_KEY}/g" \
/etc/taler/conf.d/exchange-business.conf
-until PGPASSWORD="${DB_PASSWORD}" psql \
- -h "${DATABASE_DOMAIN}" \
- -U "${DB_USER}" \
- -d "${DB_NAME}" \
- -c '\q';
-do
- echo "Database not ready yet"
- sleep 2
-done
-
+wait_for_db
+# Wait another second to make sure user has permissions
sleep 1
systemctl restart taler-exchange.target
-for i in {0..${NUM_EXCHANGE_PROCESSES}} ;
+for (( i=1; i < ${NUM_EXCHANGE_PROCESSES}; i++ ))
do
- systemctl restart taler-exchange-httpd@808${i}.socket
taler-exchange-httpd@808${i}.service
+ systemctl restart taler-exchange-httpd@808"${i}".socket
taler-exchange-httpd@808"${i}".service
done
-until wget http://${EXCHANGE_DOMAIN}/management/keys \
- --spider \
- --timeout=5 \
- --tries=1 \
- --quiet;
-do
- echo "Exchange not ready yet"
- sleep 5
-done
+wait_for_keys "${EXCHANGE_DOMAIN}/management"
taler-exchange-offline download > sig-req.json
taler-exchange-offline sign < sig-req.json > sig-res.json
diff --git a/experiment/scripts/helpers.sh b/experiment/scripts/helpers.sh
new file mode 100644
index 0000000..6c82409
--- /dev/null
+++ b/experiment/scripts/helpers.sh
@@ -0,0 +1,40 @@
+#/!bin/bash
+set -eux
+
+function wait_for_db() {
+ until PGPASSWORD="${DB_PASSWORD}" psql \
+ -h "${DATABASE_DOMAIN}" \
+ -U "${DB_USER}" \
+ -d "${DB_NAME}" \
+ -c '\q';
+ do
+ echo "Database not ready yet"
+ sleep 2
+ done
+}
+
+# Arguments
+# 1: Domain to request /keys from
+function wait_for_keys() {
+ until wget http://${1}/keys \
+ --spider \
+ --timeout=5 \
+ --tries=1 \
+ --quiet;
+ do
+ echo "Exchange not ready yet"
+ sleep 5
+ done
+}
+
+function restart_rsyslog() {
+ # rsyslg fails to apply the taler rule if remote is not reachable
+ while ! nc -z ${MONITOR_DOMAIN} 1514;
+ do
+ echo "Waiting for promtail"
+ sleep 2
+ done
+
+ systemctl restart rsyslog
+}
+
diff --git a/experiment/scripts/monitor.sh b/experiment/scripts/monitor.sh
index 3c001af..54a29e4 100755
--- a/experiment/scripts/monitor.sh
+++ b/experiment/scripts/monitor.sh
@@ -1,6 +1,8 @@
#!/bin/bash
set -eux
+source ~/scripts/helper.sh
+
AUTH_HEADER="Authorization: Bearer ${GRAFANA_API_KEY}"
GRAFANA_API="https://$(host ${DNS_HOST} | sed -n 1p | awk '{print
$4}'):3000/api"
@@ -38,27 +40,10 @@ sed -i
"s\<DB_URL_HERE>\postgresql://postgres@${DATABASE_DOMAIN}:5432\g" \
sed -i "s\<PROXY_URL_HERE>\http://${PROXY_DOMAIN}/stub_status\g" \
/etc/default/prometheus-nginx-exporter
-until PGPASSWORD="${DB_PASSWORD}" psql \
- -h "${DATABASE_DOMAIN}" \
- -U "${DB_USER}" \
- -d "${DB_NAME}" \
- -c '\q';
-do
- echo "Database not ready yet"
- sleep 2
-done
+wait_for_db
# Proxy takes longer to start
-
-until wget http://${PROXY_DOMAIN}/keys \
- --spider \
- --timeout=5 \
- --tries=1 \
- --quiet;
-do
- echo "Exchange not ready yet"
- sleep 5
-done
+wait_for_keys "${PROXY_DOMAIN}"
systemctl restart prometheus-postgres-exporter \
prometheus-nginx-exporter
diff --git a/experiment/scripts/proxy.sh b/experiment/scripts/proxy.sh
index eec9bc8..7254aa4 100755
--- a/experiment/scripts/proxy.sh
+++ b/experiment/scripts/proxy.sh
@@ -1,24 +1,18 @@
#!/bin/bash
set -eux
-sed "s\<EXCHANGE_URL_HERE>\http://${EXCHANGE_DOMAIN}\g" \
- /etc/nginx/sites-available/proxy > /etc/nginx/sites-enabled/proxy
+sed $"/<SERVERS_HERE>/a \ \ server ${EXCHANGE_DOMAIN}:80;" \
+ /etc/nginx/sites-available/proxy > /etc/nginx/sites-enabled/proxy
-for i in {0..${NUM_EXCHANGE_PROCESSES}} ;
+# We want n processes, one is already enabled on port 80
+for (( i=1; i < ${NUM_EXCHANGE_PROCESSES}; i++ ))
do
- sed -i "\<SERVERS_HERE>\server ${EXCHANGE_DOMAIN}:808${i};"
+ sed -i $"/<SERVERS_HERE>/a \ \ server ${EXCHANGE_DOMAIN}:808${i};" \
+ /etc/nginx/sites-enabled/proxy
done
-sed -i "\<SERVERS_HERE>\server ${EXCHANGE_DOMAIN}:80;"
-
-# Nginx does not start until the destination server is reachable - wait here
+# Nginx does not start until the destination server is reachable - wait here
# nginx: [emerg] host not found in upstream "exch.perf.taler" ...
-until wget http://${EXCHANGE_DOMAIN}/keys \
- --spider \
- -q;
-do
- echo "Exchange not ready yet"
- sleep 5
-done
+wait_for_keys "${EXCHANGE_DOMAIN}"
-systemctl restart nginx
+systemctl restart nginx
diff --git a/experiment/scripts/wallet.sh b/experiment/scripts/wallet.sh
index f4370ec..ea452df 100755
--- a/experiment/scripts/wallet.sh
+++ b/experiment/scripts/wallet.sh
@@ -1,15 +1,11 @@
#!/bin/bash
set -eux
-until wget http://${PROXY_DOMAIN}/keys \
- --spider \
- --timeout=5 \
- --tries=1 \
- --quiet;
-do
- echo "Exchange not ready yet"
- sleep 5
-done
-
-taler-wallet-cli advanced withdraw-manually --exchange http://${PROXY_DOMAIN}/
--amount KUDOS:10
+source ~/scripts/helpers.sh
+
+wait_for_keys "${PROXY_DOMAIN}"
+
+taler-wallet-cli advanced withdraw-manually \
+ --exchange "http://${PROXY_DOMAIN}/" \
+ --amount KUDOS:10
diff --git a/experiment/setup.sh b/experiment/setup.sh
index 758798f..bb3e4d8 100644
--- a/experiment/setup.sh
+++ b/experiment/setup.sh
@@ -22,9 +22,6 @@ cp -r "${G5K_HOME}"/configs/* /
sed -i "s/<MONITOR_DOMAIN_HERE>/${MONITOR_DOMAIN}/g" \
/etc/rsyslog.d/taler.conf
-# Apply our logging rules
-systemctl restart rsyslog
-
# Add the dyndns key which will be used by the dns update
cat << EOF > /root/ddns.key
key "ddns-key.perf.taler" {
@@ -40,4 +37,6 @@ if ! grep -Fxq "nameserver ${NS_IP}" /etc/resolv.conf ; then
nameserver ${NS_IP}" /etc/resolv.conf
fi
+systemctl daemon-reload
+
exit 0
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-grid5k] 25/141: remove resolv.conf, (continued)
- [taler-grid5k] 25/141: remove resolv.conf, gnunet, 2021/11/18
- [taler-grid5k] 16/141: add var for bind, gnunet, 2021/11/18
- [taler-grid5k] 30/141: add script order, gnunet, 2021/11/18
- [taler-grid5k] 70/141: update wallet logs, gnunet, 2021/11/18
- [taler-grid5k] 15/141: update scripts, gnunet, 2021/11/18
- [taler-grid5k] 03/141: update image, gnunet, 2021/11/18
- [taler-grid5k] 34/141: set retry times to 1, gnunet, 2021/11/18
- [taler-grid5k] 65/141: update promtail config, gnunet, 2021/11/18
- [taler-grid5k] 31/141: update scripts, gnunet, 2021/11/18
- [taler-grid5k] 57/141: configure nginx logging to syslog, gnunet, 2021/11/18
- [taler-grid5k] 47/141: fix promtail, add helper function script,
gnunet <=
- [taler-grid5k] 45/141: add rsyslog config for better performance with loki, gnunet, 2021/11/18
- [taler-grid5k] 48/141: fix script imports, add net packages, gnunet, 2021/11/18
- [taler-grid5k] 46/141: mulitple exch processes possible - syslog configuredwq, gnunet, 2021/11/18
- [taler-grid5k] 62/141: fix rsyslog and wallet log messages, gnunet, 2021/11/18
- [taler-grid5k] 19/141: add nameserver to /etc/resolv only if not there yet, gnunet, 2021/11/18
- [taler-grid5k] 41/141: fix prometheus, gnunet, 2021/11/18
- [taler-grid5k] 64/141: update promtail - issues with too many open files when too much labels are assigned, gnunet, 2021/11/18
- [taler-grid5k] 72/141: configure postgres, gnunet, 2021/11/18
- [taler-grid5k] 40/141: update configurations, gnunet, 2021/11/18
- [taler-grid5k] 32/141: add taler default env, gnunet, 2021/11/18