Megosztás a következőn keresztül:


Adatok lekérése az NLog-fogadóval

Az NLog egy rugalmas és ingyenes naplózási platform különböző .NET-platformokhoz, beleértve a .NET szabványt is. Az NLog lehetővé teszi, hogy több célhoz, például adatbázishoz, fájlhoz vagy konzolhoz írjon. Az NLog használatával menet közben módosíthatja a naplózási konfigurációt. Az NLog-fogadó az NLog egyik célja, amely lehetővé teszi a naplóüzenetek KQL-fürtbe való küldését. A beépülő modul az Azure-Kusto-Data kódtárra épül, és hatékony módot kínál a naplók fürtbe való elsüllyesztésére.

Ebből a cikkből megtudhatja, hogyan kérhet le adatokat az nLog-fogadóval.

Az adatösszekötők teljes listájáért tekintse meg az adatösszekötők áttekintését.

Előfeltételek

  • .NET SDK 6.0 vagy újabb
  • Azure-előfizetés. Hozzon létre egy ingyenes Azure-fiókot.
  • KQL-adatbázis a Microsoft Fabricben. Másolja az adatbázis URI-ját az Access meglévő KQL-adatbázisának utasításaival.
  • KQL-lekérdezéskészlet. Ezt nevezzük a lekérdezési környezetnek.

Saját környezet beállítása

Ebben a szakaszban előkészíti a környezetet az NLog-összekötő használatára.

Telepítse a(z) csomagot

Adja hozzá az NLog.Azure.Kusto NuGet-csomagot. Használja az Install-Package parancsot, amely megadja a NuGet-csomag nevét.

Install-Package NLog.Azure.Kusto

Microsoft Entra-alkalmazásregisztráció létrehozása

A Microsoft Entra alkalmazáshitelesítést olyan alkalmazásokhoz használják, amelyeknek a felhasználó jelenléte nélkül kell hozzáférni a platformhoz. Ha az NLog-összekötővel szeretne adatokat lekérni, létre kell hoznia és regisztrálnia kell egy Microsoft Entra szolgáltatásnevet, majd engedélyeznie kell ezt az egyszerű felhasználót, hogy adatokat szerezzen be egy adatbázisból.

A Microsoft Entra szolgáltatásnév az Azure Portalon vagy programozott módon hozható létre, ahogyan az alábbi példában is látható.

