Dela via


Migrera till Azure Monitor Agent på Azure Arc med hjälp av Red Hat Ansible Automation Platform

Den här artikeln behandlar hur man använder Red Hat Ansible Automation Platform för att migrera icke-Azure-maskiner från Azure Log Analytics-agenten till Azure Monitor-agenten. Denna migrering är avgörande eftersom Microsoft överför användare till Azure Monitor-agenten, som erbjuder förbättrade övervakningsfunktioner och prestanda jämfört med den äldre Log Analytics-agenten. Detta inkluderar att ansluta maskinerna till Azure Arc-aktiverade servrar. När du har slutfört konfigurationsstegen i den här artikeln kan du köra ett arbetsflöde mot ett lager för automationskontroll för att utföra följande uppgifter:

  • Ensure that the Azure Connected Machine agent is installed on each machine.
  • Installera och aktivera agenten för Azure Monitor.
  • Disable and uninstall the Log Analytics agent.

Content from the Ansible Content Lab for Cloud Automation has already been developed to automate this scenario. This article details how you can import that content as a project in an automation controller to build a workflow to perform the tasks.

Ansible Automation Platform kan automatisera distributionen av Azure-tjänster över din IT-miljö för att göra onboarding till Azure Arc snabb och tillförlitlig.

Note

The Ansible content examples in this article use Linux hosts, but the playbooks can be altered to accommodate Windows hosts as well.

Prerequisites

  • Azure Log Analytics-arbetsyta

    Den här artikeln förutsätter att du använder Azure Log Analytics-agenten och att servrarna är förkonfigurerade för att rapportera data till en Log Analytics-arbetsyta. You'll need the name and resource group of the workspace from which you're migrating.

  • Automation controller 2.x

    Denna artikel gäller både självhanterad Ansible Automation Platform och Red Hat Ansible Automation Platform på Microsoft Azure.

  • Automatiseringskörningsmiljö

    För att använda exemplen i den här artikeln behöver du en automationmiljö med både Azure Collection och Azure CLI installerat, eftersom båda krävs för att köra automatiseringen.

    If you don't have an automation execution environment that meets these requirements, you can use this example.

    För mer information om hur man bygger och konfigurerar automatiserade körmiljöer, se Red Hat Ansible-dokumentationen.

Host inventory

Du behöver en inventering av Linux-värdar som konfigurerats i automationskontrollen och som innehåller en lista över virtuella maskiner som använder Azure Arc och Azure Monitor Agent.

Azure Resource Manager-referens

En fungerande kontouppgift som är konfigurerad i Ansible Automation Platform för Azure Resource Manager krävs. This credential is used by Ansible Automation Platform to authenticate operations using the Azure Collection and the Azure CLI.

Server machine credential

A “Machine Credential” configured in Automation Controller for SSH access to the servers in your host inventory is required.

Konfigurera projektet

The examples in this article rely on content developed and incubated by Red Hat through the Ansible Content Lab for Cloud Content.

Denna artikel använder också samlingen Azure Infrastructure Configuration Demo. This collection contains many roles and playbooks that manage Azure use cases including those with Azure Arc-enabled servers. To use this collection in Automation Controller, follow these steps to set up a project with the repository:

  1. Logga in på automationskontrollern.

  2. I den vänstra menyn väljer du Projects.

  3. Välj Lägg till, och komplettera sedan formulärets fält enligt följande:

    Namn: Innehållslabb - Azure Infrastrukturkonfigurationssamling

    Automation Environment: (välj istället med Azure Collection och CLI)

    Source Control Type: Git

    Source Control URL:https://github.com/ansible-content-lab/azure.infrastructure_config_demos.git

  4. Select Save. Screenshot of Projects window to edit details.

När projektet har sparats bör det synkroniseras med automationskontrollern.

Migrera Azure-agenter

För det här exemplet, anta att våra Linux-servrar redan kör Azure Log Analytics-agenten, men ännu inte har Azure Connected Machine-agenten installerad. Om din organisation är beroende av andra Azure-tjänster som använder Log Analytics-agenten, kan det behövas planera för extra datainsamlingsregler innan migreringen till Azure Monitor-agenten.

