Tjänst under avveckling

Dessa sidor kommer att tas bort 2023-01-01

DatumVersionNamnFörändring

 

0.1Lagt till dokumenthistorik

 

1.0

Uppdaterat och granskat för 2.17


Detta dokument visar på ett par exempel med hjälp av skript hur man kan skapa övervakningspunkter.
Skripten (expect/tcl) är tänkta att kunna kopplas och automatiseras från ett övervakningssystem.
I detta dokument kommer inte övervakningssystem att beskrivas.  


Med hjälp av skript görs ett antal tester, exempelvis anslutningar mot tjänster som är viktiga för att Säkerhetstjänster skall fungera.
Dessa skript triggas automatiskt igång exempelvis var 10:e minut. Resultatet som genereras av körningen skrivs till en loggfil, exempelvis "OK" eller "ERROR". Dessa resultat som skrivs till loggfilen, kan ett övervakningssystem fånga upp för vidare hantering.
 

Följande beroenden, funktioner etc är några exempel som bör övervakas och klassificeras samt vara kopplade till lösningsförslag.
Förutom dessa beroenden som Säkerhetstjänster har, så skall givetvis generella övervakningspunkter för servrar, diskutrymme, minneslast, cpulast, lastbalansering, delad disk, etc också övervakas.

  • HSA-WS
  • OCSP, CRL
  • Tjänsteplattform
  • PU-tjänsten
  • MySQL
  • MongoDB
  • WebService
  • Infinispan
  • Inloggning/autentisering



Se några exempel nedan i dokumentet på hur det kan se ut.

Exempel 1
Detta skript kontrollerar bl.a anslutningar mot olika tjänster (HSA-WS, OCSP, CRL, Tjänsteplattformen, PU-tjänsten, MySQL, MongoDB, Webservice)

Exempelutskrift 1 från en manuell körning där skriptet testar anslutningar mot diverse tjänster.
Observera att innehållet av utskriften icke är relevant, utan enbart tänkt att ge exempel på hur det kan se ut.
Skripten skall givetvis köras från alla noder som ingår i applikationsklustret, ex: nod1.sakerhetstjanster.example.com, nod2.sakerhetstjanster.example.com

[root@nod1 ~]# ./environmentCheck.exp

Environmentcheck on nod1.sakerhetstjanster.example.com

### Critical connections ###
HSA-WS (hsa-ws.sakerhetstjanster.example.com:8443) [ ERROR ]
Tjansteplattformen (localhost:8080) [ OK ]
Database MySQL (db.sakerhetstjanster.example.com:3306) [ OK ]
Database MongoDB nod1 (db1.sakerhetstjanster.example.com:27017) [ OK ]
Database MongoDB nod2 (db2.sakerhetstjanster.example.com:27017) [ OK ]

### Non-critical connections ###
SITHS OSCP v1 (ocsp2.siths.sjunet.org:80) [ OK ]
SITHS OSCP v3 (ocspv3.siths.sjunet.org:80) [ OK ]
SITHS CRL v1 (crl2.siths.sjunet.org:80) [ OK ]
SITHS CRL v3 (sithscrl.carelink.sjunet.org:389) [ OK ]

SAK WebService Connections:
### Patientrelation
GetPatientRelationsForCareProvider [ OK ]
DeleteExtendedPatientRelation [ OK ]
CancelExtendedPatientRelation [ OK ]
CheckPatientRelation [ OK ]
GetPatientRelationsForPatient [ OK ]
GetExtendedPatientRelationsForPatient [ OK ]
RegisterExtendedPatientRelation [ OK ]
PingForConfiguration [ OK ]

################################


Skriptet genererar en loggfil med status om hur resultatet från testerna gått, se exempelutskrift 2 nedan.
Resultatet från skriptet säger att det är ett kritiskt problem HSA-WS, eftersom det inte går att ansluta dit, vilket skulle innebära att Säkerhetstjänster ej skulle fungera.
I det fallet skulle då ett övervakningssystem kunnat fånga upp denna ERROR som då genererar ett larm. Larmen är klassificerade i olika nivåer. Just denna skulle vara klassad som kritisk. PRIO 1.

Exempelutskrift 2 (detta är ett utklipp från loggen som genereras och några resultat från testerna.)
---------------------------------------
16-12-15_16:09:14 - localhost - OK
---------------------------------------
16-12-15_16:09:14 - hsa-ws.sakerhetstjanster.example.com - ERROR - retry #0
16-12-15_16:09:24 - hsa-ws.sakerhetstjanster.example.com - ERROR - retry #1
16-12-15_16:09:34 - hsa-ws.sakerhetstjanster.example.com - ERROR - retry #2
---------------------------------------
16-12-15_16:09:35 - db.sakerhetstjanster.example.com - OK
---------------------------------------
16-12-15_16:09:35 - db1.sakerhetstjanster.example.com - OK
---------------------------------------
16-12-15_16:09:35 - db2.sakerhetstjanster.example.com - OK
---------------------------------------
16-12-15_16:09:35 - ocsp2.siths.sjunet.org - OK
---------------------------------------
16-12-15_16:09:35 - ocspv3.siths.sjunet.org - OK
---------------------------------------
16-12-15_16:09:35 - crl2.siths.sjunet.org - OK
---------------------------------------
16-12-15_16:09:35 - sithscrl.carelink.sjunet.org - OK

