Share via


Adatátalakítások a Container Insightsban

Ez a cikk azt ismerteti, hogyan implementálhat adatátalakításokat a Container Insightsban. Az Azure Monitor átalakításokkal módosíthatja vagy szűrheti az adatokat, mielőtt betöltené azokat a Log Analytics-munkaterületen. Lehetővé teszik, hogy olyan műveleteket hajtson végre, mint a fürtből gyűjtött adatok szűrése a költségek megtakarítása vagy a bejövő adatok feldolgozása az adat lekérdezések segítése érdekében.

Adatgyűjtési szabályok (DCRs)

Az átalakítások olyan adatgyűjtési szabályokban (DCR-ekben) valósulnak meg, amelyek az Azure Monitor adatgyűjtésének konfigurálására szolgálnak. Amikor tárolóelemzéseket készít egy fürthöz, létrejön egy DCR az MSCI-cluster-region-\cluster-name névvel>.<<> Ezt a DCR-t az Adatgyűjtési szabályokból tekintheti meg az Azure Portal Monitor menüjében. Átalakítás létrehozásához vagy módosítania kell ezt a DCR-t, vagy egy egyéni DCR-vel kell előkészítenie a fürtöt, amely tartalmazza az átalakítást.

Az alábbi táblázat a DCR szerkesztésének különböző módszereit ismerteti, a cikk többi része pedig a Container Insights-adatok átalakításához szükséges módosítások részleteit ismerteti.

Metódus Leírás
Új fürt Egy meglévő ARM-sablonnal előkészíthet egy AKS-fürtöt a Container Insightsba. Módosítsa a dataFlows sablonban lévő DCR szakaszát úgy, hogy az az alábbi mintákhoz hasonló átalakítást tartalmazzon.
Meglévő DCR Miután egy fürtöt előkészített a Container Insights szolgáltatásba, szerkessze a DCR-jét, hogy az átalakítást az adatgyűjtési szabályok szerkesztésének folyamatával végezze el.

Adatforrások

A DCR DataSources szakasza határozza meg a DCR által feldolgozni kívánt bejövő adatok különböző típusait. A Container Insights esetében ez magában foglalja a ContainerInsights bővítményt, amely egy vagy több előre definiáltstreams, a Microsoft előtaggal kezdődően.

A Tárolóelemzési adatfolyamok listája a DCR-ben a fürthöz kiválasztott költségkészlettől függ. Ha összegyűjti az összes táblát, a DCR a Microsoft-ContainerInsights-Group-Default streamet fogja használni, amely egy csoportos stream, amely tartalmazza a Stream-értékekben felsorolt összes streamet. Ha átalakítást szeretne használni, ezt egyéni streamekre kell módosítania. Minden más előre beállított költségbeállítás már külön streameket fog használni.

Az alábbi kódrészlet a streamet Microsoft-ContainerInsights-Group-Default mutatja. Az egyes streamek mintájához tekintse meg a minta DCR-eket .

"dataSources": {
    "extensions": [
        {
            "name": "ContainerInsightsExtension",
            "extensionName": "ContainerInsights",
            "extensionSettings": { },
            "streams": [
                "Microsoft-ContainerInsights-Group-Default"
            ]
        }
    ]
}

Adatfolyamok

A DCR adatfolyamok szakasza megegyezik a streamekkel és a célokkal. Az átalakítást nem igénylő streamek egyetlen bejegyzésben csoportosíthatók, amely csak a munkaterület célhelyét tartalmazza. Hozzon létre egy külön bejegyzést a munkaterület célhelyét és tulajdonságát transformKql tartalmazó átalakítást igénylő streamekhez.

Az alábbi kódrészlet egyetlen dataFlows , átalakítással rendelkező stream szakaszát mutatja be. Tekintse meg a minta tartományvezérlőket több adatfolyamhoz egyetlen DCR-ben.

"dataFlows": [
    {
        "streams": [
            "Microsoft-ContainerLogV2"
        ],
        "destinations": [
            "ciworkspace"
        ],
        "transformKql": "source | where PodNamespace == 'kube-system'"
    }
]

Minta DCR-ek

Az alábbi minták a tárolóelemzések dcrs-eit mutatják be átalakításokkal. Használja ezeket a mintákat kiindulási pontként, majd szükség szerint testre szabhatja az adott követelményeknek való megfeleléshez.

