Przekazywanie dzienników do usługi Azure Monitor

Okresowo można eksportować dzienniki, a następnie przekazywać je na platformę Azure. Eksportowanie i przekazywanie dzienników powoduje również utworzenie i zaktualizowanie kontrolera danych, wystąpienia zarządzanego SQL i zasobów serwera PostgreSQL na platformie Azure.

Zanim rozpoczniesz

Przed przekazaniem dzienników należy wykonać następujące czynności:

  1. Tworzenie obszaru roboczego usługi Log Analytics
  2. Przypisywanie identyfikatora i klucza współużytkowanego do zmiennych środowiskowych

Przykłady w tym artykule używają nawiasów kątowych < ... > do identyfikowania wartości, które należy zastąpić przed uruchomieniem skryptu. Zastąp nawiasy i wartości wewnątrz nawiasów kwadratowych.

Tworzenie obszaru roboczego usługi Log Analytics

Aby utworzyć obszar roboczy usługi Log Analytics, wykonaj te polecenia, aby utworzyć obszar roboczy usługi Log Analytics i ustawić informacje o dostępie do zmiennych środowiskowych.

Uwaga

Pomiń ten krok, jeśli masz już obszar roboczy.

az monitor log-analytics workspace create --resource-group <resource group name> --workspace-name <some name you choose>

Przykładowe wyjście:

{
  "customerId": "d6abb435-2626-4df1-b887-445fe44a4123",
  "eTag": null,
  "id": "/subscriptions/<Subscription ID>/resourcegroups/user-arc-demo/providers/microsoft.operationalinsights/workspaces/user-logworkspace",
  "location": "eastus",
  "name": "user-logworkspace",
  "portalUrl": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "user-arc-demo",
  "retentionInDays": 30,
  "sku": {
    "lastSkuUpdate": "Thu, 30 Jul 2020 22:37:53 GMT",
    "maxCapacityReservationLevel": 3000,
    "name": "pergb2018"
  },
  "source": "Azure",
  "tags": null,
  "type": "Microsoft.OperationalInsights/workspaces"
}

Przypisywanie identyfikatora i klucza współużytkowanego do zmiennych środowiskowych

Zapisz analizę customerId obszaru roboczego dziennika jako zmienną środowiskową, która będzie używana później:

SET WORKSPACE_ID=<customerId>

To polecenie zwraca klucze dostępu wymagane do nawiązania połączenia z obszarem roboczym usługi Log Analytics:

az monitor log-analytics workspace get-shared-keys --resource-group MyResourceGroup --workspace-name MyLogsWorkpace

Przykładowe wyjście:

{
  "primarySharedKey": "JXzQp1RcGgjXFCDS3v0sXoxPvbgCoGaIv35lf11Km2WbdGFvLXqaydpaj1ByWGvKoCghL8hL4BRoypXxkLr123==",
  "secondarySharedKey": "p2XHSxLJ4o9IAqm2zINcEmx0UWU5Z5EZz8PQC0OHpFjdpuVaI0zsPbTv5VyPFgaCUlCZb2yEbkiR4eTuTSF123=="
}

Zapisz klucz podstawowy w zmiennej środowiskowej, która będzie używana później:

SET WORKSPACE_SHARED_KEY=<primarySharedKey>

Weryfikowanie zmiennych środowiskowych

Upewnij się, że wszystkie wymagane zmienne środowiskowe są ustawione, jeśli chcesz:

echo %WORKSPACE_ID%
echo %WORKSPACE_SHARED_KEY%

Po ustawieniu zmiennych środowiskowych można przekazać dzienniki do obszaru roboczego dziennika.

Konfigurowanie automatycznego przekazywania dzienników do obszaru roboczego usługi Azure Log Analytics w trybie bezpośrednim przy użyciu az interfejsu wiersza polecenia

W trybie bezpośredniego połączenia przekazywanie dzienników można skonfigurować tylko w trybie automatycznym. To automatyczne przekazywanie metryk można skonfigurować podczas wdrażania lub po wdrożeniu kontrolera danych usługi Azure Arc.

Włączanie automatycznego przekazywania dzienników do obszaru roboczego usługi Azure Log Analytics

Jeśli automatyczne przekazywanie dzienników zostało wyłączone podczas wdrażania kontrolera danych usługi Azure Arc, uruchom poniższe polecenie, aby włączyć automatyczne przekazywanie dzienników.

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs true
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs true

Włączanie automatycznego przekazywania dzienników do obszaru roboczego usługi Azure Log Analytics

Jeśli automatyczne przekazywanie dzienników zostało włączone podczas wdrażania kontrolera danych usługi Azure Arc, uruchom poniższe polecenie, aby wyłączyć automatyczne przekazywanie dzienników.

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs false
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs false

Konfigurowanie automatycznego przekazywania dzienników do obszaru roboczego usługi Azure Log Analytics w trybie bezpośrednim przy użyciu kubectl interfejsu wiersza polecenia

Włączanie automatycznego przekazywania dzienników do obszaru roboczego usługi Azure Log Analytics

Aby skonfigurować automatyczne przekazywanie dzienników przy użyciu polecenia kubectl:

  • upewnij się, że obszar roboczy usługi Log Analytics został utworzony zgodnie z opisem we wcześniejszej sekcji
  • utwórz wpis tajny kubernetes dla obszaru roboczego usługi Log Analytics przy użyciu polecenia WorkspaceID i SharedAccessKey w następujący sposób:
