Konfigurera VMware Spring Cloud Gateway
Kommentar
Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
Den här artikeln gäller för:❌ Basic/Standard ✔️ Enterprise
Den här artikeln visar hur du konfigurerar VMware Spring Cloud Gateway för VMware Tanzu med Azure Spring Apps Enterprise-planen.
VMware Spring Cloud Gateway är en kommersiell VMware Tanzu-komponent baserad på Spring Cloud Gateway-projektet med öppen källkod. VMware Spring Cloud Gateway för Tanzu hanterar övergripande problem för API-utvecklingsteam, till exempel enkel inloggning (SSO), åtkomstkontroll, hastighetsbegränsning, återhämtning och säkerhet. Du kan påskynda API-leveransen med hjälp av moderna molnbaserade mönster i ditt val av programmeringsspråk för API-utveckling.
En VMware Spring Cloud Gateway-instans dirigerar trafik enligt regler. Den har stöd för att skala in/ut och upp och ned för att möta en dynamisk trafikbelastning.
VMware Spring Cloud Gateway innehåller följande funktioner:
- Dynamisk routningskonfiguration, oberoende av enskilda program, som du kan använda och ändra utan att kompilera om
- Kommersiella API-routningsfilter för att transportera auktoriserade JSON Web Token-anspråk (JWT) till programtjänster
- Auktorisering av klientcertifikat
- Frekvensbegränsningsmetoder
- Konfiguration av kretsbrytare
- Stöd för åtkomst till programtjänster via HTTP Basic Authentication-autentiseringsuppgifter
För att integrera med API-portalen för VMware Tanzu genererar VMware Spring Cloud Gateway automatiskt OpenAPI version 3-dokumentation efter eventuella tillägg eller ändringar i routningskonfigurationen. Mer information finns i Använda API-portalen för VMware Tanzu.
Förutsättningar
- En redan etablerad Azure Spring Apps Enterprise-plantjänstinstans med VMware Spring Cloud Gateway aktiverad. Mer information finns i Snabbstart: Skapa och distribuera appar till Azure Spring Apps med hjälp av Enterprise-planen.
- Azure CLI version 2.0.67 eller senare. Använd följande kommando för att installera Azure Spring Apps-tillägget:
az extension add --name spring
.
Aktivera eller inaktivera VMware Spring Cloud Gateway
Du kan aktivera eller inaktivera VMware Spring Cloud Gateway när du har skapat tjänstinstansen med hjälp av Azure Portal eller Azure CLI. Innan du inaktiverar VMware Spring Cloud Gateway måste du avtilldela dess slutpunkt och ta bort alla routningskonfigurationer.
Använd följande steg för att aktivera eller inaktivera VMware Spring Cloud Gateway med hjälp av Azure Portal:
- Gå till din tjänstresurs och välj sedan Spring Cloud Gateway.
- Välj Hantera.
- Markera eller avmarkera kryssrutan Aktivera Spring Cloud Gateway och välj sedan Spara.
Nu kan du visa tillståndet för Spring Cloud Gateway på sidan Spring Cloud Gateway .
Starta om VMware Spring Cloud Gateway
När du har slutfört omstartsåtgärden startas VMware Spring Cloud Gateway-instanser om löpande.
Använd följande steg för att starta om VMware Spring Cloud Gateway med hjälp av Azure Portal:
- Gå till din tjänstresurs och välj sedan Spring Cloud Gateway.
- Välj Starta om.
- Bekräfta omstarten genom att välja OK .
Tilldela en offentlig slutpunkt till VMware Spring Cloud Gateway
I det här avsnittet beskrivs hur du tilldelar en offentlig slutpunkt till VMware Spring Cloud Gateway och konfigurerar dess egenskaper.
Använd följande steg för att tilldela en slutpunkt i Azure Portal:
- Öppna din Azure Spring Apps-instans.
- Välj Spring Cloud Gateway i navigeringsfönstret och välj sedan Översikt.
- Ange Tilldela slutpunkt till Ja.
Efter några minuter visar URL:en den konfigurerade slutpunkts-URL:en. Spara URL:en som ska användas senare.
Konfigurera VMware Spring Cloud Gateway-metadata
VMware Spring Cloud Gateway-metadata genererar automatiskt Dokumentation om OpenAPI version 3. Du kan konfigurera VMware Spring Cloud Gateway-metadata för att visa routningsgrupper i API-portalen för VMware Tanzu. Mer information finns i Använda API-portalen för VMware Tanzu.
I följande tabell beskrivs tillgängliga metadataalternativ:
Property | beskrivning |
---|---|
title |
En rubrik som beskriver kontexten för de API:er som är tillgängliga på VMware Spring Cloud Gateway-instansen. Standardvärdet är Spring Cloud Gateway for K8S . |
description |
En detaljerad beskrivning av de API:er som är tillgängliga på VMware Spring Cloud Gateway-instansen. Standardvärdet är Generated OpenAPI 3 document that describes the API routes configured for '[Gateway instance name]' Spring Cloud Gateway instance deployed under '[namespace]' namespace.*. |
documentation |
Platsen för API-dokumentationen som är tillgänglig på VMware Spring Cloud Gateway-instansen. |
version |
Den version av API:er som är tillgängliga på den här VMware Spring Cloud Gateway-instansen. Standardvärdet är unspecified . |
serverUrl |
Bas-URL:en för åtkomst till API:er på VMware Spring Cloud Gateway-instansen. Den här egenskapen är obligatorisk om du vill integrera med API-portalen. |
Du kan använda Azure Portal eller Azure CLI för att redigera metadataegenskaper.
Om du vill redigera metadata i Azure Portal använder du följande steg:
- Öppna din Azure Spring Apps-instans.
- Välj Spring Cloud Gateway i navigeringsfönstret och välj sedan Konfiguration.
- Ange värden för de egenskaper som anges för API.
- Välj Spara.
Konfigurera enkel inloggning
VMware Spring Cloud Gateway stöder autentisering och auktorisering via enkel inloggning (SSO) med en OpenID-identitetsprovider. Providern stöder OpenID Connect Discovery-protokollet. I följande tabell beskrivs egenskaperna för enkel inloggning:
Property | Obligatoriskt? | beskrivning |
---|---|---|
issuerUri |
Ja | Den URI som hävdas som utfärdaridentifierare. Om är https://example.com görs till exempel issuerUri en konfigurationsbegäran för OpenID-providern till https://example.com/.well-known/openid-configuration . Resultatet förväntas bli ett konfigurationssvar för OpenID-providern. |
clientId |
Ja | OpenID Connect-klient-ID:t från din identitetsprovider. |
clientSecret |
Ja | OpenID Connect-klienthemligheten från din identitetsprovider. |
scope |
Ja | En lista över omfång som ska inkluderas i JWT-identitetstoken. Den här listan bör baseras på de omfång som din identitetsprovider tillåter. |
Information om hur du konfigurerar enkel inloggning med Microsoft Entra-ID finns i Konfigurera enkel inloggning med microsoft entra-ID för Spring Cloud Gateway och API-portalen.
Du kan använda Azure Portal eller Azure CLI för att redigera egenskaper för enkel inloggning.
Om du vill redigera egenskaper för enkel inloggning i Azure Portal använder du följande steg:
- Öppna din Azure Spring Apps-instans.
- Välj Spring Cloud Gateway i navigeringsfönstret och välj sedan Konfiguration.
- Ange värden för de egenskaper som anges för enkel inloggning.
- Välj Spara.
VMware Spring Cloud Gateway stöder endast de auktoriseringsservrar som stöder OpenID Connect Discovery-protokollet. Se också till att konfigurera den externa auktoriseringsservern för att tillåta omdirigeringar tillbaka till gatewayen. Läs auktoriseringsserverns dokumentation och lägg till https://<gateway-external-url>/login/oauth2/code/sso
i listan över tillåtna omdirigerings-URI:er.
Om du konfigurerar fel SSO-egenskap, till exempel fel lösenord, bör du ta bort hela SSO-egenskapen och sedan lägga till rätt konfiguration.
När du har konfigurerat enkel inloggning ska du komma ihåg att ange ssoEnabled: true
för VMware Spring Cloud Gateway-vägarna.
Konfigurera SSO-utloggning
VMware Spring Cloud Gateway-tjänstinstanser tillhandahåller en standard-API-slutpunkt för att logga ut från den aktuella SSO-sessionen. Sökvägen till den här slutpunkten är /scg-logout
. Utloggningen resulterar i något av följande resultat, beroende på hur du anropar utloggningsslutpunkten:
- Logga ut från sessionen och omdirigera till identitetsproviderns (IdP) utloggning.
- Logga ut från tjänstinstanssessionen.
Logga ut från IdP- och SSO-sessionen
Om du skickar en GET
begäran till /scg-logout
slutpunkten skickar slutpunkten ett 302
omdirigeringssvar till IdP-utloggnings-URL:en. För att få slutpunkten att returnera användaren till en sökväg på gatewaytjänstinstansen lägger du till en omdirigeringsparameter i GET
begäran med /scg-logout
slutpunkten. Du kan till exempel använda ${server-url}/scg-logout?redirect=/home
.
Värdet för omdirigeringsparametern måste vara en giltig sökväg på VMware Spring Cloud Gateway-tjänstinstansen. Du kan inte omdirigera till en extern URL.
Följande steg beskriver ett exempel på hur du implementerar funktionen i dina mikrotjänster:
Hämta en routningskonfiguration för att dirigera utloggningsbegäran till ditt program. Ett exempel finns i routningskonfigurationen på lagringsplatsen för djurräddning på GitHub.
Lägg till den utloggningslogik som du behöver i programmet. I slutet behöver du en
GET
begäran till gatewayens/scg-logout
slutpunkt, vilket visas ireturn
värdet förgetActionButton
metoden i lagringsplatsen för djurräddning .
Logga ut från bara SSO-sessionen
Om du skickar GET
begäran till /scg-logout
slutpunkten med hjälp XMLHttpRequest
302
av kan omdirigeringen sväljas och inte hanteras i svarshanteraren. I det här fallet loggas användaren bara ut från SSO-sessionen på VMware Spring Cloud Gateway-tjänstinstansen. Användaren skulle fortfarande ha en giltig IdP-session. Om användaren försöker logga in igen skickas de vanligtvis tillbaka till gatewayen som autentiserad från IdP.
Du måste ha en routningskonfiguration för att dirigera utloggningsbegäran till ditt program, som du ser i följande exempel. Den här koden gör en gateway-only logout SSO-session.
const req = new XMLHttpRequest();
req.open("GET", "/scg-logout);
req.send();
Konfigurera resursdelning mellan ursprung
Resursdelning mellan ursprung (CORS) tillåter att begränsade resurser på en webbsida begärs från en annan domän utanför domänen som den första resursen hanterades från. I följande tabell beskrivs tillgängliga CORS-konfigurationsalternativ.
Property | beskrivning |
---|---|
allowedOrigins |
Tillåtna ursprung för att göra begäranden mellan webbplatser |
allowedOriginPatterns |
Tillåtna ursprungsmönster för att göra begäranden mellan webbplatser |
allowedMethods |
Tillåtna HTTP-metoder för begäranden mellan webbplatser |
allowedHeaders |
Tillåtna rubriker i begäranden mellan webbplatser |
maxAge |
Hur länge i sekunder cachelagrade klienter svaret från en preflight-begäran |
allowCredentials |
Om användarautentiseringsuppgifter stöds för begäranden mellan webbplatser |
exposedHeaders |
HTTP-svarshuvuden som ska exponeras för begäranden mellan webbplatser |
Se till att du har rätt CORS-konfiguration om du vill integrera med API-portalen. Mer information finns i avsnittet Tilldela en offentlig slutpunkt till VMware Spring Cloud Gateway .
Använda tjänstskalning
Du kan anpassa resursallokering för VMware Spring Cloud Gateway-instanser, inklusive vCPU, minne och instansantal.
För hög tillgänglighet rekommenderar vi inte att du använder en enskild replik.
I följande tabell beskrivs standardresursanvändningen.
Komponentnamn | Antal instanser | vCPU per instans | Minne per instans |
---|---|---|---|
VMware Spring Cloud Gateway | 2 | 1 kärna | 2 GiB |
VMware Spring Cloud Gateway-operatör | 2 | 1 kärna | 2 GiB |
Konfigurera TLS mellan gatewayen och programmen
För att förbättra säkerheten och skydda känslig information från avlyssning av obehöriga parter kan du aktivera TLS (Transport Layer Security) mellan VMware Spring Cloud Gateway och dina program.
Innan du konfigurerar TLS måste du ha ett TLS-aktiverat program och ett TLS-certifikat. Om du vill förbereda ett TLS-certifikat genererar du ett certifikat från en betrodd certifikatutfärdare (CA). Certifikatet verifierar serverns identitet och upprättar en säker anslutning.
När du har ett TLS-aktiverat program som körs i Azure Spring Apps laddar du upp certifikatet till Azure Spring Apps. Mer information finns i avsnittet Importera ett certifikat i Använda TLS/SSL-certifikat i ditt program i Azure Spring Apps.
När certifikatet har uppdaterats till Azure Spring Apps kan du konfigurera TLS-certifikatet för gatewayen och aktivera certifikatverifiering. Du kan konfigurera certifikatet i Azure Portal eller med hjälp av Azure CLI.
Använd följande steg för att konfigurera certifikatet i Azure Portal:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret.
- På sidan Spring Cloud Gateway väljer du Certifikathantering.
- Välj Aktivera certifikatverifiering.
- Välj TLS-certifikatet i Certifikat.
- Välj Spara.
Det kan ta några minuter att uppdatera konfigurationen. Du bör få ett meddelande när konfigurationen är klar.
Förbereda routningskonfigurationen
Du måste ange protokollet som HTTPS i routningskonfigurationen. Följande JSON-objekt instruerar VMware Spring Cloud Gateway att använda HTTPS-protokollet för all trafik mellan gatewayen och appen.
Skapa en fil med namnet test-tls-route.json med följande innehåll:
{ "routes": [ { "title": "Test TLS app", "predicates": [ "Path=/path/to/your/app", "Method=GET" ] } ], "uri": "https://<app-custom-domain-name>" }
Använd följande kommando för att tillämpa regeln på programmet:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name test-tls-app \ --routes-file test-tls-route.json
Nu kan du testa om programmet är TLS-aktiverat med gatewayens slutpunkt. Mer information finns i avsnittet Konfigurera vägar i Använd Spring Cloud Gateway.
Rotera certifikat
När certifikaten upphör att gälla måste du rotera certifikat i VMware Spring Cloud Gateway med hjälp av följande steg:
- Generera nya certifikat från en betrodd certifikatutfärdare.
- Importera certifikaten till Azure Spring Apps. Mer information finns i avsnittet Importera ett certifikat i Använda TLS/SSL-certifikat i ditt program i Azure Spring Apps.
- Synkronisera certifikaten med hjälp av Azure Portal eller Azure CLI.
VMware Spring Cloud Gateway startas om för att säkerställa att gatewayen använder det nya certifikatet för alla anslutningar.
Använd följande steg för att synkronisera certifikat:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret.
- På sidan Spring Cloud Gateway väljer du Starta om och bekräftar sedan åtgärden.
Konfigurera autoskalningsinställningar
Du kan ange autoskalningslägen för VMware Spring Cloud Gateway.
I följande lista visas tillgängliga alternativ för hantering av autoskalning av efterfrågan:
- Alternativet Manuell skalning upprätthåller ett fast instansantal. Du kan skala ut till högst 10 instanser. Det här värdet ändrar antalet separata instanser som körs av Spring Cloud Gateway.
- Alternativet Anpassad autoskalning skalar enligt valfritt schema, baserat på mått.
På Azure Portal väljer du hur du vill skala. Följande skärmbild visar alternativet Anpassad autoskalning och lägesinställningar:
Mer information om tillgängliga mått finns i avsnittet Alternativ för användarmått i Mått för Azure Spring Apps.
Konfigurera svarscache
Konfiguration av svarscache är ett sätt att definiera en HTTP-svarscache som du kan använda globalt eller på routningsnivå.
Aktivera svarscache globalt
När du har aktiverat svarscachen globalt aktiveras svarscache automatiskt för alla tillämpliga vägar.
Använd följande steg för att aktivera svarscache globalt:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret.
- På sidan Spring Cloud Gateway väljer du Konfiguration.
- I avsnittet Svarscache väljer du Aktivera svarscache och anger sedan Omfång till Instans.
- Ange Storlek och tid till live för svarscacheminnet.
- Välj Spara.
Använd följande steg för att inaktivera svarscacheminnet:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret.
- På sidan Spring Cloud Gateway väljer du Konfiguration.
- I avsnittet Svarscache avmarkerar du Aktivera svarscache.
- Välj Spara.
Aktivera svarscache på vägnivå
Om du vill aktivera svarscache för valfri väg använder du LocalResponseCache
filtret. I följande exempel visas hur du använder LocalResponseCache
filtret i konfigurationen av routningsregeln:
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Mer information finns i avsnittet LocalResponseCache i Så här använder du VMware Spring Cloud Gateway-routningsfilter med Azure Spring Apps Enterprise-planen och LocalResponseCache i VMware-dokumentationen.
I stället för att size
konfigurera och timeToLive
för varje LocalResponseCache
filter individuellt kan du ange dessa parametrar på Spring Cloud Gateway-nivå. Med det här alternativet kan du använda LocalResponseCache
filtret utan att ange dessa värden från början, samtidigt som du behåller flexibiliteten att åsidosätta dem senare.
Använd följande steg för att aktivera svarscache på vägnivå och ange size
och timeToLive
:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret.
- På sidan Spring Cloud Gateway väljer du Konfiguration.
- I avsnittet Svarscache väljer du Aktivera svarscache och anger sedan Omfång till Väg.
- Ange Storlek och tid till live för svarscacheminnet.
- Välj Spara.
Använd följande steg för att inaktivera svarscacheminnet på routningsnivå, vilket rensar size
och timeToLive
:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret.
- På sidan Spring Cloud Gateway väljer du Konfiguration.
- I avsnittet Svarscache avmarkerar du Aktivera svarscache.
- Välj Spara.
I följande exempel visas hur du använder LocalResponseCache
filtret när size
och timeToLive
anges på Spring Cloud Gateway-nivå:
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/path1/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache"
],
},
{
"predicates": [
"Path=/api/path2/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Konfigurera miljövariabler
Azure Spring Apps-tjänsten hanterar och finjusterar VMware Spring Cloud Gateway. Förutom de användningsfall som konfigurerar övervakning av programprestanda (APM) och loggnivån behöver du normalt inte konfigurera VMware Spring Cloud Gateway med miljövariabler.
Om du har krav som du inte kan uppfylla med andra konfigurationer som beskrivs i den här artikeln kan du försöka konfigurera miljövariablerna som visas i listan Vanliga programegenskaper . Kontrollera konfigurationen i testmiljön innan du tillämpar den i produktionsmiljön.
Använd följande steg för att konfigurera miljövariabler i Azure Portal:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret och väljer sedan Konfiguration.
- Fyll i nyckel/värde-paren för miljövariablerna i avsnitten Egenskaper och Hemligheter . Du kan inkludera variabler med känslig information i avsnittet Hemligheter .
- Välj Spara för att spara dina ändringar.
När du har uppdaterat miljövariabler startas VMware Spring Cloud Gateway om.
Konfigurera övervakning av programprestanda
Om du vill övervaka VMware Spring Cloud Gateway kan du konfigurera APM. I följande tabell visas de fem typer av APM Java-agenter som VMware Spring Cloud Gateway tillhandahåller, tillsammans med de miljövariabler som krävs.
Java-agenten | Obligatoriska miljövariabler |
---|---|
Programinsikter | APPLICATIONINSIGHTS_CONNECTION_STRING |
Dynatrace | DT_TENANT DT_TENANTTOKEN DT_CONNECTION_POINT |
New Relic | NEW_RELIC_LICENSE_KEY NEW_RELIC_APP_NAME |
AppDynamics | APPDYNAMICS_AGENT_APPLICATION_NAME APPDYNAMICS_AGENT_TIER_NAME APPDYNAMICS_AGENT_NODE_NAME APPDYNAMICS_AGENT_ACCOUNT_NAME APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY APPDYNAMICS_CONTROLLER_HOST_NAME APPDYNAMICS_CONTROLLER_SSL_ENABLED APPDYNAMICS_CONTROLLER_PORT |
Elastisk APM | ELASTIC_APM_SERVICE_NAME ELASTIC_APM_APPLICATION_PACKAGES ELASTIC_APM_SERVER_URL |
Andra miljövariabler som stöds finns i följande källor:
- Översikt över Application Insights
- Dynatrace-miljövariabler
- Nya miljövariabler för Relic
- AppDynamics-miljövariabler
- Elastiska miljövariabler
Konfigurera APM-integrering på tjänstinstansnivå (rekommenderas)
Om du vill aktivera APM-övervakning i VMware Spring Cloud Gateway kan du skapa APM-konfiguration på tjänstinstansnivå och binda den till Spring Cloud Gateway. På så sätt kan du enkelt konfigurera APM bara en gång och binda samma APM till Spring Cloud Gateway och till dina appar.
Använd följande steg för att konfigurera APM med hjälp av Azure Portal:
Konfigurera APM på tjänstinstansnivå med APM-namn, typ och egenskaper. Mer information finns i avsnittet Hantera API:er på tjänstinstansnivå (rekommenderas) i Konfigurera APM-integrering och CA-certifikat.
Välj Spring Cloud Gateway i navigeringsfönstret och välj sedan APM.
Välj APM-namnet i listan med APM-referensnamn . Listan innehåller alla APM-namn som konfigurerats i steg 1.
Välj Spara för att binda APM-referensnamn till Spring Cloud Gateway. Gatewayen startas om för att aktivera APM-övervakning.
Hantera APM i VMware Spring Cloud Gateway (inaktuell)
Du kan använda Azure Portal eller Azure CLI för att konfigurera APM i VMware Spring Cloud Gateway. Du kan också ange vilka typer av APM Java-agenter som ska användas och motsvarande APM-miljövariabler som de stöder.
Använd följande steg för att konfigurera APM med hjälp av Azure Portal:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret och väljer sedan Konfiguration.
- Välj APM-typen i APM-listan för att övervaka en gateway.
- Fyll i nyckel/värde-paren för APM-miljövariablerna i avsnitten Egenskaper och hemligheter . Du kan placera variabler med känslig information i Hemligheter.
- Välj Spara för att spara dina ändringar.
Det kan ta några minuter att uppdatera konfigurationen. Du bör få ett meddelande när konfigurationen är klar.
Kommentar
Azure Spring Apps uppgraderar APM-agenten och distribuerade appar med samma takt för att hålla agenternas kompatibilitet mellan VMware Spring Cloud Gateway och Azure Spring Apps.
Som standard skriver Azure Spring Apps ut loggarna för APM Java-agenten till STDOUT
. Dessa loggar ingår i VMware Spring Cloud Gateway-loggarna. Du kan kontrollera vilken version av APM-agenten som används i loggarna. Du kan köra frågor mot loggarna i Log Analytics för att felsöka.
För att APM-agenterna ska fungera korrekt ökar du processorn och minnet för VMware Spring Cloud Gateway.
Konfigurera loggnivåer
Du kan konfigurera loggnivåerna för VMware Spring Cloud Gateway på följande sätt för att få mer information eller minska loggarna:
- Du kan ange loggnivåer till
TRACE
,DEBUG
,INFO
,WARN
,ERROR
ellerOFF
. Standardloggnivån för VMware Spring Cloud Gateway ärINFO
. - Du kan inaktivera loggar genom att ange loggnivåer till
OFF
. - När loggnivån är inställd på
WARN
,ERROR
ellerOFF
, kan du behöva justera den tillINFO
när du begär support från Azure Spring Apps-teamet. Den här ändringen orsakar en omstart av VMware Spring Cloud Gateway. - När loggnivån är inställd på
TRACE
ellerDEBUG
kan det påverka prestanda för VMware Spring Cloud Gateway. Försök att undvika de här inställningarna i produktionsmiljön. - Du kan ange loggnivåer för
root
loggningsverktyget eller för specifika loggare somio.pivotal.spring.cloud.gateway
.
Följande loggare kan innehålla värdefull felsökningsinformation på TRACE
nivåerna och DEBUG
:
Logger | beskrivning |
---|---|
io.pivotal.spring.cloud.gateway |
Filter och predikat, inklusive anpassade tillägg |
org.springframework.cloud.gateway |
API-gateway |
org.springframework.http.server.reactive |
HTTP-serverinteraktioner |
org.springframework.web.reactive |
Reaktiva flöden för API Gateway |
org.springframework.boot.autoconfigure.web |
Automatisk konfiguration av API Gateway |
org.springframework.security.web |
Autentiserings- och auktoriseringsinformation |
reactor.netty |
Reaktornät |
Om du vill hämta miljövariabelnycklar lägger du till prefixet logging.level.
och anger sedan loggnivån genom att konfigurera miljön logging.level.{loggerName}={logLevel}
. I följande exempel visas stegen för Azure Portal och Azure CLI.
Använd följande steg för att konfigurera loggnivåer i Azure Portal:
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret och väljer sedan Konfiguration.
- Fyll i nyckel/värde-paren för loggnivåernas miljövariabler i avsnitten Egenskaper och hemligheter . Om loggnivån är känslig information i ditt fall kan du inkludera den med hjälp av avsnittet Hemligheter .
- Välj Spara för att spara dina ändringar.
Uppdatera tilläggskonfiguration
Med tilläggskonfigurationsfunktionen kan du anpassa vissa egenskaper för VMware Spring Cloud Gateway med hjälp av en JSON-formatsträng. Funktionen är användbar när du behöver konfigurera egenskaper som inte exponeras via REST-API:et.
Tilläggskonfigurationen är ett JSON-objekt med nyckel/värde-par som representerar önskad konfiguration. I följande exempel visas strukturen för JSON-formatet:
{
"<addon-key-name>": {
"<addon-key-name>": "<addon-value>"
...
},
"<addon-key-name>": "<addon-value>",
...
}
I följande lista visas de tilläggskonfigurationer som stöds för tilläggsnyckelnamnen och värdetyperna. Den här listan kan komma att ändras när vi uppgraderar VMware Spring Cloud Gateway-versionen.
Konfiguration av enkel inloggning:
Nyckelnamn:
sso
Värdetyp: Objekt
Egenskaper:
RolesAttributeName
(Sträng): Anger namnet på attributet som innehåller de roller som är associerade med SSO-sessionen.InactiveSessionExpirationInMinutes
(Heltal): Anger förfallotiden i minuter för inaktiva SSO-sessioner. Värdet0
innebär att sessionen aldrig upphör att gälla.
Exempel:
{ "sso": { "rolesAttributeName": "roles", "inactiveSessionExpirationInMinutes": 1 } }
Metadatakonfiguration:
Nyckelnamn:
api
Värdetyp: Objekt
Egenskaper
groupId
(Sträng): En unik identifierare för gruppen med API:er som är tillgängliga på VMware Spring Cloud Gateway-instansen. Värdet får bara innehålla gemener och siffror.
Exempel:
{ "api": { "groupId": "id1" } }
Poddkonfiguration
Nyckelnamn:
PodOverrides
, som används för att ange åsidosättningar för standardkonfigurationen av poddar.Värdetyp: Objekt
Egenskaper
Containers
: Den här matrisen innehåller konfigurationen för enskilda containrar i podden. Endast containern med namnetgateway
stöds för närvarande.Name
: Anger namnet på containern. Containern ska ha namnetgateway
.Lifecycle
:PreStop
är en livscykelkrok som körs när en container är på väg att avslutas. Med den här kroken kan du utföra nödvändig rensning innan containern stoppas.
TerminationGracePeriodSeconds
: Anger hur lång tid Kubernetes väntar på att en podd ska avslutas korrekt innan den avlivas med två skäl.
Exempel:
{ "PodOverrides": { "Containers": [ { "Name": "gateway", "Lifecycle": { "PreStop": { "Exec": { "Command": [ "/bin/sh", "-c", "sleep 20" ] } } } } ], "TerminationGracePeriodSeconds": 120 } }
När en podd som innehåller den här containern avslutas kör hooken
PreStop
kommandot/bin/sh -c 'sleep 20'
, vilket gör att containern viloläge i 20 sekunder. Den här pausen ger containern lite tid att slutföra pågående uppgifter eller rensning innan den stoppas.Inställningen
TerminationGracePeriodSeconds
ger totalt 120 sekunder för podden att avslutas korrekt, inklusive den tid det tar för alla livscykelkrokar, till exempelPreStop
.
Använd följande steg för att uppdatera tilläggskonfigurationen.
- I din Azure Spring Apps-instans väljer du Spring Cloud Gateway i navigeringsfönstret och väljer sedan Konfiguration.
- Ange JSON-värdet för Addon Configs.
- Välj Spara.