Szűrés egy adott névtérre

Ez a minta a napló lekérdezéssel source | where PodNamespace == 'kube-system' gyűjt adatokat egyetlen névtérhez a következőben ContainerLogsV2: . Ebben a lekérdezésben lecserélheti kube-system egy másik névtérre, vagy lecserélheti a where záradékot egy másik szűrőre, amely megfelel az összegyűjtendő adatoknak. A többi adatfolyam külön adatfolyamba van csoportosítva, és nem alkalmaz átalakítást.

{
    "properties": {
        "dataSources": {
            "syslog": [],
            "extensions": [
                {
                    "name": "ContainerInsightsExtension",                    
                    "extensionName": "ContainerInsights",
                    "extensionSettings": { },
                    "streams": [
                        "Microsoft-ContainerLog",
                        "Microsoft-ContainerLogV2",
                        "Microsoft-KubeEvents",
                        "Microsoft-KubePodInventory",
                        "Microsoft-KubeNodeInventory",
                        "Microsoft-KubePVInventory",
                        "Microsoft-KubeServices",
                        "Microsoft-KubeMonAgentEvents",
                        "Microsoft-InsightsMetrics",
                        "Microsoft-ContainerInventory",
                        "Microsoft-ContainerNodeInventory",
                        "Microsoft-Perf"
                    ]
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
                    "name": "ciworkspace"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-ContainerLog",
                    "Microsoft-KubeEvents",
                    "Microsoft-KubePodInventory",
                    "Microsoft-KubeNodeInventory",
                    "Microsoft-KubePVInventory",
                    "Microsoft-KubeServices",
                    "Microsoft-KubeMonAgentEvents",
                    "Microsoft-InsightsMetrics",
                    "Microsoft-ContainerNodeInventory",
                    "Microsoft-Perf"
                ],
                "destinations": [
                    "ciworkspace"
                ]
            },
            {
                "streams": [
                    "Microsoft-ContainerLogV2"
                ],
                "destinations": [
                    "ciworkspace"
                ],
                "transformKql": "source | where PodNamespace == 'kube-system'"
            }
        ] 
    }
}

Oszlop hozzáadása táblázathoz

Ez a minta a napló lekérdezéssel source | extend new_CF = ContainerName küld adatokat a táblához hozzáadott egyéni oszlopba ContainerLogV2 . Ehhez az átalakításhoz hozzá kell adnia az egyéni oszlopot a táblához az Egyéni oszlop hozzáadása vagy törlése című szakaszban leírt eljárással. A többi adatfolyam külön adatfolyamba van csoportosítva, és nem alkalmaz átalakítást.

{
    "properties": {
        "dataSources": {
            "syslog": [],
            "extensions": [
                {
                    "extensionName": "ContainerInsights",
                    "extensionSettings": { },
                    "name": "ContainerInsightsExtension",
                    "streams": [
                        "Microsoft-ContainerLog",
                        "Microsoft-ContainerLogV2",
                        "Microsoft-KubeEvents",
                        "Microsoft-KubePodInventory",
                        "Microsoft-KubeNodeInventory",
                        "Microsoft-KubePVInventory",
                        "Microsoft-KubeServices",
                        "Microsoft-KubeMonAgentEvents",
                        "Microsoft-InsightsMetrics",
                        "Microsoft-ContainerInventory",
                        "Microsoft-ContainerNodeInventory",
                        "Microsoft-Perf"
                    ]
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
                "name": "ciworkspace"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-ContainerLog",
                    "Microsoft-KubeEvents",
                    "Microsoft-KubePodInventory",
                    "Microsoft-KubeNodeInventory",
                    "Microsoft-KubePVInventory",
                    "Microsoft-KubeServices",
                    "Microsoft-KubeMonAgentEvents",
                    "Microsoft-InsightsMetrics",
                    "Microsoft-ContainerNodeInventory",
                    "Microsoft-Perf"
                ],
                "destinations": [
                "ciworkspace"
                ]
            },
            {
                "streams": [
                    "Microsoft-ContainerLogV2"
                ],
                "destinations": [
                    "ciworkspace"
                ],
                "transformKql": "source\n | extend new_CF = ContainerName"
            }
        ]
    }
}

Következő lépések