Gå till slutet av bannern
Gå till början av bannern

SKLTP TAK - Monitor

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 7 Aktuell »

Under utveckling

TAK version 3.2.0 och senare innehåller en övervakningstjänst “tak-monitor”. Syftet med denna är att bevaka publicering av nya versioner och propagera dessa till de komponenter som använder data från TAK.

Det huvudsakliga användningsområdet är i Kubernetes-installationer av SKLTP men tjänsten kan även användas i andra driftmiljöer.

Funktion

Senaste publicerad version kontrolleras vid uppstart samt med regelbundet intervall (default 60 sekunder).

  • Om en förändring har skett sedan föregående läsning (eller det är första kontrollen efter uppstart) så anropas “reset cache” för tak-services och övriga komponenter.

  • Om det inte skett någon förändring så händer inget mer förrän nästa intervall.

I det enklaste fallet är det en statisk lista med URL:er som anropas i angiven följd vid “reset cache”. I en Kubernetes-installation finns även möjlighet att dynamiskt slå upp vilka poddar som är aktiva med hjälp av Kubernetes API.

Installation

Tjänsten är levereras som en war-fil och kan installeras i t.ex. Tomcat på liknande sätt som tak-web och tak-services.

Exempel på paketering med Dockerfile samt Helm chart finns med i källkoden.

Konfiguration

Tjänsten bygger på Spring Boot och stödjer dess olika format för konfiguration. Nedan följer två exempel, med fil respektive miljövariabler.

Reset sker i den ordning som anges i listan. Det är viktigt att alla instanser av tak-services anges i början av listan då dessa påverkar övriga komponenter.

Statisk konfiguration med fil

Följande rader kan läggas till i den gemensamma filen tak-application.properties, SKLTP TAK - Konfiguration - version 3.0 och senare). Genom att den gemensamma filen återanvänds databas-konfigurationen.

# Poll interval in ms (default value)
tak.monitor.interval=60000

# No pod lookup (default value)
tak.monitor.reset.use-pod-lookup=false

# List of static reset URLs
tak.monitor.reset.nodes[0].url=http://tomcat1.example.com:8080/tak-services/reset/pv
tak.monitor.reset.nodes[1].url=http://tomcat2.example.com:8080/tak-services/reset/pv
tak.monitor.reset.nodes[2].url=http://vp1.example.com:23000/resetcache
tak.monitor.reset.nodes[3].url=http://vp2.example.com:23000/resetcache
tak.monitor.reset.nodes[4].url=http://server.example.com:8082/kat/resetcache

Pod-uppslagning i Kubernetes

Exempel på hur konfiguration kan anges i en Kubernetes ConfigMap för användning som miljövariabler. Notera att databas-lösenord även behöver anges via en secret eller motsvarande.

I denna konfiguration hämtas aktiva poddar med sökning i Kubernetes API (på label selector+namespace). URL:erna skapas sedan genom att “0.0.0.0“ ersätts med IP-adressen för varje pod.

apiVersion: v1
kind: ConfigMap
metadata:
  name: tak-monitor-configmap
data:
  # Database settings
  SPRING_DATASOURCE_DRIVERCLASSNAME: com.mysql.cj.jdbc.Driver
  SPRING_DATASOURCE_URL: jdbc:mysql://mysql-host:3306/takv3?autoReconnect=true

  # Activate pod lookup
  TAK_MONITOR_RESET_USEPODLOOKUP: "true"
  TAK_MONITOR_RESET_PODNAMESPACE: skltp-default

  # List of applications, identified by label selectors
  # "0.0.0.0" is used as a placeholder for pod ip
  TAK_MONITOR_RESET_NODES_0_LABEL: app.kubernetes.io/name=tak-services
  TAK_MONITOR_RESET_NODES_0_URL: http://0.0.0.0:8080/tak-services/reset/pv
  TAK_MONITOR_RESET_NODES_1_LABEL: app=vp
  TAK_MONITOR_RESET_NODES_1_URL: http://0.0.0.0:23000/resetcache
  TAK_MONITOR_RESET_NODES_2_LABEL: app.kubernetes.io/name=kat-application
  TAK_MONITOR_RESET_NODES_2_URL: http://0.0.0.0:8082/kat/resetcache

  • Inga etiketter