################################


Larmet är är kopplat till ett lösningsförslag som man då får stöd av, se exempelutskrift 3 nedan.

Exempelutskrift 3 visar hur ett lösningsförslag för problemet med larmet med HSA-WS skulle kunna se ut.

(HSA) Critical_HSA-WS (Prio 1)
1. Kör hälsocheck enligt beskrivningen "Environmentcheck" och kontrollera om problemet kvarstår. Om problemet ej kvarstår kan ärendet stängas. Skicka ett informationsmejl till support.se@example.com om att en tillfällig störning har inträffat för miljön <server/miljö> och dess anslutning till HSA .
2. Om problemet kvarstår. Kontrollera om HSA har någon driftstörning: http://www.inera.se/KONTAKT_KUNDSERVICE/Driftstatus/
3. Om det inte finns någon information om störning där (t.ex. planerat underhåll /servicefönster osv.). Ring Nationell kundtjänst hos Inera och förklara att Säkerhetstjänster har problem med koppling mot HSA.
4. Ring ansvariga för Säkerhetstjänster för fortsatt felsökning.


Exempel 2
Detta skript kontrollerar status för infinispanklustret.

I Exempelutskrift 4 nedan ser man hur ett förväntat resultat ser ut med båda noder (nod1, nod2) i infinispanklustret.

osgi> monitor -filter infinispan

Id
Type
Timestamp
Value
Description

com.logica.se.iac.cache.infinispan
members

String2016-12-16 09:31:27:172nod1-28728, nod2-6072Available cluster members Context state which will show if configuration is needed, or if mandator OSGi service references are missing etc.
stateString2016-12-16 09:31:27:172

ACTIVE



Detta skript utför bl.a det som visades i exempelutskrift 4 ovan, men som resultat skickas enbart om det är OK eller ERROR. Vilket innebär att båda noder skall känna av varandra.
I exempelutskrift 5 nedan ser man att nod1 fungerar som det är tänkt, men att nod2 blivit utslängd från klustret av någon anledning.
I det fallet skulle då ett övervakningssystem kunnat fånga upp denna ERROR som då genererar ett larm. Larmen är klassificerade i olika nivåer. Just denna skulle vara klassad som kritisk. PRIO 1.

Exempelutskrift 5 från en manuell körning där skriptet kontrollerar status för infinispanklustret.

[root@nod1 ~]# ./infinispanCheck.exp

Node1 [ OK ]
Node2 [ ERROR ]


Larmet är är kopplat till ett lösningsförslag som man då får stöd av, se exempelutskrift 6 nedan.

Exempelutskrift 6 Lösningsförslag för infinispanCheck larmet (prio 1)

  1. Kör infinispanCheck.exp scriptet igen och se om felet kvarstår.
    Om problemet ej kvarstår kan ärendet stängas. 
    Skicka ett informationsmail om att en tillfällig störning har inträffat för miljön <server/miljö> till support.se@example.com..
     
  2. Om problemet kvarstår.
    Kör samma sak manuellt:
    1. telnet localhost 1111
      OBS! Om det inte går att köra telnet, gå till steg 4 och starta om säkerhetstjänster. 
    2. Kör kommando "sys mon -filter infinispan"
      Där ska båda noder presenteras

      Id
      Type
      Timestamp
      Value
      Description

      com.logica.se.iac.cache.infinispan
      members

      String2016-12-16 09:31:27:172nod1-28728, nod2-6072Available cluster members Context state which will show if configuration is needed, or if mandator OSGi service references are missing etc.
      stateString2016-12-16 09:31:27:172

      ACTIVE


      I detta fall är det nod1 och nod02 som ska finnas i klustret.
       

  3. Avsluta osgi-prompten genom att skriva "disconnect"


  4. Om båda noder inte fanns med i klustret behöver man starta om någon av noderna i klustret.

    /etc/init.d/sak_server stop

    /etc/init.d/sak_server start


  5. Verifiera att samtliga bundlar är uppstartade och beroenden uppfyllda

    1. Logga in i osgi: telnet localhost 1111

    2. state

  6. Kör hälsocheck enligt beskrivning "Environmentcheck". Verifiera sedan att infinispan.exp fungerar på båda noder.
    1. Om problemet är löst kan ärendet stängas.
      1. Kontakta Nationell kundtjänst hos Inera och förklara att Säkerhetstjänster har haft ett tillfälligt problem, men att det är löst nu.
      2. Skicka ett informationsmail om att en störning har inträffat för miljön <server/miljö> till support.se@example.com
         
    2. Om problemet kvarstår.
      1. Ring Nationell kundtjänst hos Inera och förklara att Säkerhetstjänster har problem.
      2. Ring ansvariga Säkerhetstjänster för fortsatt felsökning.






  • No labels