Vi kommer att skapa ett arbetsflöde som använder följande handböcker för att installera Azure Connected Machine-agenten, distribuera Azure Monitor-agenten, inaktivera Log Analytics-agenten och sedan avinstallera Log Analytics-agenten.

  • install_arc_agent.yml
  • replace_log_analytics_with_arc_linux.yml
  • uninstall_log_analytics_agent.yml

This workflow performs the following tasks:

  • Installs the Azure Connected Machine agent on all of the VMs identified in inventory.
  • Aktiverar Azure Monitor-agenttillägget via Azure Arc.
  • Inaktiverar Azure Log Analytics-agenttillägget via Azure Arc.
  • Avinstallerar Azure Log Analytics-agenten om den är markerad.

Skapa mall för att installera Azure Connected Machine-agenten

Denna mall ansvarar för att installera Azure Arc Connected Machine agent på värdar inom den angivna inventeringen. En lyckad körning kommer att ha installerat agenten på alla maskiner.

Följ dessa steg för att skapa mallen:

  1. På menyn till höger, välj Mallar.

  2. Select Add.

  3. Välj Lägg till mall för jobb, fyll sedan i formulärets fält enligt följande:

    Name: Content Lab - Install Arc Connected Machine Agent

    Job Type: Körning

    Inventory: (Din Linux-värd inventarier)

    Project: Content Lab - Azure Infrastructure Configuration Collection

    Playbook:playbooks/replace_log_analytics_with_arc_linux.yml

    Credentials:

    • Din Azure Resource Manager-autentiseringsuppgift
    • Dina inloggningsuppgifter för värdinventeringsmaskinen

    Variables:

    ---
    region: eastus
    resource_group_name: sh-rg
    subscription_id: "{{ lookup('env', 'AZURE_SUBSCRIPTION_ID') }}"
    service_principal_id: "{{ lookup('env', 'AZURE_CLIENT_ID') }}"
    service_principal_secret: "{{ lookup('env', 'AZURE_SECRET') }}"
    tenant_id: "{{ lookup('env', 'AZURE_TENANT') }}"
    

    Note

    The operations in this playbook happen through the Azure CLI. De flesta av dessa variabler är inställda för att vidarebefordra rätt variabel från Azure Resource Manager-referensen till CL.

    Alternativ: Privilegiehöjning: true

  4. Select Save.

Skapa mall för att ersätta logganalys

Denna mall är ansvarig för att migrera från Log Analytics agent till Azure Monitor agent genom att aktivera Azure Monitor Agent-förlängningen och inaktivera Azure Log Analytics-förlängningen (om den används via Azure Connected Machine agent).

Följ dessa steg för att skapa mallen:

  1. I menyn till höger väljer du Mallar.

  2. Select Add.

  3. Välj Lägg till jobbmall och fyll sedan i formulärens fält enligt följande:

    Namn: Content Lab - Ersätt Log Analytics-agent med Arc Connected Machine-agent

    Job Type: Run

    Inventory: (Your linux host inventory)

    Projekt: Content Lab - Samling av Azure-infrastrukturkonfiguration

    Playbook:playbooks/replace_log_analytics_with_arc_linux.yml

    Credentials:

    • Ditt Azure Resource Manager-referensiauthentisering
    • Ditt värdinventariemaskinslegitimation

    Variables:

    —
    Region: <Azure Region>
    resource_group_name: <Resource Group Name>
    linux_hosts: "{{ hostvars.values() | selectattr('group_names','contains', 'linux') | map(attribute='inventory_hostname') | list }}"
    

    Note

    The linux_hosts variable is used to create a list of hostnames to send to the Azure Collection and isn't directly related to a host inventory. Du kan ställa in den här listan på alla sätt som Ansible stöder. I det här fallet försöker variabeln hämta värdnamn från grupper med "linux" i gruppens namn.

  4. Select Save.

Skapa mall för att avinstallera Log Analytics

