Wskazówki dotyczące rozwiązywania problemów z agentem usługi Azure Monitor na maszynach wirtualnych z systemem Linux i zestawami skalowania
Omówienie agenta usługi Azure Monitor
Zanim przejdziesz dalej, musisz zapoznać się z agentem usługi Azure Monitor i regułami zbierania danych.
Terminologia
Nazwisko | Akronim | opis |
---|---|---|
Agent usługi Azure Monitor | AMA | Nowy agent usługi Azure Monitor |
Reguły zbierania danych | DcR | Reguły konfigurowania zbierania danych przez agenta, tj. co należy zbierać, gdzie wysyłać i nie tylko |
Usługa konfiguracji usługi Azure Monitor | AMCS | Usługa regionalna hostowana na platformie Azure, która kontroluje zbieranie danych dla tego agenta i innych części usługi Azure Monitor. Agent wywołuje do tej usługi, aby pobrać kontrolery domeny. |
Punkt końcowy dzienników | -- | Punkt końcowy do wysyłania danych do obszarów roboczych usługi Log Analytics |
Punkt końcowy metryk | -- | Punkt końcowy do wysyłania danych do baz danych metryk usługi Azure Monitor. |
Usługa metadanych wystąpienia i usługa hybrydowa | IMDS i HIMDS | Usługi hostowane na platformie Azure, które udostępniają informacje o aktualnie uruchomionych maszynach wirtualnych, zestawach skalowania (za pośrednictwem usług IMDS) i serwerach z obsługą usługi Arc (za pośrednictwem usługi HIMDS) odpowiednio |
Obszar roboczy usługi Log Analytics | PRAWO | Miejsce docelowe w usłudze Azure Monitor, do którego można wysyłać dzienniki zebrane przez agenta |
Metryki niestandardowe | -- | Miejsce docelowe w usłudze Azure Monitor, do którego można wysyłać metryki gościa zebrane przez agenta |
Podstawowe kroki rozwiązywania problemów
Wykonaj poniższe kroki, aby rozwiązać problemy z najnowszą wersją agenta usługi Azure Monitor uruchomionego na maszynie wirtualnej z systemem Linux:
Dokładnie zapoznaj się z wymaganiami wstępnymi tutaj.
Sprawdź, czy rozszerzenie zostało pomyślnie zainstalowane i aprowizowane, co powoduje zainstalowanie plików binarnych agenta na maszynie:
- Otwórz witrynę Azure Portal > , wybierz maszynę > wirtualną Otwórz ustawienia : Rozszerzenia i aplikacje z okienka po lewej stronie > "AzureMonitorLinuxAgent" powinny być wyświetlane ze stanem: "Aprowizowanie powiodło się"
- Jeśli nie widzisz rozszerzenia na liście, sprawdź, czy maszyna może nawiązać dostęp do platformy Azure, i znajdź rozszerzenie do zainstalowania przy użyciu poniższego polecenia:
az vm extension image list-versions --location <machine-region> --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor
- Poczekaj 10–15 minut, ponieważ rozszerzenie może przechodzić stan. Jeśli nadal nie jest wyświetlana jak powyżej, odinstaluj i zainstaluj rozszerzenie ponownie.
- Sprawdź, czy na maszynie występują błędy w dziennikach
/var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/
rozszerzeń
Sprawdź, czy agent jest uruchomiony:
- Sprawdź, czy agent emituje dzienniki pulsu do obszaru roboczego usługi Log Analytics, korzystając z poniższego zapytania. Pomiń, jeśli element "Metryki niestandardowe" jest jedynym miejscem docelowym w kontrolerze domeny:
Heartbeat | where Category == "Azure Monitor Agent" and Computer == "<computer-name>" | take 10
- Sprawdzanie, czy usługa agenta jest uruchomiona
systemctl status azuremonitoragent
- Sprawdź, czy na maszynie są widoczne błędy w podstawowych dziennikach
/var/opt/microsoft/azuremonitoragent/log/mdsd.*
agenta
- Sprawdź, czy agent emituje dzienniki pulsu do obszaru roboczego usługi Log Analytics, korzystając z poniższego zapytania. Pomiń, jeśli element "Metryki niestandardowe" jest jedynym miejscem docelowym w kontrolerze domeny:
Sprawdź, czy kontroler domeny istnieje i jest skojarzony z maszyną wirtualną:
- Jeśli używasz obszaru roboczego usługi Log Analytics jako miejsca docelowego, sprawdź, czy kontroler domeny istnieje w tym samym regionie fizycznym co obszar roboczy usługi Log Analytics.
- Otwórz witrynę Azure Portal>, wybierz regułę zbierania danych Otwórz konfigurację > : Zasoby w okienku po lewej stronie > Powinna zostać wyświetlona maszyna wirtualna wymieniona tutaj.
- Jeśli nie ma na liście, kliknij pozycję "Dodaj" i wybierz maszynę wirtualną z selektora zasobów. Powtórz wszystkie kontrolery domeny.
Sprawdź, czy agent mógł pobrać skojarzone kontrolery domeny z usługi AMCS:
- Sprawdź, czy w tej lokalizacji jest wyświetlana najnowsza wersja narzędzia DCR
/etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/
- Sprawdź, czy w tej lokalizacji jest wyświetlana najnowsza wersja narzędzia DCR
Problemy z zbieraniem dziennika systemowego
Aby uzyskać więcej informacji na temat rozwiązywania problemów z dziennikiem systemowym przy użyciu agenta usługi Azure Monitor, zobacz tutaj.
Plik
/var/opt/microsoft/azuremonitoragent/log/mdsd.qos
jakości usług (QoS) zapewnia agregacje w formacie CSV 15-minutowe przetworzonych zdarzeń i zawiera informacje o ilości przetworzonych zdarzeń dziennika systemowego w danym przedziale czasu. Ten plik jest przydatny podczas śledzenia spadków pozyskiwania zdarzeń dziennika systemowego.Na przykład poniższy fragment pokazuje, że w ciągu 15 minut poprzedzających 2022-02-28T19:55:23.5432920Z agent otrzymał 77 zdarzeń dziennika systemowego z demonem obiektu i informacjami o poziomie i wysłał 77 wymienionych zdarzeń do zadania przekazywania. Ponadto zadanie przekazywania agenta odebrało 77 i pomyślnie przekazano wszystkie 77 tych komunikatów daemon.info.
#Time: 2022-02-28T19:55:23.5432920Z #Fields: Operation,Object,TotalCount,SuccessCount,Retries,AverageDuration,AverageSize,AverageDelay,TotalSize,TotalRowsRead,TotalRowsSent ... MaRunTaskLocal,daemon.debug,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.info,15,15,0,60000,46.2,0,693,77,77 MaRunTaskLocal,daemon.notice,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.warning,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.error,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.critical,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.alert,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.emergency,15,15,0,60000,0,0,0,0,0 ... MaODSRequest,https://e73fd5e3-ea2b-4637-8da0-5c8144b670c8_LogManagement,15,15,0,455067,476.467,0,7147,77,77
Kroki rozwiązywania problemów
Najpierw zapoznaj się z ogólnymi krokami rozwiązywania problemów z usługą AMA systemu Linux. Jeśli agent emituje pulsy, przejdź do kroku 2.
Przeanalizowana konfiguracja jest przechowywana w lokalizacji
/etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/
. Sprawdź, czy kolekcja syslog jest zdefiniowana, a lokalizacje docelowe dziennika są takie same jak w formacie DCR UI/DCR JSON.- Jeśli tak, przejdź do kroku 3. Jeśli tak nie jest, problem znajduje się w przepływie pracy konfiguracji.
- Zbadaj
mdsd.err
pliki ,mdsd.warn
mdsd.info
w obszarze/var/opt/microsoft/azuremonitoragent/log
pod kątem możliwych błędów konfiguracji.
Zweryfikuj układ przepływu pracy kolekcji Syslog, aby upewnić się, że wszystkie niezbędne elementy są dostępne i dostępne:
- W przypadku
rsyslog
użytkowników upewnij się, że/etc/rsyslog.d/10-azuremonitoragent.conf
plik jest obecny, nie jest pusty i jest dostępny dla demonarsyslog
(użytkownik dziennika systemowego).- Sprawdź konfigurację rsyslog pod
/etc/rsyslog.conf
adresem i/etc/rsyslog.d/*
sprawdź, czy masz jakiekolwiek dane wejściowe powiązane z zestawem reguł innych niż domyślne, ponieważ komunikaty z tych danych wejściowych nie będą przekazywane do agenta usługi Azure Monitor. Na przykład komunikaty z danych wejściowych skonfigurowanych przy użyciu zestawu reguł innych niż domyślne, takie jakinput(type="imtcp" port="514"
ruleset="myruleset"
)
nie będą przekazywane.
- Sprawdź konfigurację rsyslog pod
- W przypadku
syslog-ng
użytkowników upewnij się, że/etc/syslog-ng/conf.d/azuremonitoragent.conf
plik jest obecny, nie jest pusty i jest dostępny dla demonasyslog-ng
(użytkownik dziennika systemowego). - Upewnij się, że plik
/run/azuremonitoragent/default_syslog.socket
istnieje i jest dostępny odpowiednio.rsyslog
syslog-ng
- Sprawdź, czy kolejka demona dziennika systemowego nie jest przepełniona, powodując niepowodzenie przekazywania, odwołując się do wskazówek tutaj: dane rsyslog nie zostały przekazane z powodu problemu z pełnym miejscem na dysku w agencie systemu AMA Linux
- W przypadku
Aby dodatkowo debugować pozyskiwanie zdarzeń dziennika systemu, możesz dołączyć flagę śledzenia -T 0x2002 na końcu MDSD_OPTIONS w pliku
/etc/default/azuremonitoragent
i ponownie uruchomić agenta:export MDSD_OPTIONS="-A -c /etc/opt/microsoft/azuremonitoragent/mdsd.xml -d -r $MDSD_ROLE_PREFIX -S $MDSD_SPOOL_DIRECTORY/eh -L $MDSD_SPOOL_DIRECTORY/events -e $MDSD_LOG_DIR/mdsd.err -w $MDSD_LOG_DIR/mdsd.warn -o $MDSD_LOG_DIR/mdsd.info -T 0x2002"
Po odtworzeniu problemu za pomocą flagi śledzenia znajdziesz więcej informacji o debugowaniu w pliku
/var/opt/microsoft/azuremonitoragent/log/mdsd.info
. Sprawdź plik pod kątem możliwej przyczyny problemu z zbieraniem dzienników syslog, takich jak analizowanie/ przetwarzanie / konfiguracja / błędy przekazywania.Ostrzeżenie
Upewnij się, że po sesji debugowania usunięto ustawienie flagi śledzenia —T 0x2002 , ponieważ generuje wiele instrukcji śledzenia, które mogą szybciej wypełnić dysk lub utrudnić wizualne analizowanie pliku dziennika.
Rozwiązywanie problemów z serwerem z obsługą usługi Arc
Jeśli po sprawdzeniu podstawowych kroków rozwiązywania problemów nie widzisz agenta usługi Azure Monitor emitujących dzienniki lub znajdź błędy "Nie można pobrać tokenu MSI z punktu końcowego USŁUGI IMDS" w /var/opt/microsoft/azuremonitoragent/log/mdsd.err
pliku dziennika, prawdopodobnie syslog
użytkownik nie jest członkiem grupy himds
. Dodaj syslog
użytkownika do himds
grupy użytkowników, jeśli użytkownik nie jest członkiem tej grupy. Utwórz użytkownika syslog
i grupę syslog
, w razie potrzeby i upewnij się, że użytkownik znajduje się w tej grupie. Aby uzyskać więcej informacji, zapoznaj się z wymaganiami dotyczącymi uwierzytelniania serwera z obsługą usługi Azure Arc tutaj.