Zbieranie metryk niestandardowych dla maszyny wirtualnej z systemem Linux za pomocą agenta telegrafu InfluxData

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

W tym artykule wyjaśniono, jak wdrożyć i skonfigurować agenta Telegrafa InfluxData na maszynie wirtualnej z systemem Linux w celu wysyłania metryk do usługi Azure Monitor.

Uwaga

InfluxData Telegraf to agent open source, który nie jest oficjalnie obsługiwany przez usługę Azure Monitor. W przypadku problemów z łącznikiem telegrafu zapoznaj się ze stroną Telegraf GitHub tutaj: InfluxData

Agent telegrafu InfluxData

Telegraf to oparty na wtyczkach agent, który umożliwia zbieranie metryk z ponad 150 różnych źródeł. W zależności od obciążeń uruchamianych na maszynie wirtualnej można skonfigurować agenta tak, aby używał wyspecjalizowanych wtyczek wejściowych do zbierania metryk. Przykłady to MySQL, NGINX i Apache. Za pomocą wtyczek wyjściowych agent może następnie zapisywać wybrane miejsca docelowe. Agent telegrafu został zintegrowany bezpośrednio z interfejsem API REST metryk niestandardowych usługi Azure Monitor. Obsługuje wtyczkę wyjściową usługi Azure Monitor. Korzystając z tej wtyczki, agent może zbierać metryki specyficzne dla obciążenia na maszynie wirtualnej z systemem Linux i przesyłać je jako metryki niestandardowe do usługi Azure Monitor.

Diagram przedstawiający przegląd agenta Telegraph.

Nawiązywanie połączenia z maszyną wirtualną

Utwórz połączenie SSH z maszyną wirtualną, na której chcesz zainstalować program Telegraf. Wybierz przycisk Połączenie na stronie przeglądu maszyny wirtualnej.

Zrzut ekranu przedstawiający stronę Przegląd maszyny wirtualnej z wyróżnionym przyciskiem Połącz.

Na stronie Nawiązywanie połączenia z maszyną wirtualną zostaw opcje domyślne, aby połączyć się za pomocą nazwy DNS przez port 22. W obszarze Logowanie przy użyciu konta lokalnego maszyny wirtualnej jest wyświetlane polecenie połączenia. Wybierz przycisk , aby skopiować polecenie. W poniższym przykładzie pokazano, jak wygląda polecenie połączenia SSH:

ssh azureuser@XXXX.XX.XXX

Wklej polecenie połączenia SSH do powłoki, takiej jak usługa Azure Cloud Shell lub powłoka Bash w systemie Ubuntu w systemie Windows, lub użyj wybranego klienta SSH, aby utworzyć połączenie.

Instalowanie i konfigurowanie programu Telegraf

Aby zainstalować pakiet Telegraf Debian na maszynie wirtualnej, uruchom następujące polecenia z sesji SSH:

Dodaj repozytorium:

# download the package to the VM
curl -s https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
sudo echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg add

Zainstaluj pakiet:

   sudo apt-get update
   sudo apt-get install telegraf

Plik konfiguracji telegrafa definiuje operacje telegrafa. Domyślnie przykładowy plik konfiguracji jest instalowany w ścieżce /etc/telegraf/telegraf.conf. Przykładowy plik konfiguracji zawiera listę wszystkich możliwych wtyczek wejściowych i wyjściowych. Utworzymy jednak niestandardowy plik konfiguracji i użyjemy go agenta, uruchamiając następujące polecenia:

# generate the new Telegraf config file in the current directory
telegraf --input-filter cpu:mem --output-filter azure_monitor config > azm-telegraf.conf

# replace the example config with the new generated config
sudo cp azm-telegraf.conf /etc/telegraf/telegraf.conf

Uwaga

Powyższy kod umożliwia tylko dwie wtyczki wejściowe: cpu i mem. Możesz dodać więcej wtyczek wejściowych, w zależności od obciążenia uruchomionego na maszynie. Przykłady to Docker, MySQL i NGINX. Aby uzyskać pełną listę wtyczek wejściowych, zobacz sekcję Dodatkowa konfiguracja .

Na koniec, aby agent zaczął używać nowej konfiguracji, wymusimy zatrzymanie i uruchomienie agenta przez uruchomienie następujących poleceń:

# stop the telegraf agent on the VM
sudo systemctl stop telegraf
# start and enable the telegraf agent on the VM to ensure it picks up the latest configuration
sudo systemctl enable --now telegraf

Teraz agent zbiera metryki z każdej określonej wtyczki wejściowej i emituje je do usługi Azure Monitor.

Kreślenie metryk telegrafu w witrynie Azure Portal

  1. Otwórz portal Azure Portal.

  2. Przejdź do nowej karty Monitor . Następnie wybierz pozycję Metryki.

  3. Wybierz maszynę wirtualną w selektorze zasobów.

  4. Wybierz przestrzeń nazw Telegraf/PROCESOR i wybierz metryki usage_system. Możesz filtrować według wymiarów dla tej metryki lub podzielić je na nie.

    Zrzut ekranu przedstawiający wykres metryki z wybranymi metrykami telegrafu.

Dodatkowa konfiguracja

Powyższy przewodnik zawiera informacje na temat konfigurowania agenta telegrafu w celu zbierania metryk z kilku podstawowych wtyczek wejściowych. Agent Telegraf obsługuje ponad 150 wtyczek wejściowych, a niektóre obsługują dodatkowe opcje konfiguracji. InfluxData opublikowała listę obsługiwanych wtyczek i instrukcje dotyczące sposobu ich konfigurowania.

Ponadto w tym przewodniku użyto agenta telegrafu do emitowania metryk dotyczących maszyny wirtualnej wdrożonej przez agenta. Agent telegrafu może być również używany jako moduł zbierający i przekazujący metryki dla innych zasobów. Aby dowiedzieć się, jak skonfigurować agenta w celu emitowania metryk dla innych zasobów platformy Azure, zobacz Niestandardowe dane wyjściowe metryk usługi Azure Monitor dla programu Telegraf.

Czyszczenie zasobów

Gdy grupa zasobów, maszyna wirtualna i wszystkie powiązane zasoby nie będą już potrzebne, możesz je usunąć. W tym celu wybierz grupę zasobów dla maszyny wirtualnej i wybierz pozycję Usuń. Następnie potwierdź nazwę grupy zasobów do usunięcia.

Następne kroki

  • Dowiedz się więcej o metrykach niestandardowych.