Práticas recomendadas de confiabilidade no Azure Monitor
Na nuvem, reconhecemos que falhas acontecem. Em vez de tentar evitar simplesmente as falhas, o objetivo é minimizar os efeitos da falha de um único componente. Use as informações a seguir para monitorar suas máquinas virtuais e suas cargas de trabalho de cliente em busca de falhas.
Este artigo descreve a Fiabilidade do Azure Monitor como parte do Azure Well-Architected Framework. O Well-Architected Framework do Azure é um conjunto de filosofias de orientação que podem ser usadas para melhorar a qualidade de uma carga de trabalho. A estrutura consiste em cinco pilares de excelência arquitetônica:
- Fiabilidade
- Segurança
- Otimização de Custos
- Excelência Operacional
- Eficiência de Desempenho
Registos do Azure Monitor
Os espaços de trabalho do Log Analytics oferecem um alto grau de confiabilidade. O pipeline de ingestão, que envia os dados coletados para o espaço de trabalho do Log Analytics, valida que o espaço de trabalho do Log Analytics processa com êxito cada registro de log antes de remover o registro do pipe. Se o pipeline de ingestão não estiver disponível, os agentes que enviam o buffer de dados e tentam enviar novamente os logs por muitas horas.
Recursos do Azure Monitor Logs que melhoram a resiliência
Os Logs do Azure Monitor oferecem vários recursos que melhoram a resiliência dos espaços de trabalho a vários tipos de problemas. Você pode usar esses recursos individualmente ou em combinação, dependendo de suas necessidades.
Este vídeo fornece uma visão geral das opções de confiabilidade e resiliência disponíveis para espaços de trabalho do Log Analytics:
Proteção na região usando zonas de disponibilidade
Cada região do Azure que dá suporte a zonas de disponibilidade tem um conjunto de datacenters equipados com infraestrutura independente de energia, resfriamento e rede.
As zonas de disponibilidade dos Logs do Azure Monitor são redundantes, o que significa que a Microsoft distribui solicitações de serviço e replica dados em diferentes zonas em regiões com suporte. Se um incidente afetar uma zona, a Microsoft usará uma zona de disponibilidade diferente na região, automaticamente. Você não precisa tomar nenhuma medida porque alternar entre zonas é perfeito.
Na maioria das regiões, as zonas de disponibilidade dos Logs do Azure Monitor oferecem suporte à resiliência de dados, o que significa que seus dados armazenados estão protegidos contra perda de dados relacionada a falhas zonais, mas as operações de serviço ainda podem ser afetadas por incidentes regionais. Se o serviço não conseguir executar consultas, você não poderá exibir os logs até que o problema seja resolvido.
Um subconjunto das zonas de disponibilidade que dão suporte à resiliência de dados também dá suporte à resiliência do serviço, o que significa que as operações do serviço Azure Monitor Logs - por exemplo, ingestão de logs, consultas e alertas - podem continuar no caso de uma falha de zona.
As zonas de disponibilidade protegem contra incidentes relacionados à infraestrutura, como falhas de armazenamento. Eles não protegem contra problemas no nível do aplicativo, como implantações de código defeituosas ou falhas de certificado, que afetam toda a região.
Backup de dados de tabelas específicas usando exportação contínua
Você pode exportar continuamente dados enviados para tabelas específicas em seu espaço de trabalho do Log Analytics para contas de armazenamento do Azure.
A conta de armazenamento para a qual você exporta dados deve estar na mesma região do espaço de trabalho do Log Analytics. Para proteger e ter acesso aos logs ingeridos, mesmo que a região do espaço de trabalho esteja inativa, use uma conta de armazenamento com redundância geográfica, conforme explicado em Recomendações de configuração.
O mecanismo de exportação não fornece proteção contra incidentes que afetem o pipeline de ingestão ou o próprio processo de exportação.
Nota
Você pode acessar dados em uma conta de armazenamento dos Logs do Azure Monitor usando o operador externaldata. No entanto, os dados exportados são armazenados em blobs de cinco minutos e a análise de dados abrangendo vários blobs pode ser complicada. Portanto, exportar dados para uma conta de armazenamento é um bom mecanismo de backup de dados, mas ter os dados de backup em uma conta de armazenamento não é ideal se você precisar deles para análise nos Logs do Azure Monitor. Você pode consultar grandes volumes de dados de blob usando o Azure Data Explorer, o Azure Data Factory ou qualquer outra ferramenta de acesso ao armazenamento.
Proteção de dados entre regiões e resiliência de serviços usando replicação de espaço de trabalho (visualização)
A replicação de espaço de trabalho (visualização) é a solução de resiliência mais extensa, pois replica o espaço de trabalho do Log Analytics e os logs de entrada para outra região.
A replicação do espaço de trabalho protege seus logs e as operações de serviço e permite que você continue monitorando seus sistemas no caso de incidentes relacionados à infraestrutura ou ao aplicativo em toda a região.
Em contraste com as zonas de disponibilidade, que a Microsoft gerencia de ponta a ponta, você precisa monitorar a integridade do espaço de trabalho principal e decidir quando alternar para o espaço de trabalho na região secundária e vice-versa.
Lista de verificação de estruturação
- Para garantir a resiliência do serviço e dos dados a incidentes em toda a região, habilite a replicação do espaço de trabalho.
- Para garantir a proteção na região contra falhas no datacenter, crie seu espaço de trabalho em uma região que ofereça suporte a zonas de disponibilidade.
- Para backup inter-regional de dados em tabelas específicas, use o recurso de exportação contínua para enviar dados para uma conta de armazenamento replicada geograficamente.
- Monitore a integridade de seus espaços de trabalho do Log Analytics.
Recomendações de configuração
Recomendação | Benefício |
---|---|
Para garantir o maior grau de resiliência, habilite a replicação do espaço de trabalho. | Resiliência inter-regional para dados de espaço de trabalho e operações de serviço. A replicação do espaço de trabalho (visualização) garante alta disponibilidade criando uma instância secundária do seu espaço de trabalho em outra região e ingerindo seus logs em ambos os espaços de trabalho. Quando necessário, alterne para o espaço de trabalho secundário até que os problemas que afetam o espaço de trabalho principal sejam resolvidos. Você pode continuar ingerindo logs, consultando dados, usando painéis, alertas e o Sentinel em seu espaço de trabalho secundário. Você também tem acesso aos logs ingeridos antes da mudança de região. Este é um recurso pago, portanto, considere se deseja replicar todos os seus logs de entrada ou apenas alguns fluxos de dados. |
Se possível, crie seu espaço de trabalho em uma região que ofereça suporte à resiliência do serviço do Azure Monitor. | Resiliência na região dos dados do espaço de trabalho e das operações de serviço em caso de problemas com o datacenter. As zonas de disponibilidade que suportam a resiliência do serviço também suportam a resiliência dos dados. Isso significa que, mesmo que um datacenter inteiro fique indisponível, a redundância entre zonas permite que as operações de serviço do Azure Monitor, como ingestão e consulta, continuem a funcionar e seus logs ingeridos permaneçam disponíveis. As zonas de disponibilidade fornecem proteção na região, mas não protegem contra problemas que afetam toda a região. Para obter informações sobre quais regiões oferecem suporte à resiliência de dados, consulte Aprimorar a resiliência de dados e serviços em Logs do Azure Monitor com zonas de disponibilidade. |
Crie seu espaço de trabalho em uma região que ofereça suporte à resiliência de dados. | Proteção na região contra perda de logs em seu espaço de trabalho em caso de problemas com o datacenter. Criar seu espaço de trabalho em uma região que ofereça suporte à resiliência de dados significa que, mesmo que todo o datacenter fique indisponível, seus logs ingeridos estarão seguros. Se o serviço não conseguir executar consultas, você não poderá exibir os logs até que o problema seja resolvido. Para obter informações sobre quais regiões oferecem suporte à resiliência de dados, consulte Aprimorar a resiliência de dados e serviços em Logs do Azure Monitor com zonas de disponibilidade. |
Configure a exportação de dados de tabelas específicas para uma conta de armazenamento replicada entre regiões. | Mantenha uma cópia de backup dos dados de log em uma região diferente. O recurso de exportação de dados do Azure Monitor permite exportar continuamente dados enviados para tabelas específicas para o armazenamento do Azure, onde podem ser retidos por períodos prolongados. Use uma conta de armazenamento com redundância geográfica (GRS) ou armazenamento com redundância geográfica (GZRS) para manter seus dados seguros, mesmo que uma região inteira fique indisponível. Para tornar seus dados legíveis de outras regiões, configure sua conta de armazenamento para acesso de leitura à região secundária. Para obter mais informações, consulte Redundância do Armazenamento do Azure em uma região secundária e Acesso de leitura do Armazenamento do Azure aos dados na região secundária. Para tabelas que não oferecem suporte à exportação contínua de dados, você pode usar outros métodos de exportação de dados, incluindo Aplicativos Lógicos, para proteger seus dados. Esta é principalmente uma solução para atender à conformidade para retenção de dados, uma vez que os dados podem ser difíceis de analisar e restaurar para o espaço de trabalho. A exportação de dados é suscetível a incidentes regionais porque depende da estabilidade do pipeline de ingestão do Azure Monitor em sua região. Ele não fornece resiliência contra incidentes que afetam o pipeline de ingestão regional. |
Monitore a integridade de seus espaços de trabalho do Log Analytics. | Use as informações do espaço de trabalho do Log Analytics para rastrear consultas com falha e criar um alerta de status de integridade para notificá-lo proativamente se um espaço de trabalho ficar indisponível devido a uma falha regional ou de datacenter. |
Comparar os recursos de resiliência do Azure Monitor Logs
Caraterística | Resiliência do serviço | Backup de dados | Elevada disponibilidade | Âmbito da proteção | Configurar | Custo |
---|---|---|---|---|---|---|
Replicação de espaço de trabalho | ✅ | ✅ | ✅ | Proteção entre regiões contra incidentes em toda a região | Habilite a replicação do espaço de trabalho e das regras de coleta de dados relacionadas. Alterne entre regiões conforme necessário. | Com base no número de GBs replicados e região. |
Zonas de disponibilidade | ✅ Em regiões suportadas |
✅ | ✅ | Proteção na região contra problemas de datacenter | Ativado automaticamente em regiões suportadas. | Sem custos |
Exportação de dados contínua | ✅ | Proteção contra perda de dados devido a uma falha regional 1 | Ativar por tabela. | Custo de exportação de dados + Blob de armazenamento ou Hubs de Eventos |
1 A exportação de dados fornece proteção entre regiões se você exportar logs para uma conta de armazenamento replicada geograficamente. No caso de um incidente, os dados exportados anteriormente são copiados e prontamente disponíveis; no entanto, outras exportações podem falhar, dependendo da natureza do incidente.
Alertas
Os alertas do Azure Monitor oferecem um alto grau de confiabilidade sem decisões de design. As condições em que pode ocorrer uma perda temporária de dados de alerta geralmente são atenuadas por recursos de outros componentes do Azure Monitor.
Lista de verificação de estruturação
- Configure regras de alerta de integridade do serviço.
- Configure regras de alerta de integridade de recursos.
- Evite limites de serviço para regras de alerta que produzem notificações em grande escala.
Recomendações de configuração
Recomendação | Benefício |
---|---|
Configure regras de alerta de integridade do serviço. | Os alertas de integridade do serviço enviam notificações para interrupções, interrupções de serviço, manutenção planejada e avisos de segurança. Consulte Criar ou editar uma regra de alerta. |
Configure regras de alerta de integridade de recursos. | Os alertas de integridade do recurso podem notificá-lo quase em tempo real quando esses recursos tiverem uma alteração em seu status de integridade. Consulte Criar ou editar uma regra de alerta. |
Evite limites de serviço para regras de alerta que produzem notificações em grande escala. | Se você tiver regras de alerta que enviariam um grande número de notificações, poderá atingir seus limites de serviço para o serviço que usa para enviar notificações por e-mail ou SMS. Configure ações programáticas ou escolha um método ou provedor de notificação alternativo para lidar com notificações em grande escala. Consulte Limites de serviço para notificações. |
Máquinas virtuais
Lista de verificação de estruturação
- Crie regras de alerta de disponibilidade para VMs do Azure.
- Crie uma regra de alerta de pulsação do agente para verificar a integridade do agente.
- Configure a coleta de dados e alertas para monitorar a confiabilidade dos fluxos de trabalho do cliente.
Recomendações de configuração
Recomendação | Description |
---|---|
Crie regras de alerta de disponibilidade para VMs do Azure. | Use a métrica de disponibilidade (visualização) para controlar quando uma VM do Azure está em execução. Embora você possa habilitar rapidamente uma regra de alerta de disponibilidade para uma máquina individual usando alertas recomendados, uma única regra de alerta direcionada a um grupo de recursos ou assinatura permite o alerta de disponibilidade para todas as VMs nesse escopo para uma região específica. Isso é mais fácil de gerenciar do que criar uma regra de alerta para cada VM e garante que todas as novas VMs criadas no escopo sejam monitoradas automaticamente. Esta regra de alerta não exige que o agente do Azure Monitor seja instalado na VM, mas não está disponível para VMs fora do Azure. |
Crie uma regra de alerta de pulsação do agente para verificar a integridade do agente. | O agente do Azure Monitor envia uma pulsação para o espaço de trabalho do Log Analytics a cada minuto. Use uma regra de alerta de pesquisa de log usando a pulsação do agente para ser alertado quando um agente parar de enviar pulsações, que é um indicador de que a VM está inativa ou o agente não está íntegro e as cargas de trabalho do cliente não estão sendo monitoradas. Esta regra de alerta requer que o agente do Azure Monitor esteja instalado na VM e se aplique a VMs do Azure e não do Azure. |
Configure a coleta de dados e alertas para monitorar a confiabilidade dos fluxos de trabalho do cliente. | Use as informações em Monitorar máquinas virtuais com Monitorar máquinas virtuais com o Azure Monitor: coletar dados para configurar a coleta de eventos do cliente indicando possíveis problemas com as cargas de trabalho do cliente. Use as informações em Monitorar máquinas virtuais com Monitorar máquinas virtuais com o Azure Monitor: Alertas para criar regras de alerta para ser notificado proativamente de possíveis problemas operacionais com suas cargas de trabalho de cliente. |
Contentores
Lista de verificação de estruturação
- Habilite a raspagem de métricas do Prometheus para seu cluster.
- Habilite o Container insights para a coleta de logs e dados de desempenho do cluster.
- Crie configurações de diagnóstico para coletar logs de plano de controle para clusters AKS.
- Habilite os alertas recomendados do Prometheus.
- Garanta a disponibilidade do espaço de trabalho do Log Analytics com suporte a insights de contêiner.
Recomendações de configuração
Recomendação | Benefício |
---|---|
Habilite a raspagem de métricas do Prometheus para seu cluster. | Habilite o Prometheus em seu cluster com o serviço gerenciado do Azure Monitor para Prometheus se você ainda não tiver um ambiente Prometheus. Use o Azure Managed Grafana para analisar os dados do Prometheus coletados. Consulte Personalizar a raspagem de métricas do Prometheus no serviço gerenciado do Azure Monitor para que o Prometheus colete métricas adicionais além da configuração padrão. |
Habilite o Container insights para a coleta de logs e dados de desempenho do cluster. | O Container insights coleta logs stdout/stderr, métricas de desempenho e eventos do Kubernetes de cada nó do cluster. Ele fornece painéis e relatórios para analisar esses dados, incluindo a disponibilidade de seus nós e outros componentes. Use o Log Analytics para identificar quaisquer erros de disponibilidade em seus logs coletados. |
Crie configurações de diagnóstico para coletar logs de plano de controle para clusters AKS. | O AKS implementa logs de planos de controle como logs de recursos no Azure Monitor. Crie uma configuração de diagnóstico para enviar esses logs para seu espaço de trabalho do Log Analytics para que você possa usar consultas de log para identificar erros e problemas que afetam a disponibilidade. |
Habilite os alertas recomendados do Prometheus. | Os alertas no Azure Monitor notificam proativamente quando são detetados problemas. Comece com um conjunto de regras de alerta recomendadas do Prometheus que detetam os problemas mais comuns de disponibilidade e desempenho no cluster. Adicione potencialmente alertas de pesquisa de log usando dados coletados pelo Container insights. |
Garanta a disponibilidade do espaço de trabalho do Log Analytics com suporte a insights de contêiner. | O Container insights depende de um espaço de trabalho do Log Analytics. Consulte Práticas recomendadas para Logs do Azure Monitor para obter recomendações para garantir a confiabilidade do espaço de trabalho. |