Ez a szolgáltatásnév lesz az összekötő által használt identitás, amellyel adatokat írhat a táblában a Kusto-ban. Később engedélyt ad a szolgáltatásnévnek a Kusto-erőforrások eléréséhez.

  1. Jelentkezzen be az Azure-előfizetésbe az Azure CLI-vel. Ezután hitelesítés a böngészőben.

    az login
    
  2. Válassza ki az előfizetést az egyszerű szolgáltatás üzemeltetéséhez. Erre a lépésre akkor van szükség, ha több előfizetéssel rendelkezik.

    az account set --subscription YOUR_SUBSCRIPTION_GUID
    
  3. Hozza létre a szolgáltatásnevet. Ebben a példában a szolgáltatásnév neve my-service-principal.

    az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
    
  4. A visszaadott JSON-adatokból másolja ki a appId, passwordés tenant későbbi használatra.

    {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "displayName": "my-service-principal",
      "name": "my-service-principal",
      "password": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "tenant": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
    

Létrehozta a Microsoft Entra-alkalmazást és a szolgáltatásnevet.

Mentse a következő, későbbi lépésekben használandó értékeket: * Alkalmazás (ügyfél) azonosítója * Címtár (bérlő) azonosítója * Ügyfél titkos kulcsának értéke

A Microsoft Entra alkalmazás engedélyeinek megadása

  1. A lekérdezési környezetben futtassa a következő felügyeleti parancsot, és cserélje le a helyőrzőket. Cserélje le a DatabaseName elemet a céladatbázis nevére, az ApplicationID pedig a korábban mentett értékre. Ez a parancs az adatbázis-betöltési szerepkört adja az alkalmazásnak. További információ: Adatbázis-biztonsági szerepkörök kezelése.

    .add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'NLOG Azure App Registration role'
    

    Feljegyzés

    Az utolsó paraméter egy sztring, amely jegyzetekként jelenik meg az adatbázishoz társított szerepkörök lekérdezésekor. További információ: Meglévő biztonsági szerepkörök megtekintése.

Tábla- és betöltési leképezés létrehozása

Hozzon létre egy üres táblát a bejövő adatok céltáblájaként.

A célkonfiguráció hozzáadása az alkalmazáshoz

A következő lépések végrehajtásával:

  • A célkonfiguráció hozzáadása
  • Készítsen buildet és futtassa az alkalmazást
  1. Adja hozzá a célhelyet az NLog-konfigurációs fájlhoz.

    <targets>
        <target name="targettable" xsi:type="TargetTable"
        IngestionEndpointUri="<Connection string>"
        Database="<Database name>"
        TableName="<Table name>"
        ApplicationClientId="<Entra App clientId>"
        ApplicationKey="<Entra App key>"
        Authority="<Entra tenant id>"
        />
    </targets>
    
    ##Rules
    <rules>
        <logger name="*" minlevel="Info" writeTo="adxtarget" />
    </rules>
    

    További lehetőségekért lásd az Nlog-összekötőt.

  2. Adatok küldése az NLog-fogadóval. Példa:

    logger.Info("Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs);
    logger.Error(exceptionObj, "This was exception");
    logger.Debug("Processed {@Position} in {Elapsed:000} ms. ", position, elapsedMs);
    logger.Warn("Processed {@Position} in {Elapsed:000} ms. ", position, elapsedMs);
    
  3. Hozza létre és futtassa az alkalmazást. Ha például Visual Studiót használ, nyomja le az F5 billentyűt.

  4. Ellenőrizze, hogy az adatok a fürtben találhatóak-e. A lekérdezési környezetben futtassa a következő lekérdezést, amely a helyőrzőt a korábban használt tábla nevére cseréli:

    <TableName>
    | take 10
    

A mintaalkalmazás futtatása

Példaként használja a mintanapló-generátor alkalmazást, amely bemutatja, hogyan konfigurálhatja és használhatja az NLog-fogadót.

  1. Klónozza az NLog-fogadó git-adattárát a következő git paranccsal:

    git clone https://github.com/Azure/azure-kusto-nlog-sink.git
    
  2. Állítsa be a következő környezeti változókat, hogy az NLog-konfigurációs fájl azonnal beolvassa őket a környezetből:

    Változó Leírás
    INGEST_ENDPOINT Az adatcél betöltési URI-ja. Ezt az URI-t az előfeltételek között másolta.
    ADATBÁZIS A céladatbázis kis- és nagybetűkre érzékeny neve.
    APP_ID A hitelesítéshez szükséges alkalmazás-ügyfél-azonosító. Ezt az értéket a Microsoft Entra-alkalmazásregisztráció létrehozásakor mentette.
    APP_KEY A hitelesítéshez szükséges alkalmazáskulcs. Ezt az értéket a Microsoft Entra-alkalmazásregisztráció létrehozásakor mentette.
    AZURE_TENANT_ID Annak a bérlőnek az azonosítója, amelyben az alkalmazás regisztrálva van. Ezt az értéket a Microsoft Entra-alkalmazásregisztráció létrehozásakor mentette.

    A környezeti változókat manuálisan vagy a következő parancsokkal állíthatja be:

    $env:INGEST_ENDPOINT="<ingestionURI>"
    $env:APP_ID="<appId>"
    $env:APP_KEY="<appKey>"
    $env:AZURE_TENANT_ID="<tenant>"
    $env:DATABASE="<databaseName>"
    
  3. A terminálon belül keresse meg a klónozott adattár gyökérmappáját, és futtassa a következő dotnet parancsot az alkalmazás létrehozásához:

    cd .\NLog.Azure.Kusto.Samples\
    dotnet build
    
  4. A terminálon belül keresse meg a mintamappát, és futtassa a következő dotnet parancsot az alkalmazás futtatásához:

    dotnet run
    
  5. A lekérdezési környezetben válassza ki a céladatbázist, és futtassa a következő lekérdezést a betöltött adatok felderítéséhez.

    ADXNLogSample
    | take 10
    

    A kimenetnek a következő képhez hasonlóan kell kinéznie:

    Képernyőkép a 10-et tartalmazó táblázatról és az eredményekről