Felügyelt Azure Spring Apps-összetevők naplóinak valós idejű streamelése
Feljegyzés
Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.
Ez a cikk a következőre vonatkozik:❌ Basic/Standard ✔️ Enterprise
Ez a cikk azt ismerteti, hogyan használhatja az Azure CLI-t a felügyelt összetevők valós idejű naplóinak lekérésére hibaelhárítás céljából. Diagnosztikai beállítások használatával is elemezheti a diagnosztikai adatokat az Azure Spring Appsben. További információ: Naplók és metrikák elemzése diagnosztikai beállításokkal.
Az Azure Spring Apps alkalmazásainak streamelési naplóiért tekintse meg az Azure Spring Apps alkalmazáskonzoljának valós idejű naplóit.
Előfeltételek
- Azure CLI az Azure Spring Apps-bővítménysel, 1.19.0-s vagy újabb verzióval. A bővítményt a következő paranccsal telepítheti:
az extension add --name spring
.
Támogatott felügyelt összetevők
Az alábbi táblázat a jelenleg támogatott felügyelt összetevőket és azok alösszetevőit sorolja fel:
Felügyelt összetevő | Részösszetevők |
---|---|
Alkalmazáskonfigurációs szolgáltatás | application-configuration-service flux-source-controller (Az ACS Gen2 verziójában támogatott) |
Spring Cloud Gateway | spring-cloud-gateway spring-cloud-gateway-operator |
A következő paranccsal listázhatja az összes alösszetevőt:
az spring component list
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name>
Azure-szerepkör hozzárendelése
A felügyelt összetevők naplóinak streameléséhez hozzá kell rendelnie a megfelelő Azure-szerepköröket. Az alábbi táblázat felsorolja a szükséges szerepköröket és azokat a műveleteket, amelyekhez ezek a szerepkörök engedélyeket kapnak:
Felügyelt összetevő | Szükséges szerepkör | Üzemeltetés |
---|---|---|
Alkalmazáskonfigurációs szolgáltatás | Azure Spring Apps alkalmazáskonfigurációs szolgáltatásnapló-olvasó szerepköre | Microsoft.AppPlatform/Spring/ApplicationConfigurationService/logstream/action |
Spring Cloud Gateway | Azure Spring Apps Spring Cloud Gateway naplóolvasó szerepkör | Microsoft.AppPlatform/Spring/SpringCloudGateway/logstream/action |
Azure-szerepkör hozzárendeléséhez kövesse az alábbi lépéseket az Azure Portal használatával:
Nyissa meg az Azure Portalt.
Nyissa meg az Azure Spring Apps szolgáltatáspéldányt.
A navigációs ablakban válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
A Hozzáférés-vezérlés (IAM) lapon válassza a Hozzáadás, majd a Szerepkör-hozzárendelés hozzáadása lehetőséget.
A Szerepkör-hozzárendelés hozzáadása lap Név listájában keresse meg és jelölje ki a célszerepkört, majd válassza a Tovább gombot.
Válassza a Tagok lehetőséget, majd keresse meg és válassza ki a felhasználónevét.
Válassza az Áttekintés + hozzárendelés lehetőséget.
Az összetevő összes példányának listázása
A következő paranccsal listázhatja egy összetevő összes példányát:
az spring component instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--component <component-name>
Ha például az ACS Gen2-verzió összes példányát flux-source-controller
szeretné listázni, használja a következő parancsot:
az spring component instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--component flux-source-controller
Faroknaplók megtekintése
Ez a szakasz példákat mutat be arra, hogy az Azure CLI használatával hoz létre tail naplókat.
Adott példány faroknaplóinak megtekintése
Egy adott példány faroknaplóinak megtekintéséhez használja a az spring component logs
parancsot az -i/--instance
argumentummal, ahogyan az a következő szakaszban látható.
Az application-configuration-service egy példányának faroknaplóinak megtekintése
A következő paranccsal tekintheti meg a következőhöz tartozó application-configuration-service
faroknaplókat:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name application-configuration-service \
--instance <instance-name>
Az ACS Gen2 esetében a parancs az alábbi példához hasonló naplókat ad vissza:
...
2023-12-18T07:09:54.020Z INFO 16715 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8090 (https)
2023-12-18T07:09:54.116Z INFO 16715 --- [main] org.apache.juli.logging.DirectJDKLog : Starting service [Tomcat]
2023-12-18T07:09:54.117Z INFO 16715 --- [main] org.apache.juli.logging.DirectJDKLog : Starting Servlet engine: [Apache Tomcat/10.1.12]
2023-12-18T07:09:54.522Z INFO 16715 --- [main] org.apache.juli.logging.DirectJDKLog : Initializing Spring embedded WebApplicationContext
2023-12-18T07:09:54.524Z INFO 16715 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 14100 ms
2023-12-18T07:09:56.920Z INFO 16715 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8090 (https) with context path ''
2023-12-18T07:09:57.528Z INFO 16715 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http)
2023-12-18T07:09:57.529Z INFO 16715 --- [main] org.apache.juli.logging.DirectJDKLog : Starting service [Tomcat]
2023-12-18T07:09:57.529Z INFO 16715 --- [main] org.apache.juli.logging.DirectJDKLog : Starting Servlet engine: [Apache Tomcat/10.1.12]
2023-12-18T07:09:57.629Z INFO 16715 --- [main] org.apache.juli.logging.DirectJDKLog : Initializing Spring embedded WebApplicationContext
2023-12-18T07:09:57.629Z INFO 16715 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 603 ms
2023-12-18T07:09:57.824Z INFO 16715 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''
2023-12-18T07:09:58.127Z INFO 16715 --- [main] o.springframework.boot.StartupInfoLogger : Started ReconcilerApplication in 21.005 seconds (process running for 22.875)
...
A flux-source-controller egy példányának faroknaplóinak megtekintése
A következő paranccsal tekintheti meg a következőhöz tartozó flux-source-controller
faroknaplókat:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name flux-source-controller \
--instance <instance-name>
A parancs az alábbi példához hasonló naplókat ad vissza:
...
{"level":"info","ts":"2023-12-18T07:07:54.615Z","logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":"2023-12-18T07:07:54.615Z","logger":"setup","msg":"starting manager"}
{"level":"info","ts":"2023-12-18T07:07:54.615Z","msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}
{"level":"info","ts":"2023-12-18T07:07:54.615Z","msg":"Starting server","kind":"health probe","addr":"[::]:9440"}
{"level":"info","ts":"2023-12-18T07:07:54.817Z","logger":"runtime","msg":"attempting to acquire leader lease flux-system/source-controller-leader-election...\n"}
{"level":"info","ts":"2023-12-18T07:07:54.830Z","logger":"runtime","msg":"successfully acquired lease flux-system/source-controller-leader-election\n"}
...
A spring-cloud-gateway egy példányának faroknaplóinak megtekintése
A következő paranccsal tekintheti meg a következőhöz tartozó spring-cloud-gateway
faroknaplókat:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name spring-cloud-gateway \
--instance <instance-name>
A parancs az alábbi példához hasonló naplókat ad vissza:
...
2023-12-11T14:13:40.310Z INFO 1 --- [ main] i.p.s.c.g.s.SsoDeactivatedConfiguration : SSO is deactivated, setting up default security filters
2023-12-11T14:13:40.506Z INFO 1 --- [ main] .h.HazelcastReactiveSessionConfiguration : Configuring Hazelcast as a session management storage
2023-12-11T14:13:51.008Z INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8443
2023-12-11T14:13:51.810Z INFO 1 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 7 endpoint(s) beneath base path '/actuator'
2023-12-11T14:13:52.410Z INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8090
2023-12-11T14:13:52.907Z INFO 1 --- [ main] i.p.s.c.g.r.h.HazelcastRateLimitsRemover : Removing Hazelcast map 'GLOBAL_RATE_LIMIT' with rate limit information
2023-12-11T14:13:52.912Z INFO 1 --- [ main] i.p.s.cloud.gateway.GatewayApplication : Started GatewayApplication in 36.084 seconds (process running for 38.651)
...
A spring-cloud-gateway-operátor egy példányának faroknaplóinak megtekintése
A következő paranccsal tekintheti meg a következőhöz tartozó spring-cloud-gateway-operator
faroknaplókat:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name spring-cloud-gateway-operator \
--instance <instance-name>
A parancs az alábbi példához hasonló naplókat ad vissza:
...
2023-12-01T08:37:05.080Z INFO 1 --- [ main] c.v.t.s.OperatorApplication : Starting OperatorApplication v2.0.6 using Java 17.0.7 with PID 1 (/workspace/BOOT-INF/classes started by cnb in /workspace)
2023-12-01T08:37:05.157Z INFO 1 --- [ main] c.v.t.s.OperatorApplication : No active profile set, falling back to 1 default profile: "default"
2023-12-01T08:37:14.379Z INFO 1 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path '/actuator'
2023-12-01T08:37:15.274Z INFO 1 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080
2023-12-01T08:37:15.366Z INFO 1 --- [ main] c.v.t.s.OperatorApplication : Started OperatorApplication in 11.489 seconds (process running for 12.467)
...
Az összes példány faroknaplóinak megtekintése egy parancsban
Az összes példány faroknaplóinak megtekintéséhez használja az --all-instances
argumentumot az alábbi parancsban látható módon. A példány neve az egyes naplósorok előtagja. Több példány esetén a rendszer kötegben nyomtatja a naplókat minden példányhoz, így az egyik példány naplói nem kapcsolódnak egy másik példány naplóihoz.
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <component-name> \
--all-instances
Új naplók folyamatos streamelése
Alapértelmezés szerint csak a konzolra streamelt meglévő naplókat nyomtatja ki, az spring component logs
majd kilép. Ha új naplókat szeretne streamelni, adja hozzá az argumentumot -f/--follow
.
Ha az -f/--follow
azonnali naplók nyomon követésére szolgáló lehetőséget használja, az Azure Spring Apps naplóstreamelési szolgáltatás percenként szívverési naplókat küld az ügyfélnek, kivéve, ha az összetevő folyamatosan naplókat ír. A szívverési naplóüzenetek a következő formátumot használják: 2023-12-18 09:12:17.745: No log from server
.
Adott példány naplóinak streamelése
Az alábbi paranccsal streamelhet naplókat egy adott példányhoz:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <component-name> \
--instance <instance-name> \
--follow
Naplók streamelése az összes példányhoz
A következő paranccsal streamelje a naplókat az összes példányhoz:
az spring component logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <component-name> \
--all-instances \
--follow
Ha egy összetevő több példányának naplóit streameli, az egyik példány naplói más példányok naplóival fonódik össze.
Naplók streamelése virtuális hálózati injektálási példányban
Az egyéni virtuális hálózaton üzembe helyezett Azure Spring Apps-példányok esetében alapértelmezés szerint hozzáférhet a naplóstreameléshez egy magánhálózatról. További információ: Azure Spring Apps üzembe helyezése virtuális hálózaton
Az Azure Spring Apps lehetővé teszi a valós idejű felügyelt összetevők naplóinak elérését egy nyilvános hálózatról.
Feljegyzés
Ha engedélyezi a naplóstreamelési végpontot a nyilvános hálózaton, nyilvános bejövő IP-címet ad hozzá a virtuális hálózathoz. Ügyeljen arra, hogy körültekintően járjon el, ha ez aggodalomra ad okot.
A naplóstreamelési végpont nyilvános hálózaton való engedélyezéséhez kövesse az alábbi lépéseket:
Válassza ki a virtuális hálózaton üzembe helyezett Azure Spring Apps szolgáltatáspéldányt, majd a navigációs menü Hálózatkezelés elemét.
Válassza a Vnet injektálási lapfülét.
Állítsa át a dataplane-erőforrások állapotát a nyilvános hálózaton, hogy engedélyezve legyen a naplóstreamelési végpont a nyilvános hálózaton. Ez a folyamat néhány percet vesz igénybe.
A naplóstream nyilvános végpontjának engedélyezése után a felügyelt összetevők naplóit ugyanúgy érheti el egy nyilvános hálózatról, mint egy normál példányt.
A naplóstreamelési nyilvános végpont felé történő forgalom védelme
A felügyelt összetevők naplóstreamelése az Azure RBAC használatával hitelesíti az összetevőkkel való kapcsolatokat. Ennek eredményeképpen csak a megfelelő szerepkörrel rendelkező felhasználók férhetnek hozzá a naplókhoz.
A felügyelt összetevők biztonságának biztosítása érdekében, amikor nyilvános végpontot tesz elérhetővé számukra, biztonságossá teheti a végpontot úgy, hogy hálózati biztonsági csoporttal szűri a szolgáltatás felé irányuló hálózati forgalmat. További információ : Oktatóanyag: Hálózati forgalom szűrése hálózati biztonsági csoporttal az Azure Portal használatával. A hálózati biztonsági csoportok olyan biztonsági szabályokat tartalmaznak, amelyek engedélyezik vagy letiltják a különböző típusú Azure-erőforrások bejövő vagy kimenő hálózati forgalmát. Az egyes szabályokhoz meghatározhatja a forrást és a célt, valamint a használni kívánt portot és protokollt.
Feljegyzés
Ha a naplóstream nyilvános végpontjának engedélyezése után nem fér hozzá a virtuális hálózati injektálási példány felügyelt összetevőnaplóihoz, ellenőrizze a hálózati biztonsági csoportot, hogy engedélyezte-e az ilyen bejövő forgalmat.
Az alábbi táblázat egy olyan alapvető szabályt mutat be, amelyet ajánlott. A végponthoz <service-name>.private.azuremicroservices.io
hasonló nslookup
parancsokkal lekérheti a szolgáltatás cél IP-címét.
Prioritás | Név | Kikötő | Protokoll | Forrás | Cél | Művelet |
---|---|---|---|---|---|---|
100 | Szabály neve | 80 | TCP | Internet | Szolgáltatás IP-címe | Engedélyezés |
110 | Szabály neve | 443 | TCP | Internet | Szolgáltatás IP-címe | Engedélyezés |