Den här mallen försöker köra avinstallationsskriptet för Log Analytics-agenten om Log Analytics-agenten installerades utanför agenten för Azure Connected Machine.

Följ stegen nedan för att skapa mallen:

  1. På den högra menyn, välj Mallar.

  2. Select Add.

  3. Välj Add job template, sedan fyll i fälten i formuläret enligt följande:

    Namn: Content Lab - Avinstallera Logganalysagenten

    Job Type: Körning

    Inventering: (Din Linux-värd inventering)

    Projekt: Content Lab - Azure Infrastructure Configuration Collection

    Playbook:playbooks/uninstall_log_analytics_with_arc_linux.yml

    Credentials:

    • Dina Host Inventory Machine-referenser

    Options:

    • Eskalering av behörighet: true
  4. Select Save.

Create the workflow

En arbetsflöde för automationskontrollen möjliggör konstruktionen av komplex automatisering genom att koppla samman automationstemplates och andra åtgärder. Detta arbetsflödesexempel är ett enkelt linjärt flöde som möjliggör det fullständiga scenariot i detta exempel, men andra noder kan läggas till för kontext, såsom felhantering, mänskliga godkännanden, etc.

  1. On the right menu, select Templates.

  2. Select Add.

  3. Välj Lägg till arbetsflödesmall och fyll sedan i följande fält enligt beskrivningen:

    Namn: Innehållslaboratorium - Migrera loggagent till Azure Monitor

    Job Type: Run

    Inventory: (Your linux host inventory)

    Project: Content Lab - Azure Infrastructure Configuration Collection

  4. Select Save.

  5. Select Start to begin the workflow designer.

  6. Ställ in Nodtyp till "Jobbmall" och välj Content Lab - Ersätt Log Analytics med Arc Connected Machine Agent.

  7. Select Next.

  8. Select Save.

  9. Håll muspekaren över noden Content Lab - Replace Log Analytics with Arc Connected Machine Agent och välj knappen +.

  10. Select On Success.

  11. Select Next.

  12. Set Node Type to "Job Template" and select Content Lab - Uninstall Log Analytics Agent.

  13. Select Save.

  14. Välj Save i det övre högra hörnet av arbetsflödesdesignern.

Du kommer nu att ha ett arbetsflöde som ser ut som följande: Diagram som visar arbetsflödet för migreringsprocessen för Azure Monitor-agenten.

Lägg till en undersökning i arbetsflödet

Vi vill lägga till enkätfrågor till arbetsflödet så att vi kan samla in input när arbetsflödet körs.

  1. Välj Survey från skärmbilden för arbetsflödesdetaljer. Screenshot of template details window with survey tab highlighted on right side.

  2. Välj Lägg till, och fyll därefter i formuläret med följande värden:

    Fråga: I vilken Azure-region kommer dina Arc-servrar att finnas?

    Answer variable name: region

    Required: true

    Answer type: Text

  3. Select Save.

  4. Välj Lägg till, och fyll sedan i formuläret med följande värden:

    Fråga: Vad heter resursgruppen?

    Svar variabelnamn: resource_group_name

    Required: true

    Answer type: Text

  5. Select Save.

  6. Välj Lägg till och fyll sedan i formuläret med följande värden:

    Fråga: Vad heter din Log Analytics-arbetsyta?

    Answer variable name: analytics_workspace_name

    Required: true

    Answer type: Text

  7. Select Save.

  8. Från skärmen med undersökningslistan, säkerställ att undersökningen är aktiverad. Screenshot of Survey window with Survey Enabled switched enabled.

Your workflow has now been created.

Kör arbetsflödet

Nu när du har skapat arbetsflödet kan du köra det när som helst. När du väljer ikonen "starta" 🚀, kommer undersökningen som du har konfigurerat att visas så att du kan uppdatera variablerna i samband med automatiseringskörningar. Detta gör att du kan flytta Log Analytics-anslutna servrar som är tilldelade till olika regioner eller resursgrupper efter behov.

Skärmbild av startfönster för arbetsflöde.

Nästa steg

Lär dig mer om att ansluta maskiner med hjälp av Ansible playbooks.