gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-grid5k] 46/141: mulitple exch processes possible - syslog configu


From: gnunet
Subject: [taler-grid5k] 46/141: mulitple exch processes possible - syslog configuredwq
Date: Thu, 18 Nov 2021 14:49:47 +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 f83ab80253f51bf7139a2b67828a8e8d85cd55f8
Author: Boss Marco <bossm8@bfh.ch>
AuthorDate: Thu Oct 14 16:09:54 2021 +0200

    mulitple exch processes possible - syslog configuredwq
---
 configs/etc/monitor/promtail.yaml                  | 22 +++++++++++++++-------
 configs/etc/nginx/sites-available/proxy            | 13 +++++++++----
 configs/etc/rsyslog.d/taler.conf                   | 17 ++++++++++++++---
 .../systemd/system/taler-exchange-httpd@.service   |  3 +--
 .../systemd/system/taler-exchange-httpd@.socket    |  6 +++---
 experiment/env                                     |  2 ++
 experiment/scripts/exchange.sh                     |  7 +++++--
 experiment/scripts/monitor.sh                      |  3 ++-
 experiment/scripts/proxy.sh                        |  7 +++++++
 experiment/setup.sh                                |  4 ++++
 notes.txt                                          |  6 ++++++
 11 files changed, 68 insertions(+), 22 deletions(-)

diff --git a/configs/etc/monitor/promtail.yaml 
b/configs/etc/monitor/promtail.yaml
index 231d5b6..4cabeb1 100644
--- a/configs/etc/monitor/promtail.yaml
+++ b/configs/etc/monitor/promtail.yaml
@@ -6,13 +6,21 @@ positions:
   filename: /tmp/positions.yaml
 
 clients:
-  - url: http://monitor.perf.taler/loki/api/v1/push
+  - url: http://localhost/loki/api/v1/push
 
 scrape_configs:
-- job_name: system
-  static_configs:
-  - targets:
-    - localhost
+- job_name: taler
+  syslog:
+    listen_address: 127.0.0.1:1514
     labels:
