Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O pipeline do Azure Monitor é um pipeline de ingestão de dados que fornece coleta de dados consistente e centralizada para o Azure Monitor. O pipeline de ponta permite coleta em larga escala e o roteamento de dados de telemetria antes de serem enviados para a nuvem. Ele pode armazenar dados em cache localmente e sincronizar com a nuvem quando a conectividade é restaurada e rotear a telemetria para o Azure Monitor nos casos em que a rede é segmentada e os dados não podem ser enviados diretamente para a nuvem. Este artigo descreve como ativar e configurar o pipeline na periferia do seu ambiente.
Visão geral
O pipeline do Azure Monitor na periferia é uma solução contentorizada que é implantada em um cluster Kubernetes habilitado para Arc e utiliza o OpenTelemetry Collector como base. O diagrama a seguir mostra os componentes do pipeline na extremidade. Um ou mais fluxos de dados escutam os dados recebidos dos clientes, e a extensão do pipeline encaminha os dados para a nuvem, usando o cache local, se necessário.
O ficheiro de configuração do pipeline define os fluxos de dados e as propriedades de cache para o pipeline na periferia. O DCR define o esquema dos dados que estão sendo enviados para o pipeline de nuvem, uma transformação para filtrar ou modificar os dados e o destino para onde os dados devem ser enviados. Cada definição de fluxo de dados para a configuração do pipeline especifica o DCR e o fluxo dentro desse DCR que processará esses dados no pipeline de nuvem.
Observação
A ligação privada é suportada pelo pipeline no edge para a ligação ao pipeline da cloud.
Os seguintes componentes e configurações são necessários para ativar o pipeline do Azure Monitor na Edge. Se utilizar o portal do Azure para configurar o pipeline na periferia, então cada um desses componentes será criado para si. Com outros métodos, você precisa configurar cada um.
Componente | Descrição |
---|---|
Extensão do controlador de pipeline de borda | Extensão adicionada ao cluster Kubernetes com Arc para suportar a funcionalidade de pipeline - microsoft.monitor.pipelinecontroller . |
Instância do controlador de pipeline de borda | Instância do pipeline edge em execução no cluster Kubernetes com Arc habilitado. |
Fluxo de dados | Combinação de recetores e exportadores que são executados na instância do controlador de pipeline. Os destinatários aceitam dados de clientes e exportadores para entregar esses dados ao Azure Monitor. |
Configuração do pipeline | Arquivo de configuração que define os fluxos de dados para a instância do pipeline. Cada fluxo de dados inclui um recetor e um exportador. O recetor escuta os dados recebidos e o exportador envia os dados para o destino. |
Ponto de recolha de dados (DCE) | Endpoint onde os dados são enviados para o pipeline do Azure Monitor. A configuração do pipeline inclui uma propriedade para a URL do DCE para que a instância do pipeline saiba para onde enviar os dados. |
Configuração | Descrição |
---|---|
Regra de recolha de dados (DCR) | Arquivo de configuração que define como os dados são recebidos no pipeline de nuvem e para onde são enviados. O DCR também pode incluir uma transformação para filtrar ou modificar os dados antes de serem enviados para o destino. |
Configuração do pipeline | Configuração que define os fluxos de dados para a instância do pipeline, incluindo os fluxos de dados e o cache. |
Configurações suportadas
Distribuições suportadas
O pipeline do Azure Monitor no edge é suportado nas seguintes distribuições do Kubernetes:
- Canónico
- Fornecedor da API do Cluster para o Azure
- K3
- Motor Kubernetes Rancher
- VMware Tanzu Kubernetes Grid
Localizações suportadas
O pipeline do Azure Monitor no edge é suportado nas seguintes regiões do Azure:
- Canadá Central
- Leste dos EUA2
- Itália Norte
- Oeste dos EUA2
- Europa Ocidental
Para obter mais informações, consulte Disponibilidade do produto por região
Pré-requisitos
- Cluster Kubernetes habilitado para Arc no seu próprio ambiente com um endereço IP externo. Consulte Conectar um cluster Kubernetes existente ao Azure Arc para obter detalhes sobre como habilitar o Arc para um cluster.
- O cluster Kubernetes habilitado para Arc deve ter os recursos de locais personalizados habilitados. Consulte Criar e gerir locais personalizados no Kubernetes habilitado no Azure Arc.
- O espaço de trabalho do Log Analytics no Azure Monitor para receber os dados do pipeline na extremidade. Consulte Criar um espaço de trabalho do Log Analytics no portal do Azure para obter detalhes sobre como criar um espaço de trabalho.
- Os seguintes provedores de recursos devem ser registrados em sua assinatura do Azure. Veja Fornecedores e tipos de recursos do Azure.
- Microsoft.Insights
- Microsoft.Monitor
Fluxo de trabalho
Você não precisa de uma compreensão detalhada das diferentes etapas executadas pelo pipeline do Azure Monitor para configurá-lo usando o portal do Azure. Você pode precisar de uma compreensão mais detalhada se você usar outro método de instalação ou se precisar executar uma configuração mais avançada, como transformar os dados antes que eles sejam armazenados em seu destino.
As tabelas e diagramas a seguir descrevem as etapas e os componentes detalhados no processo de recolha de dados através do pipeline na extremidade e a sua transferência para o pipeline de nuvem para armazenamento no Azure Monitor. Também está incluída nas tabelas a configuração necessária para cada um desses componentes.
Passo | Ação | Configuração de suporte |
---|---|---|
1 | O cliente envia dados para o recetor da canalização de borda. | O cliente é configurado com IP e porta do recetor de pipeline de borda e envia dados no formato esperado para o tipo de recetor. |
2. | O recetor encaminha os dados para o exportador. | Recetor e exportador são configurados no mesmo pipeline. |
3. | O exportador tenta enviar os dados para o pipeline de nuvem. | O exportador na configuração do pipeline inclui a URL do DCE, um identificador exclusivo para o DCR e o fluxo no DCR que define como os dados serão processados. |
3ª. | O exportador armazena dados no cache local se não puder se conectar ao DCE. | O volume persistente para o cache e a configuração do cache local está habilitado na configuração do pipeline. |
Passo | Ação | Configuração de suporte |
---|---|---|
4. | O pipeline de nuvem aceita os dados recebidos. | O DCR inclui uma definição de esquema para o fluxo de entrada que deve corresponder ao esquema dos dados vindos do pipeline na extremidade. |
5. | O pipeline de nuvem aplica uma transformação aos dados. | O DCR inclui uma transformação que filtra ou modifica os dados antes de serem enviados para o destino. A transformação pode filtrar dados, remover ou adicionar colunas ou alterar completamente seu esquema. A saída da transformação deve corresponder ao esquema da tabela de destino. |
6. | O fluxo de dados na nuvem envia os dados ao destino. | O DCR inclui um destino que especifica o espaço de trabalho do Log Analytics e a tabela onde os dados serão armazenados. |
Rede segmentada
A segmentação de rede é um modelo em que você usa perímetros definidos por software para criar uma postura de segurança diferente para diferentes partes da sua rede. Neste modelo, você pode ter um segmento de rede que não pode se conectar à internet ou a outros segmentos de rede. A canalização na borda da rede pode ser usada para coletar dados desses segmentos de rede e enviá-los para a canalização de nuvem computacional.
Para utilizar o pipeline do Azure Monitor numa configuração de rede em camadas, precisa de adicionar as seguintes entradas à lista de autorização para o cluster Kubernetes com Arc ativado. Consulte Configurar o Azure IoT Layered Network Management Preview no cluster de nível 4.
- destinationUrl: "*.ingest.monitor.azure.com"
destinationType: external
- destinationUrl: "login.windows.net"
destinationType: external
Criar tabela no espaço de trabalho do Log Analytics
Antes de configurar o processo de recolha de dados para o pipeline na periferia, precisa de criar uma tabela no espaço de trabalho do Log Analytics para receber os dados. Esta deve ser uma tabela personalizada, uma vez que as tabelas internas não são suportadas no momento. O esquema da tabela deve corresponder aos dados que recebe, mas há várias etapas no processo de coleta em que você pode modificar os dados de entrada, para que o esquema da tabela não precise corresponder aos dados de origem que você está coletando. O único requisito para a tabela no espaço de trabalho do Log Analytics é que ela tenha uma TimeGenerated
coluna.
Consulte Adicionar ou excluir tabelas e colunas nos Logs do Azure Monitor para obter detalhes sobre diferentes métodos para criar uma tabela. Por exemplo, use o comando CLI abaixo para criar uma tabela com as três colunas chamadas Body
, TimeGenerated
e SeverityText
.
az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string
Ativar cache
Dispositivos de borda em alguns ambientes podem experimentar conectividade intermitente devido a vários fatores, como congestionamento de rede, interferência de sinal, falta de energia ou mobilidade. Nesses ambientes, você pode configurar o pipeline na borda para armazenar dados em cache criando um volume persistente no cluster. O processo para isso variará com base em seu ambiente específico, mas a configuração deve atender aos seguintes requisitos:
- O namespace de metadados deve ser o mesmo que a instância especificada do pipeline do Azure Monitor.
- O modo de acesso deve suportar
ReadWriteMany
.
Depois que o volume for criado no namespace apropriado, configure-o usando parâmetros no arquivo de configuração de pipeline abaixo.
Atenção
Cada réplica do pipeline de borda armazena dados em um local no volume persistente específico dessa réplica. Diminuir o número de réplicas enquanto o cluster está desconectado da nuvem impedirá que os dados sejam preenchidos quando a conectividade for restaurada.
Os dados são recuperados do cache usando FIFO (first-in-first-out). Quaisquer dados com mais de 48 horas serão descartados.
Habilitar e configurar pipeline
As opções atuais para ativação e configuração são detalhadas nas guias abaixo.
Configurar pipeline usando o portal do Azure
Quando você usa o portal do Azure para habilitar e configurar o pipeline, todos os componentes necessários são criados com base em suas seleções. Isso evita a complexidade de criar cada componente individualmente, mas pode ser necessário usar outros métodos para
Execute um dos seguintes procedimentos no portal do Azure para iniciar o processo de instalação do pipeline do Azure Monitor:
- No menu Pipelines do Azure Monitor (visualização), clique em Criar.
- No menu do cluster Kubernetes habilitado para Arc, selecione Extensões e adicione a extensão de pipeline (visualização) do Azure Monitor.
A guia Básico solicita as seguintes informações para a implantação da extensão e da instância de pipeline no cluster.
As configurações nesta guia são descritas na tabela a seguir.
Propriedade | Descrição |
---|---|
Nome da instância | Nome para a instância de pipeline do Azure Monitor. Deve ser exclusivo para a assinatura. |
Subscrição | Assinatura do Azure para criar a instância de pipeline. |
Grupo de recursos | Grupo de recursos para criar uma instância de pipeline. |
Nome do cluster | Selecione o seu cluster Kubernetes, habilitado para Arc, em que o pipeline será instalado. |
Localização personalizada | Local personalizado para o seu cluster Kubernetes ativado pelo Arc. Isso será preenchido automaticamente com o nome de um local personalizado que será criado para seu cluster ou você pode selecionar outro local personalizado no cluster. |
A Guia Dataflow permite criar e editar fluxos de dados para a instância da pipeline. Cada fluxo de dados inclui os seguintes detalhes:
As configurações nesta guia são descritas na tabela a seguir.
Propriedade | Descrição |
---|---|
Nome | Nome para o fluxo de dados. Deve ser exclusivo para este pipeline. |
Tipo de fonte | O tipo de dados que estão a ser recolhidos. Os seguintes tipos de fonte são suportados atualmente: - Syslog - OTLP |
Porto | Porta em que o pipeline escuta por onde recebe dados. Se dois fluxos de dados usarem a mesma porta, ambos receberão e processarão os dados. |
Espaço de trabalho do Log Analytics | Espaço de trabalho do Log Analytics para o qual enviar os dados. |
Nome da tabela | O nome da tabela no espaço de trabalho do Log Analytics para o qual enviar os dados. |
Verificar configuração
Verificar os componentes do pipeline em execução no cluster
No portal do Azure, navegue até o menu de serviços do Kubernetes e selecione seu cluster Kubernetes habilitado para Arc. Selecione Serviços e entradas e certifique-se de ver os seguintes serviços:
- <nome do fluxo>-serviço externo
- <nome do serviço>-pipeline
Clique na entrada para <pipeline name>-external-service e anote o endereço IP e a porta na coluna Endpoints. Este é o endereço IP externo e a porta para a qual seus clientes enviarão dados. Verifique Recuperar endpoint de ingresso para recuperar esse endereço do cliente.
Verificar o batimento cardíaco
Cada pipeline configurado em sua instância de pipeline enviará um registro de pulsação para a Heartbeat
tabela no espaço de trabalho do Log Analytics a cada minuto. O conteúdo da coluna OSMajorVersion
deve corresponder ao nome da sua instância de pipeline. Se houver vários espaços de trabalho na instância do pipeline, o primeiro configurado será usado.
Recupere os registros de pulsação usando uma consulta de log como no exemplo a seguir:
Configuração do cliente
Depois que a extensão e a instância do pipeline de borda estiverem instaladas, você precisará configurar seus clientes para enviar dados para o pipeline.
Recuperar ponto de extremidade de entrada
Cada cliente requer o endereço IP externo do serviço de pipeline do Azure Monitor. Utilize o seguinte comando para obter este endereço:
kubectl get services -n <namespace where azure monitor pipeline was installed>
- Se o aplicativo que produz logs for externo ao cluster, copie o valor external-ip do pipeline <>name-service ou <pipeline name-external-service> com o tipo de balanceador de carga.
- Se a aplicação estiver num pod dentro do cluster, copie o valor cluster-ip.
Observação
Se o campo external-ip estiver definido como pendente, você precisará configurar um IP externo para essa entrada manualmente de acordo com a configuração do cluster.
Cliente | Descrição |
---|---|
Syslog | Atualize os clientes Syslog para enviar dados para o ponto final do pipeline e a porta do fluxo de dados Syslog. |
OTLP | O pipeline edge do Azure Monitor expõe um ponto final OTLP baseado em gRPC na porta 4317. Configurar a sua instrumentação para enviar para este endpoint OTLP dependerá da própria biblioteca de instrumentação. Consulte Ponto de extremidade OTLP ou Coletor para documentação do OpenTelemetry . O método da variável de ambiente está documentado em OTLP Exporter Configuration. |
Verificar os dados
O passo final é verificar se os dados são recebidos na área de trabalho do Log Analytics. Pode executar esta verificação ao executar uma consulta na área de trabalho do Log Analytics para obter os dados da tabela.