Applicatie op Azure VM stopt regelmatig na het weekend

Pagina: 1
Acties:

Vraag


  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 25-07 15:43
We hebben in ons bedrijf dus Azure VM's draaien, Standard_D4s_v3.
Windows 2019 server.
Daarop draait een programma van Tricentis, ToscaDistributionAgent.exe.
Dit zorgt voor communicatie tussen de Tosca Server en deze machines die als test agent werken.

Nu hebben we het probleem dat na het weekend dit programma gestopt is met draaien.
Ik heb dit opgenomen met Tricentis Support. Alle log files en Windows events doorgestuurd.
Zij zeggen dat het erop lijkt dat de machines gewoon niet beschikbaar zijn tijdens het weekend.
Ik zie dit niet in de Windows Events, maar ik ben ook geen expert op dat gebied.

Bij ons in het bedrijf verzorgt het cloud team enkel de infrastructuur om de machines te maken, maar zijn wij zelf verantwoordelijk voor het beheer. Of we moeten een andere partij inhuren.
Zij zeggen echter dat deze machines gewoon zouden moeten blijven draaien.

Heeft iemand een idee hoe dat zit?
Kan het inderdaad zijn dat deze machines niet beschikbaar zijn, of de RDP sessies onderbroken worden in het weekend (daar steunt Tosca op).
Of is er iets anders aan de hand?

Kan ik in Azure Portal bekijken of die machines beschikbaar bleef of niet?

Of, andere oplossing: heeft er iemand een scriptje dat iedere 5 minuten controleert of het programma draait, zo niet; herstart het.

Alle reacties


  • KilleBladhark
  • Registratie: December 2022
  • Laatst online: 07-09 22:05
Misschien een domme vraag, maar gezien er wordt aangegeven dat het blijkt dat deze machines niet in het weekend beschikbaar zijn, is het dan niet een idee om dit daadwerkelijk vast te stellen en ook echt te kijken of ze niet beschikbaar zijn in het weekend?

Mochten ze dus wel beschikbaar zijn in het weekend, kun je dit weer terugkoppelen aan Tricentis Support en kunnen zij verder onderzoeken. Zo niet, ligt het dus echt aan de inrichting van de machines en zal het cloud team hier verder naar moeten kijken.

In Azure weet ik wel dat je "Insights" hebt, waarmee je bijvoorbeeld up-time kunt zien van een bepaalde VM. Dit moet echter wel aanstaan voor de VM zelf, dit zou je dus moeten checken. Als het goed is moet je dan navigeren naar de betreffende VM en dan hier "Insights" aan te klikken in het menu.

The One Piece is real. (Can we get much higher!)


  • Wasp
  • Registratie: Maart 2001
  • Nu online
Of, andere oplossing: heeft er iemand een scriptje dat iedere 5 minuten controleert of het programma draait, zo niet; herstart het.
Als het programma draait als een Windows Service, dan zit dit al standaard ingebouwd. (Lees: Herstart bij een crash). Je kunt hier nog wel dingen bij configureren als "probeer het 5x" etc.

Ik vermoed dat er iets anders speelt, helemaal gezien het feit dat er niets uit de logging komt. Als RDP sessies worden onderbroken, dan moet hier iets van teruggevonden kunnen worden in de Event Viewer.

Ryzen 9 5900X, MSI Tomahawk MAX, 32GB RAM, Nvidia RTX 4070 Ti | Mijn livesets


  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 25-07 15:43
KilleBladhark schreef op donderdag 17 augustus 2023 @ 11:01:
Misschien een domme vraag, maar gezien er wordt aangegeven dat het blijkt dat deze machines niet in het weekend beschikbaar zijn, is het dan niet een idee om dit daadwerkelijk vast te stellen en ook echt te kijken of ze niet beschikbaar zijn in het weekend?
Zeker niet dom, heb ik ook proberen te doen. Ik kan zelf iets maken om te gaan pingen maar ik verwacht dat Azure zoiets wel ingebouwd heeft.
Ik heb niet structureel heel het weekend geprobeerd om te machines te checken.
De keren dat ik het occasioneel deed, draaiden ze gewoon.
Nu kan het ook zijn dat doordat ik manueel via RDP wil inloggen, dat ik deze machines beschikbaar maak.

Wat ik wel zag in de logging van het Tosca programma, is dat er geen lijn in te trekken valt.
In de logging kon ik zien wanneer er niets meer gelogd werd, en het programma logt normaal meerdere keren per dag iets. Maar op de ene machine stopte dat dus om zaterdag voormiddag, bij de andere machine op zondag namiddag.
Als het iets in Azure zou zijn, zou ik exact hetzelfde gedrag voor alle machines verwachten. Zijn via Terraform scripts gebouwd, niet manueel.
KilleBladhark schreef op donderdag 17 augustus 2023 @ 11:01:
Mochten ze dus wel beschikbaar zijn in het weekend, kun je dit weer terugkoppelen aan Tricentis Support en kunnen zij verder onderzoeken. Zo niet, ligt het dus echt aan de inrichting van de machines en zal het cloud team hier verder naar moeten kijken.

In Azure weet ik wel dat je "Insights" hebt, waarmee je bijvoorbeeld up-time kunt zien van een bepaalde VM. Dit moet echter wel aanstaan voor de VM zelf, dit zou je dus moeten checken. Als het goed is moet je dan navigeren naar de betreffende VM en dan hier "Insights" aan te klikken in het menu.
Insights lijkt me iets interessant. Ik zie echter dat ik geen schrijf rechten heb op de VM. Ga ik met ons cloud team opnemen.
Dat lijkt me al een goede weg om iets te controleren.

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 25-07 15:43
Wasp schreef op donderdag 17 augustus 2023 @ 11:13:
[...]


