20/12/2012
Implementering af Microsoft Dynamics 365 Finance + Operations (on-premises) kan være en kompleks proces, og fejl undervejs er ikke ualmindelige. Specifikt kan implementeringsfejl relateret til Azure Service Fabric (AXSF) være udfordrende at diagnosticere. Denne artikel fungerer som en omfattende guide til fejlfinding, der hjælper dig med at identificere, forstå og løse de mest almindelige problemer, du kan støde på. Fra grundlæggende overvågning til dybdegående certifikat- og AD FS-konfigurationer, vil vi dække de nødvendige skridt for at sikre en vellykket implementering.

- Grundlæggende Overvågning og Diagnose
- Almindelige Service Fabric Fejl
- Håndtering af Certifikater og Sikkerhedsfejl
- Fejlfinding af Pakkeimplementering
- Ofte Stillede Spørgsmål (FAQ)
- Hvad er det første, jeg skal tjekke ved en implementeringsfejl?
- Hvorfor bliver min AOS-applikation ved med at være i 'InBuild' status?
- Hvordan rydder jeg op i et fejlslagent miljø for at prøve igen?
- Hvad gør jeg, hvis jeg modtager en fejl om, at 'RequireNonce' er 'true', men 'validationContext.Nonce' er null?
Grundlæggende Overvågning og Diagnose
Før du dykker ned i specifikke fejlkoder, er det afgørende at have en solid forståelse af de grundlæggende diagnostiske værktøjer. Disse værktøjer giver dig det overblik, der er nødvendigt for at indsnævre problemet.
Adgang til Service Fabric Explorer
Service Fabric Explorer er dit primære værktøj til at overvåge sundheden af dit cluster, dine applikationer og noder. Det giver et visuelt overblik over hele dit on-premises miljø. Du kan typisk tilgå det via en URL som https://sf.d365ffo.onprem.contoso.com:19080.
For at få adgang skal du sikre dig, at det nødvendige klientcertifikat er installeret i din certifikatlager (cert:\CurrentUser\My). Når du tilgår siden, vil browseren bede dig om at vælge dette certifikat for at godkende din adgang. Inde i Service Fabric Explorer skal du holde øje med sundhedsstatus for noder og applikationer. Røde eller gule advarsler er de første indikationer på, at noget er galt.
Gennemgang af Hændelseslogfiler (Event Viewer)
Hændelseslogfilerne på dine orkestrator-maskiner er en guldgrube af information. For at finde relevante logfiler skal du åbne Event Viewer og navigere til:
Applications and Services Logs > Microsoft > Dynamics > AX-LocalAgentApplications and Services Logs > Microsoft > Dynamics > AX-DatabaseSynchronizeCustom Views > Administrative Events
Disse logfiler indeholder detaljerede fejlmeddelelser fra Local Agent og databasesynkroniseringsprocessen. Husk at tjekke fanen 'Details' for at se den fulde fejlbesked, da den generelle visning ofte afkorter vigtige oplysninger.
Almindelige Service Fabric Fejl
Mange implementeringsfejl stammer direkte fra Service Fabric-clusteret. At forstå disse fejl er nøglen til en hurtig løsning.
Fejl: "Partition is below target replica or instance count"
Denne fejl er ofte et symptom snarere end en årsag. Den indikerer, at en eller flere noder ikke er i en 'Ready' tilstand. For AXSFType (AOS) kan status for eksempel stadig være 'InBuild'. I stedet for at fokusere på denne meddelelse, skal du undersøge de underliggende hændelseslogfiler på de berørte maskiner. Tjek især logfilerne for AX-DatabaseSynchronize for at se, om en langvarig eller fejlslagen databasesynkronisering forhindrer AOS-noden i at starte korrekt.
Fejl: "ExtractInstallerService failed to extract"
Hvis du ser en fejl relateret til FabricClient.dll, indikerer det typisk, at du bruger en forældet version af Azure Service Fabric. Løsningen er simpel: Download og installer den seneste version af Azure Service Fabric på alle noder i dit cluster.
Håndtering af Certifikater og Sikkerhedsfejl
Certifikater er rygraden i sikkerheden i et on-premises miljø. Forkert konfiguration er en hyppig kilde til fejl.
Krypteringsfejl og "Keyset does not exist"
Fejl som "AXBootstrapperAppType," "Gateway potential failure," eller "Keyset does not exist" peger ofte på problemer med data-krypteringscertifikatet. Dette kan ske, hvis:
- Certifikatet ikke er installeret på alle relevante maskiner (især AOS-noder).
- Servicekontoen (f.eks. svc-AXSF$) ikke har fået de korrekte læserettigheder til certifikatets private nøgle.
- Der er anvendt en forkert kryptografisk udbyder under oprettelsen af certifikatet. Alle certifikater, undtagen ServiceFabricEncryption, skal bruge 'Microsoft Enhanced RSA and AES Cryptographic Provider'.
For at løse dette, skal du køre Set-CertificateAcls.ps1 og Test-D365FOConfiguration.ps1 scripts på alle noder for at verificere og rette adgangstilladelser. Det er også vigtigt at sikre, at thumbprints i din ConfigTemplate.xml og i Lifecycle Services (LCS) er identiske og ikke indeholder skjulte specialtegn.
Tabel over Almindelige Certifikatproblemer
| Problem | Sandsynlig Årsag | Løsning |
|---|---|---|
| Loginfejl for svc-LocalAgent$ | Brugerens SID er ændret i Active Directory, eller brugeren mangler tilladelser til orkestratordatabasen. | Kør Initialize-Database.ps1 scriptet for at genskabe brugerens tilladelser i SQL-databasen. |
| "Could not establish trust relationship for the SSL/TLS secure channel" | AD FS-certifikatet er ikke trusted på AOS-noderne. | Importer AD FS-certifikatet til 'Trusted Root Certification Authorities' på alle AOS-maskiner. |
| "The certificate chain was issued by an authority that is not trusted" | SQL Server-certifikatets public key er ikke installeret på alle Service Fabric-noder. | Distribuer SQL-certifikatets public key til alle noder i clusteret. |
Fejlfinding af Pakkeimplementering
Når selve miljøet er oppe at køre, kan der opstå fejl, når du forsøger at anvende deployerbare pakker med tilpasninger.
Fejl: "Path too long exception"
Windows har en begrænsning på 260 tegn for filstier. Hvis stien til din fildeling plus navnet på din pakke overskrider denne grænse, vil implementeringen fejle. Løsningen er at enten forkorte navnet på pakken eller forkorte stien til din on-premises fildeling.
Fejl: Manglende afhængigheder
Hvis en pakke er bygget i et udviklingsmiljø, der indeholder flere moduler end dit sandkasse- eller produktionsmiljø, vil implementeringen fejle på grund af manglende afhængigheder. Du vil se en fejlmeddelelse, der lister de moduler, der mangler. For at løse dette skal du enten:
- Inkludere de manglende afhængige moduler, når du bygger pakken.
- Fjerne referencer til moduler, der ikke er nødvendige i produktionsmiljøet, fra dit projekt.
Den bedste praksis er altid at bygge dine pakker på en dedikeret build-server, der afspejler dit produktionsmiljøs modulsammensætning.
Ofte Stillede Spørgsmål (FAQ)
Hvad er det første, jeg skal tjekke ved en implementeringsfejl?
Start altid med at tjekke sundhedsstatus i Service Fabric Explorer. Dette giver dig et hurtigt overblik over, hvilke applikationer eller noder der har problemer. Gå derefter til Event Viewer på de berørte noder for at finde specifikke fejlmeddelelser.
Hvorfor bliver min AOS-applikation ved med at være i 'InBuild' status?
Dette skyldes næsten altid, at databasesynkroniseringen (DB Sync) enten fejler eller tager meget lang tid. En AOS-node kan ikke starte fuldt ud, før synkroniseringen er gennemført. Tjek AX-DatabaseSynchronize logfilen for at se status og eventuelle fejl.
Hvordan rydder jeg op i et fejlslagent miljø for at prøve igen?
Den anbefalede metode er at bruge oprydningsfunktionen i Lifecycle Services (LCS) til at slette implementeringen. Herefter skal du manuelt køre oprydningsscripts på dine servere, såsom Cleanup-kommandoen for Local Agent og RemoveServiceFabricCluster.ps1 for at fjerne Service Fabric-clusteret fuldstændigt, før du starter en ny implementering.
Hvad gør jeg, hvis jeg modtager en fejl om, at 'RequireNonce' er 'true', men 'validationContext.Nonce' er null?
Denne fejl opstår typisk, når du logger ind via en browser med Enhanced Security Configuration aktiveret (f.eks. på en server). Nonce'en, der bruges til at forhindre replay-angreb, kan ikke valideres. Løsningen er midlertidigt at deaktivere Enhanced Security Configuration for Internet Explorer via Server Manager for at kunne logge ind.
Hvis du vil læse andre artikler, der ligner Løs problemer med AXSF-implementering i D365, kan du besøge kategorien Sundhed.