-      job: varlogs
-      __path__: /var/log/*log
+      job: taler
+  relabel_configs:
+    - source_labels: [__syslog_message_severity]
+      target_label: severity
+    - source_labels: [__syslog_message_app_name]
+      target_label: app
+    - source_labels: [__syslog_message_proc_id]
+      target_label: proc_id
+    - source_labels: [__syslog_message_hostname]
+      target_label: host
+
diff --git a/configs/etc/nginx/sites-available/proxy 
b/configs/etc/nginx/sites-available/proxy
index 487418e..a7e3978 100644
--- a/configs/etc/nginx/sites-available/proxy
+++ b/configs/etc/nginx/sites-available/proxy
@@ -1,3 +1,11 @@
+upstream exchange {
+  least_conn;
+  # EXCHANGE_PROCESSES e.g.
+  # server exch.perf.taler:8080;
+  # server exch.perf.taler:80;
+  # <SERVERS_HERE>
+}
+
 server {
   listen 80;
   listen [::]:80;
@@ -8,17 +16,14 @@ server {
   deny all;
 
   location / {
-     proxy_pass <EXCHANGE_URL_HERE>;
+     proxy_pass http://exchange;
      proxy_redirect off;
      proxy_set_header Host $host;
-     #proxy_set_header X-Forwarded-Host "example.com";
-     #proxy_set_header X-Forwarded-Proto "https";
   }
 
   location /stub_status {
      stub_status;
      access_log off;
   }
-
 }
 
diff --git a/configs/etc/rsyslog.d/taler.conf b/configs/etc/rsyslog.d/taler.conf
index 78ad873..a3bf562 100644
--- a/configs/etc/rsyslog.d/taler.conf
+++ b/configs/etc/rsyslog.d/taler.conf
@@ -1,4 +1,15 @@
-$template TALER_LOGS,"/var/log/%programname%.log"
+module(load="omprog")
+# Need to load due to parser error https://github.com/grafana/loki/issues/1783
+module(load="mmutf8fix")
+if $programname startswith 'taler' then {
+  action(type="mmutf8fix" replacementChar="?")
+  action(type="omfwd"
+         protocol="tcp"
+         target="<MONITOR_DOMAIN_HERE>"
+         port="1514"
+         Template="RSYSLOG_SyslogProtocol23Format"
+         TCP_Framing="octet-counted"
+         KeepAlive="on")
+  & stop
+}
 
-if $programname startswith 'taler' then ?TALER_LOGS
-& stop
diff --git a/configs/usr/lib/systemd/system/taler-exchange-httpd@.service 
b/configs/usr/lib/systemd/system/taler-exchange-httpd@.service
index de5acde..c9d372e 100755
--- a/configs/usr/lib/systemd/system/taler-exchange-httpd@.service
+++ b/configs/usr/lib/systemd/system/taler-exchange-httpd@.service
@@ -1,7 +1,7 @@
 [Unit]
 Description=GNU Taler payment system exchange REST API at %I
 AssertPathExists=/run/taler/exchange-httpd
-Requires=taler-exchange-httpd@%I.socket taler-exchange-secmod-rsa.service 
taler-exchange-secmod-eddsa.service
+Requires=taler-exchange-httpd@%i.socket taler-exchange-secmod-rsa.service 
taler-exchange-secmod-eddsa.service
 After=postgres.service network.target taler-exchange-secmod-rsa.service 
taler-exchange-secmod-eddsa.service
 PartOf=taler-exchange.target
 
@@ -19,4 +19,3 @@ ProtectSystem=full
 
 [Install]
 WantedBy=multi-user.target
-
diff --git a/configs/usr/lib/systemd/system/taler-exchange-httpd@.socket 
b/configs/usr/lib/systemd/system/taler-exchange-httpd@.socket
index 79e3100..3f25eb3 100755
--- a/configs/usr/lib/systemd/system/taler-exchange-httpd@.socket
+++ b/configs/usr/lib/systemd/system/taler-exchange-httpd@.socket
@@ -1,11 +1,11 @@
 [Unit]
 Description=Taler Exchange Socket at %I
-PartOf=taler-exchange-httpd.service
+PartOf=taler-exchange-httpd@%i.service
 
 [Socket]
-ListenStream=%I
+ListenStream=%i
 Accept=no
-Service=taler-exchange-httpd.service
+Service=taler-exchange-httpd@%i.service
 SocketUser=taler-exchange-httpd
 SocketGroup=www-data
 SocketMode=0660
diff --git a/experiment/env b/experiment/env
index d8c6ced..cdb0dd5 100755
--- a/experiment/env
+++ b/experiment/env
@@ -24,5 +24,7 @@ DB_NAME=taler-exchange
 DB_USER=taler
 DB_PASSWORD=
 
+NUM_EXCHANGE_PROCESSES=1
+
 DYNDNS_KEY=
 GRAFANA_API_KEY=
diff --git a/experiment/scripts/exchange.sh b/experiment/scripts/exchange.sh
index 8871721..45489ed 100755
--- a/experiment/scripts/exchange.sh
+++ b/experiment/scripts/exchange.sh
@@ -1,8 +1,6 @@
 #!/bin/bash
 set -eux
 
-systemctl restart promtail
-
 sed -i 
"s\<DB_URL_HERE>\postgresql://${DB_USER}:${DB_PASSWORD}@${DATABASE_DOMAIN}/${DB_NAME}\g"
 \
        /etc/taler/secrets/exchange-db.secret.conf
 
@@ -34,6 +32,11 @@ sleep 1
 
 systemctl restart taler-exchange.target
 
+for i in {0..${NUM_EXCHANGE_PROCESSES}} ;
+do
+  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 \
diff --git a/experiment/scripts/monitor.sh b/experiment/scripts/monitor.sh
index fea91e6..3c001af 100755
--- a/experiment/scripts/monitor.sh
+++ b/experiment/scripts/monitor.sh
@@ -29,7 +29,8 @@ update_datasource "${PROMETHEUS_DATASOURCE_NAME}" 
"${PROMETHEUS_G5K_PROXY_PORT}"
 update_datasource "${LOKI_DATASOURCE_NAME}" "${LOKI_G5K_PROXY_PORT}"
 
 systemctl restart prometheus \
-                 loki
+                 loki \
+                 promtail
 
 sed -i "s\<DB_URL_HERE>\postgresql://postgres@${DATABASE_DOMAIN}:5432\g" \
        /etc/default/prometheus-postgres-exporter
diff --git a/experiment/scripts/proxy.sh b/experiment/scripts/proxy.sh
index f03cbe0..eec9bc8 100755
--- a/experiment/scripts/proxy.sh
+++ b/experiment/scripts/proxy.sh
@@ -4,6 +4,13 @@ set -eux
 sed "s\<EXCHANGE_URL_HERE>\http://${EXCHANGE_DOMAIN}\g"; \
        /etc/nginx/sites-available/proxy > /etc/nginx/sites-enabled/proxy
 
+for i in {0..${NUM_EXCHANGE_PROCESSES}} ;
+do
+  sed -i "\<SERVERS_HERE>\server ${EXCHANGE_DOMAIN}:808${i};"
+done
+
+sed -i "\<SERVERS_HERE>\server ${EXCHANGE_DOMAIN}:80;"
+
 # 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 \
diff --git a/experiment/setup.sh b/experiment/setup.sh
index 210b814..758798f 100644
--- a/experiment/setup.sh
+++ b/experiment/setup.sh
@@ -18,6 +18,10 @@ rm /etc/nginx/sites-enabled/default > /dev/null 2>&1 || true
 # Override default configurations with the one from this Git.
 cp -r "${G5K_HOME}"/configs/* /
 
+# Send all logs about taler to promtail on the monitoring node
+sed -i "s/<MONITOR_DOMAIN_HERE>/${MONITOR_DOMAIN}/g" \
+       /etc/rsyslog.d/taler.conf
+
 # Apply our logging rules
 systemctl restart rsyslog
 
diff --git a/notes.txt b/notes.txt
index 5875d7c..90f8307 100644
--- a/notes.txt
+++ b/notes.txt
@@ -6,5 +6,11 @@
 * jFed: Error do not clearly show which nodes failed allocating
   its hard to detect problems when using many nodes - should be clearer
   bsp error: Some requiered resource was not available at this time. (which?!)
+* only show nodes which are available for users - e.g. not neovise
 * jFed: Changing Node or HW type does sometimes not apply and is not saved
 * Online status monitoing not up to date
+* Very common error:
+  <h1>Proxy Error</h1>
+    <p>The proxy server received an invalid
+    response from an upstream server.<br />
+    The proxy server could not handle the request<p>Reason: <strong>Error 
reading from remote server</strong></p></p>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]