(PRECADO) Monitorize um cluster de serviço de contentores Azure com Log Analytics

Dica

Para a versão atualizada, este artigo que utiliza Azure Kubernetes Service, consulte o Azure Monitor para obter recipientes.

Aviso

O Serviço de Contentores Azure (ACS) está a ser depreciado. Não estão a ser adicionadas novas funcionalidades ou funcionalidades ao ACS. Todas as APIs, experiência do portal, comandos CLI e documentação são marcados como precedidos.

Em 2017, introduzimos Azure Kubernetes Service (AKS) para simplificar a gestão, implantação e operações da Kubernetes. Se utilizar o orquestrador Kubernetes, por favor, emigre para a AKS até 31 de janeiro de 2020. Para começar, consulte migrar para Azure Kubernetes Service.

Para mais informações, consulte o anúncio de depreciação do Serviço de Contentores Azure no Azure.com.

Pré-requisitos

Este walkthrough assume que você criou um cluster Kubernetes usando o Serviço de Contentores Azure.

Também assume que tem o az Cli Azure e kubectl as ferramentas instaladas.

Pode testar se a az ferramenta está instalada em execução:

az --version

Se não tiver a az ferramenta instalada, há instruções aqui. Em alternativa, pode utilizar o Azure Cloud Shell, que tem o az CLI Azure e kubectl ferramentas já instaladas para si.

Pode testar se a kubectl ferramenta está instalada em execução:

kubectl version

Se não tiver kubectl instalado, pode correr:

az acs kubernetes install-cli

Para testar se tem as teclas kubernetes instaladas na sua ferramenta kubectl, pode executar:

kubectl get nodes

Se o comando acima se apagar, tem de instalar as teclas de cluster kubernetes na sua ferramenta kubectl. Pode fazê-lo com o seguinte comando:

RESOURCE_GROUP=my-resource-group
CLUSTER_NAME=my-acs-name
az acs kubernetes get-credentials --resource-group=$RESOURCE_GROUP --name=$CLUSTER_NAME

Recipientes de monitorização com Log Analytics

Log Analytics é a solução de gestão de TI baseada na nuvem da Microsoft que o ajuda a gerir e proteger as suas infraestruturas de nuvem e instalações. A Solução de Contentores é uma solução no Log Analytics, que o ajuda a visualizar o inventário, desempenho e registos do contentor num único local. Você pode auditar, resolver os problemas, visualizando os registos em localização centralizada, e encontrar um recipiente em excesso de consumo ruidoso num hospedeiro.

Para obter mais informações sobre a Solução de Contentores, consulte o Container Solution Log Analytics.

Instalação do Log Analytics em Kubernetes

Obtenha o seu ID e chave do seu espaço de trabalho

Para que o agente Log Analytics fale com o serviço, precisa de ser configurado com um ID de espaço de trabalho e uma chave de espaço de trabalho. Para obter o ID do espaço de trabalho e a chave, você precisa criar uma conta em https://mms.microsoft.com. Por favor, siga os passos para criar uma conta. Uma vez terminada a criação da conta, pode obter o seu ID e a sua tecla clicando na lâmina Log Analytics e, em seguida, o nome do seu espaço de trabalho. Em seguida, em advanced Definições, Connected Sources e, em seguida, Linux Servers, encontrará a informação de que necessita, como mostrado abaixo.

Instale o agente Log Analytics utilizando um DaemonSet

Os DaemonSets são utilizados pela Kubernetes para executar uma única instância de um recipiente em cada hospedeiro do cluster. São perfeitos para agentes de monitorização.

Aqui está o ficheiro YAML da DaemonSet. Guarde-o para um ficheiro nomeado oms-daemonset.yaml e substitua os valores do detentor do lugar para e KEY pelo WSID seu ID do espaço de trabalho e a chave no ficheiro.

Uma vez adicionado o seu ID do espaço de trabalho e a chave para a configuração DoemonSet, pode instalar o agente Log Analytics no seu cluster com a kubectl ferramenta da linha de comando:

kubectl create -f oms-daemonset.yaml

Instalação do agente Log Analytics utilizando um Segredo de Kubernetes

Para proteger o seu ID e chave do espaço de trabalho Log Analytics pode utilizar a Kubernetes Secret como parte do ficheiro YAML do DaemonSet.

  • Copie o script, o ficheiro de modelo secreto e o ficheiro YAML do DaemonSet (do repositório) e certifique-se de que estão no mesmo diretório.

    • script gerador secreto - secret-gen.sh
    • modelo secreto - modelo secreto.yaml
      • Ficheiro DAemonSet YAML - omsagent-ds-secrets.yaml
  • Execute o script. O script pedirá o ID do Espaço de Trabalho do Log Analytics e a Chave Primária. Insira isso e o script criará um ficheiro yaml secreto para que possa executá-lo.

    sudo bash ./secret-gen.sh
    
    • Crie o casulo de segredos executando o seguinte:

      kubectl create -f omsagentsecret.yaml
      
    • Para verificar, execute o seguinte:

    kubectl get secrets
    
    NAME                  TYPE                                  DATA      AGE
    default-token-gvl91   kubernetes.io/service-account-token   3         50d
    omsagent-secret       Opaque                                2         1d
    root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret
    Name:           omsagent-secret
    Namespace:      default
    Labels:         <none>
    Annotations:    <none>
    
    Type:   Opaque
    
    Data
    ====
    WSID:   36 bytes
    KEY:    88 bytes
    
    • Crie o seu conjunto de daemon omsagent executando o seguinte:
    kubectl create -f omsagent-ds-secrets.yaml
    

Conclusão

Já está! Após alguns minutos, deverá ser possível ver os dados a fluir para o seu painel de registos.