Używanie rejestrowania selektywnego z akcją skryptu dla agenta usługi Azure Monitor (AMA) w usłudze Azure HDInsight
Dzienniki usługi Azure Monitor to usługa Azure Monitor, która monitoruje środowiska chmurowe i lokalne. Monitorowanie pomaga zachować ich dostępność i wydajność.
Dzienniki usługi Azure Monitor zbierają dane generowane przez zasoby w chmurze, zasoby w środowiskach lokalnych i inne narzędzia do monitorowania. Używa ona danych do zapewniania analizy w wielu źródłach. Aby uzyskać analizę, włącz funkcję rejestrowania selektywnego przy użyciu akcji skryptu dla usługi HDInsight w witrynie Azure Portal.
Informacje o selektywnym rejestrowaniu
Selektywne rejestrowanie jest częścią ogólnego systemu monitorowania na platformie Azure. Po połączeniu klastra z obszarem roboczym usługi Log Analytics i włączeniu rejestrowania selektywnego można zobaczyć dzienniki i metryki, takie jak dzienniki zabezpieczeń usługi HDInsight, usługa Yarn Resource Manager i metryki systemowe. Możesz monitorować obciążenia i zobaczyć, jak wpływają one na stabilność klastra.
Selektywne rejestrowanie umożliwia włączenie lub wyłączenie wszystkich tabel lub włączenie wybranych tabel w obszarze roboczym usługi Log Analytics. Można dostosować typ źródła dla każdej tabeli.
Uwaga
Jeśli usługa Log Analytics zostanie ponownie zainstalowana w klastrze, należy ponownie wyłączyć wszystkie tabele i typy dzienników. Ponowna instalacja resetuje wszystkie pliki konfiguracji do ich pierwotnego stanu.
Zagadnienia dotyczące akcji skryptu
- System monitorowania używa demona serwera metadanych (agenta monitorowania) i Fluentd do zbierania dzienników przy użyciu ujednoliconej warstwy rejestrowania.
- Selektywne rejestrowanie używa akcji skryptu do wyłączania lub włączania tabel i ich typów dzienników. Ponieważ selektywne rejestrowanie nie otwiera żadnych nowych portów ani nie zmienia żadnych istniejących ustawień zabezpieczeń, nie ma żadnych zmian zabezpieczeń.
- Akcja skryptu jest uruchamiana równolegle we wszystkich określonych węzłach i zmienia pliki konfiguracji dotyczące wyłączania lub włączania tabel i ich typów dzienników.
Wymagania wstępne
- Obszar roboczy usługi Log Analytics. Ten obszar roboczy można traktować jako unikatowe środowisko dzienników usługi Azure Monitor z własnym repozytorium danych, źródłami danych i rozwiązaniami. Aby uzyskać instrukcje, zobacz Tworzenie obszaru roboczego usługi Log Analytics.
- Klaster usługi Azure HDInsight. Obecnie można użyć funkcji rejestrowania selektywnego z następującymi typami klastrów usługi HDInsight:
- Hadoop
- HBase
- Zapytanie interakcyjne
- platforma Spark
Aby uzyskać instrukcje dotyczące tworzenia klastra usługi HDInsight, zobacz Wprowadzenie do usługi Azure HDInsight.
Włączanie lub wyłączanie dzienników przy użyciu akcji skryptu dla wielu tabel i typów dzienników
Przejdź do pozycji Akcje skryptu w klastrze i wybierz pozycję Prześlij nowy , aby rozpocząć proces tworzenia akcji skryptu.
Zostanie wyświetlone okienko akcji Prześlij skrypt.
Dla typu skryptu wybierz pozycję Niestandardowe.
Nadaj skryptowi nazwę. Na przykład: Wyłącz dwie tabele i dwa źródła.
Identyfikator URI skryptu powłoki Bash musi być linkiem do selectiveLoggingScript.sh.
Wybierz wszystkie typy węzłów, które mają zastosowanie do klastra. Dostępne opcje to węzeł główny, węzeł procesu roboczego i węzeł ZooKeeper.
Zdefiniuj parametry. Na przykład:
- Iskra:
spark HDInsightSparkLogs:SparkExecutorLog --disable
- Zapytanie interakcyjne:
interactivehive HDInsightHadoopAndYarnLogs:NodeManager --enable
- Hadoop:
hadoop HDInsightHiveAndLLAPLogs:HiveServer2Log --disable
- HBase:
hbase HDInsightHBaseLogs:HBaseRegionServerLog --enable
Aby uzyskać więcej informacji, zobacz sekcję Składnia parametrów.
- Iskra:
Wybierz pozycję Utwórz.
Po kilku minutach obok historii akcji skryptu pojawi się zielony znacznik wyboru. Oznacza to, że skrypt został pomyślnie uruchomiony.
Zmiany są widoczne w obszarze roboczym usługi Log Analytics.
Rozwiązywanie problemów
W obszarze roboczym usługi Log Analytics nie są wyświetlane żadne zmiany
Jeśli przesyłasz akcję skryptu, ale nie ma żadnych zmian w obszarze roboczym usługi Log Analytics:
W obszarze Pulpity nawigacyjne wybierz pozycję Strona główna systemu Ambari, aby sprawdzić informacje debugowania.
Wybierz przycisk Ustawienia.
Wybierz najnowszy skrypt uruchom w górnej części listy operacji w tle.
Sprawdź stan uruchomienia skryptu we wszystkich węzłach osobno.
Sprawdź, czy składnia parametrów z sekcji składni parametrów jest poprawna.
Sprawdź, czy obszar roboczy usługi Log Analytics jest połączony z klastrem i czy monitorowanie usługi Log Analytics jest włączone.
Sprawdź, czy zaznaczono akcję Utrwał ten skrypt, aby ponownie uruchomić po dodaniu nowych węzłów do klastra dla uruchomionej akcji skryptu.
Sprawdź, czy nowy węzeł został ostatnio dodany do klastra.
Uwaga
Aby skrypt działał w najnowszym klastrze, skrypt musi być utrwalany.
Upewnij się, że wybrano wszystkie typy węzłów, które chcesz wykonać dla akcji skryptu.
Akcja skryptu nie powiodła się
Jeśli akcja skryptu wyświetla stan niepowodzenia w historii akcji skryptu:
- Sprawdź, czy składnia parametrów z sekcji składni parametrów jest poprawna.
- Sprawdź, czy link skryptu jest poprawny. Powinien to być:
https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScriptsAma/selectiveLoggingScript.sh
.
Nazwy tabel
Aby uzyskać pełną listę nazw tabel dla różnych typów dzienników (źródeł), zobacz Tabele dzienników usługi Azure Monitor.
Składnia parametrów
Parametry definiują typ klastra, nazwy tabel, nazwy źródłowe i akcję.
Parametr zawiera trzy części:
- Typ klastra
- Tabele i typy dzienników
- Akcja (
--disable
lub--enable
)
Składnia dla wielu tabel
Jeśli masz wiele tabel, są one oddzielone przecinkami. Na przykład:
spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable
hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable
Składnia dla wielu typów źródłowych lub typów dzienników
Jeśli masz wiele typów źródłowych lub typów dzienników, są one oddzielone spacją.
Aby wyłączyć źródło, zapisz nazwę tabeli zawierającą typy dzienników, a następnie dwukropek, a następnie nazwę rzeczywistego typu dziennika:
TableName : LogTypeName
Załóżmy na przykład, że spark HDInsightSecurityLogs
jest to tabela zawierająca dwa typy dzienników: AmbariAuditLog
i AuthLog
. Aby wyłączyć oba typy dzienników, prawidłową składnią będzie:
spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable
Składnia dla wielu tabel i typów źródłowych
Jeśli musisz wyłączyć dwie tabele i dwa typy źródłowe, użyj następującej składni:
- Spark:
InteractiveHiveMetastoreLog
typ dziennika wHDInsightHiveAndLLAPLogs
tabeli - Hbase:
InteractiveHiveHSILog
typ dziennika wHDInsightHiveAndLLAPLogs
tabeli - Hadoop:
HDInsightHiveAndLLAPMetrics
tabela - Hadoop:
HDInsightHiveTezAppStats
tabela
Rozdziel tabele przecinkami. Oznacz źródła przy użyciu dwukropka po nazwie tabeli, w której się znajdują.
Prawidłowa składnia parametrów dla tych przypadków to:
interactivehive HDInsightHiveAndLLAPLogs: InteractiveHiveMetastoreLog, HDInsightHiveAndLLAPMetrics, HDInsightHiveTezAppStats, HDInsightHiveAndLLAPLogs: InteractiveHiveHSILog --enable