Als het programma draait als een Windows Service, dan zit dit al standaard ingebouwd. (Lees: Herstart bij een crash). Je kunt hier nog wel dingen bij configureren als "probeer het 5x" etc.

Ik vermoed dat er iets anders speelt, helemaal gezien het feit dat er niets uit de logging komt. Als RDP sessies worden onderbroken, dan moet hier iets van teruggevonden kunnen worden in de Event Viewer.
Het is spijtig genoeg geen service, gewoon een executable.

Ben eigenlijk niet echt onder de indruk van heel de Tricentis tooling, zeker het server gedeelte valt me knap tegen. Programma's die zelfs na een volledige default installatie niet opstarten, maar waarvan je de configuratie moet aanpassen om een pad juist te hebben. Dat snap ik niet.
Maar ja, er is voor gekozen door mijn voorgangers, en er zijn bepaalde voordelen tov van andere tooling, dus het is nog wat lastig om direct te switchen.

  • nelizmastr
  • Registratie: Maart 2010
  • Laatst online: 13:14

nelizmastr

Goed wies kapot

Chris_147 schreef op donderdag 17 augustus 2023 @ 11:28:
[...]


Het is spijtig genoeg geen service, gewoon een executable.
Van veel Executables kun je een service maken, dan heb je die mogelijkheden wel :)
Je zult het even moeten testen uiteraard.

http://www.auditiait.es/e...ble-to-a-windows-service/

I reject your reality and substitute my own


  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 25-07 15:43
nelizmastr schreef op donderdag 17 augustus 2023 @ 11:40:
[...]


Van veel Executables kun je een service maken, dan heb je die mogelijkheden wel :)
Je zult het even moeten testen uiteraard.

http://www.auditiait.es/e...ble-to-a-windows-service/
Top! Wist ik niet. Ga ik eens proberen.

Edit: even geprobeerd.
sc.exe create werkte.
Maar het starten van de service lukt niet. Eerst zag ik de in log file van het programma dat hij een probleem had met LDAP user. Dan in de tab Log On van de service de juiste gebruiker gezet met wachtwoord.
Nu zie ik in de logging dat alles exact hetzelfde is als dat het programma normaal start, maar Windows Services lijkt geen antwoord van het programma te krijgen. Ik krijg de foutmelding:
Windows could not start the xxx service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion..

Ik ga eens naar nssm.cc kijken.

[ Voor 45% gewijzigd door Chris_147 op 17-08-2023 12:13 ]


Acties:
  • 0 Henk 'm!

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 25-07 15:43
nssm.cc lukte ook niet.
Start wel netjes het programma op, dat geeft ook geen foutmeldingen in de logging.
Maar tests draaien niet goed.
Ik neem aan omdat het programma normaal een GUI in de taskbar zet, die zie ik nu niet.

Ik denk dat ik een scriptje ga maken om iedere 5 minuten te controleren of het programma draait, zo niet: opstarten.

Acties:
  • 0 Henk 'm!

  • HKLM_
  • Registratie: Februari 2009
  • Laatst online: 10:23
Ik zou eens kijken naar Azure Monitor (vm insight) daarmee kan je iig achterhalen wat er met je VM of de load van de vm gebeurd.

https://learn.microsoft.c...or/vm/vminsights-overview

Cloud ☁️


Acties:
  • +1 Henk 'm!

  • Question Mark
  • Registratie: Mei 2003
  • Nu online

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Chris_147 schreef op donderdag 17 augustus 2023 @ 10:44:
Zij zeggen echter dat deze machines gewoon zouden moeten blijven draaien.
Nee hoor, ook Azure VM's en de onderliggende infra wordt onderhouden en kent downtime...

Daarom moet je bij applicaties die in een Azure VM draaien ook gebruik maken van availability sets, zodat er tenminste altijd één VM beschikbaar is.
Microsoft Azure periodically performs updates across the globe to improve the reliability, performance, and security of the host infrastructure that underlies virtual machines. Many of these updates are performed without any impact to your virtual machines or Cloud Services, including memory-preserving updates.

However, some updates do require a reboot to your virtual machines to apply the required updates to the infrastructure. The virtual machines are shut down while we patch the infrastructure, and then the virtual machines are restarted.
Ik zou de vraag om de applicatie als service te kunnen draaien bij de leverancier neerleggen. Dat is de meest nette optie. :)

Alternatief is een script die periodiek controleert of de executable (het proces) draait. Indien niet, dan kan dit script de executable aftrappen. Maar het blijft een beetje een workaround.

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 12:29
Begin eens met wat simpele monitoring.
-draait de server
-draait de applicatie
Meer dan dat hoef je voor nu niet te weten. Zijn genoeg (gratis, of maandje proef) tools voor.

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 25-07 15:43
Ik heb een simpel Powershell scriptje gemaakt. Plaats het hier even ter lering ende vermaak.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$Logfile = "C:\Users\<username>\proc_$env:computername.log"
function WriteLog
{
   Param ([string]$LogString)
   $Stamp = (Get-Date).toString("yyyy/MM/dd HH:mm:ss")
   $LogMessage = "$Stamp $LogString"
   Add-content $LogFile -value $LogMessage
}

if (Get-Process -Name <applicatienaam> -ErrorAction SilentlyContinue) {
   WriteLog "<applicatie> is running."
} else {
   WriteLog "<applicatie> is not running, starting it ..."
   Start-Process -FilePath "<path van app.exe>"
}
Pagina: 1