apiVersion: v1
data:
  primaryKey: <base64 encoding of Azure Log Analytics workspace primary key>
  workspaceId: <base64 encoding of Azure Log Analytics workspace Id>
kind: Secret
metadata:
  name: log-workspace-secret
  namespace: <your datacontroller namespace>
type: Opaque
  • Aby utworzyć wpis tajny, uruchom polecenie:

    kubectl apply -f <myLogAnalyticssecret.yaml> --namespace <mynamespace>
    
  • Aby otworzyć ustawienia jako plik yaml w edytorze domyślnym, uruchom polecenie:

    kubectl edit datacontroller <DC name> --name <namespace>
    
  • zaktualizuj właściwość autoUploadLogs na "true", a następnie zapisz plik

Włączanie automatycznego przekazywania dzienników do obszaru roboczego usługi Azure Log Analytics

Aby wyłączyć automatyczne przekazywanie dzienników, uruchom polecenie:

kubectl edit datacontroller <DC name> --name <namespace>
  • zaktualizuj właściwość autoUploadLogs na "false", a następnie zapisz plik

Przekazywanie dzienników do usługi Azure Monitor w trybie pośrednim

Aby przekazać dzienniki dla wystąpienia zarządzanego SQL włączonego przez usługi Azure Arc i serwery PostgreSQL z obsługą usługi Azure Arc, uruchom następujące polecenia interfejsu wiersza polecenia:

  1. Eksportuj wszystkie dzienniki do określonego pliku:

    Uwaga

    Eksportowanie informacji o użyciu/rozliczeniach, metryk i dzienników przy użyciu polecenia az arcdata dc export wymaga teraz pomijania weryfikacji SSL. Zostanie wyświetlony monit o obejście weryfikacji SSL lub ustawienie zmiennej środowiskowej AZDATA_VERIFY_SSL=no w celu uniknięcia monitowania. Obecnie nie ma możliwości skonfigurowania certyfikatu SSL dla interfejsu API eksportu kontrolera danych.

    az arcdata dc export --type logs --path logs.json  --k8s-namespace arc
    
  2. Przekaż dzienniki do obszaru roboczego usługi Log Analytics usługi Azure Monitor:

    az arcdata dc upload --path logs.json
    

Wyświetlanie dzienników w witrynie Azure Portal

Po przekazaniu dzienników powinno być możliwe wykonywanie do nich zapytań za pomocą eksploratora zapytań dziennika w następujący sposób:

  1. Otwórz witrynę Azure Portal, a następnie wyszukaj obszar roboczy według nazwy na pasku wyszukiwania u góry, a następnie wybierz go.
  2. Wybierz pozycję Dzienniki w panelu po lewej stronie.
  3. Wybierz pozycję Rozpocznij (lub wybierz linki na stronie Wprowadzenie, aby dowiedzieć się więcej o usłudze Log Analytics, jeśli dopiero zaczynasz).
  4. Postępuj zgodnie z samouczkiem, aby dowiedzieć się więcej o usłudze Log Analytics, jeśli po raz pierwszy korzystasz z usługi Log Analytics.
  5. Rozwiń pozycję Dzienniki niestandardowe w dolnej części listy tabel i zobaczysz tabelę o nazwie "sql_instance_logs_CL" lub "postgresInstances_postgresql_logs_CL".
  6. Wybierz ikonę "eye" obok nazwy tabeli.
  7. Wybierz przycisk "Wyświetl w edytorze zapytań".
  8. Teraz będziesz mieć zapytanie w edytorze zapytań, które będzie wyświetlać najnowsze 10 zdarzeń w dzienniku.
  9. W tym miejscu możesz poeksperymentować z wykonywaniem zapytań w dziennikach przy użyciu edytora zapytań, ustawianiem alertów itd.

Automatyzowanie przekazywania (opcjonalnie)

Jeśli chcesz przekazać metryki i dzienniki zgodnie z harmonogramem, możesz utworzyć skrypt i uruchomić go na czasomierzu co kilka minut. Poniżej przedstawiono przykład automatyzacji przekazywania przy użyciu skryptu powłoki systemu Linux.

W ulubionym edytorze tekstu/kodu dodaj następujący skrypt do pliku i zapisz go jako plik wykonywalny skryptu — taki jak .sh (Linux/Mac), .cmd, .batlub .ps1 (Windows).

az arcdata dc export --type logs --path logs.json --force --k8s-namespace arc
az arcdata dc upload --path logs.json

Utwórz plik wykonywalny pliku skryptu

chmod +x myuploadscript.sh

Uruchom skrypt co 20 minut:

watch -n 1200 ./myuploadscript.sh

Możesz również użyć harmonogramu zadań, takiego jak cron lub Harmonogram zadań systemu Windows lub orkiestrator, taki jak Ansible, Puppet lub Chef.

Przekazywanie metryk i dzienników do usługi Azure Monitor

Przekazywanie danych użycia, metryk i dzienników do usługi Azure Monitor

Przekazywanie danych rozliczeniowych na platformę Azure i wyświetlanie ich w witrynie Azure Portal

Wyświetlanie zasobu kontrolera danych usługi Azure Arc w witrynie Azure Portal