O tutorial destina-se a administradores que configuram a integração de registros e métricas do Anthos com o Splunk. Neste tutorial, você configura um coletor de eventos HTTP para o Splunk Enterprise, implanta o Splunk Connect for Kubernetes no cluster do Anthos e implanta um aplicativo de amostra.
Neste tutorial, presumimos que você tenha familiaridade com o Kubernetes e também tenha os seguintes requisitos técnicos:
- Você é um cliente do Anthos ou participa do programa de avaliação gratuita dessa plataforma.
- Você tem uma instalação do Anthos configurada anteriormente com um cluster de usuário em execução.
- No momento, você está executando o Splunk Enterprise (7.0 ou mais recente) local na sua organização.
Se você estiver executando o Anthos no Google Cloud ou em outras nuvens públicas e quiser se conectar a uma instância do Splunk em execução no local, será necessário ter conectividade híbrida entre os dois ambientes em vigor, conforme mostrado no diagrama a seguir:
Objetivos
- Instale e use o Splunk Connect for Kubernetes para coletar registros de aplicativos do Kubernetes em execução no Anthos no Google Cloud.
- Configure um coletor de eventos HTTP para Splunk Connect.
- Implante o Splunk Connect for Kubernetes no cluster do Anthos.
- Implante um aplicativo de amostra.
Custos
Neste tutorial, usamos os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços. Novos usuários do Google Cloud podem ser qualificados para uma avaliação gratuita.
Antes de começar
-
Faça login na sua conta do Google.
Se você ainda não tiver uma, inscreva-se.
-
No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.
- Verifique se você implantou e configurou o Splunk. Consulte Primeiros passos com o Splunk (em inglês) e implante o Splunk Enterprise.
- Verifique se você tem um cluster de usuário do Anthos implantado e registrado no Console do Google Cloud. Para seguir este tutorial, é recomendável (mas não obrigatório) ter três nós no cluster. Consulte a <a){: class="internal" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position,class" l10n-encrypted-href="5sJAARSppr4HaNH1BtuwkKrAXps+HwB4ScCjD/HhErQ=" track-metadata-position="body" track-name="internalLink" track-type="tutorial">Documentação do Anthos para implantar esse componente.</a){:>
- Verifique se há conectividade de rede entre o cluster do Anthos e o Splunk.
Como configurar o Splunk Enterprise
Configurar índices
O Splunk Connect requer no mínimo dois índices para exportar dados: um para eventos e outro para métricas. Neste tutorial, você também cria um índice de eventos separado para objetos, para um total de três índices.
- Faça login no Splunk como administrador.
- Vá para Configurações > Índices.
- Clique em Novo índice.
- Na caixa de texto Nome do índice, digite
events
. - Defina Tipo de dados de índice como Eventos.
- Na caixa de texto Nome do índice, digite
- Clique em Salvar.
- Clique em Novo índice.
- Na caixa de texto Nome do índice, digite
objects
. - Defina Tipo de dados de índice como Eventos.
- Na caixa de texto Nome do índice, digite
- Clique em Salvar.
- Clique em Novo índice.
- Na caixa de texto Nome do índice, digite
metrics
. - Defina Tipo de dados do índice como Métricas.
- Na caixa de texto Nome do índice, digite
- Clique em Salvar.
Configurar um coletor de eventos HTTP (HEC, na sigla em inglês)
Para exportar registros e métricas do Anthos para o Splunk, você precisa configurar o Splunk HTTP Event Collector (HEC).
- Vá para Configurações > Entradas de dados.
- Clique em Configurações globais.
- Defina Todos os tokens como Ativado.
- Selecione Ativar SSL.
- Clique em Salvar.
- Na caixa de diálogo Coletor de eventos HTTP, selecione +Adicionar novo.
- Na caixa de texto Nome, digite
anthos-hec
e, em seguida, selecione Próxima. - Na caixa de diálogo Configurações de entrada, faça o seguinte:
- Defina Contexto de aplicativo como Pesquisa e relatórios (pesquisa).
- No menu Selecionar índices permitidos, selecione eventos, métricas e objetos.
- Clique em Avançar.
A página Revisar é exibida. Verifique se a página tem a seguinte aparência:
Clique em Enviar para criar o HEC. Copie o valor do token resultante para uso posterior.
Para verificar a conectividade, faça login em um nó no cluster do Anthos e envie um evento de teste para o Splunk. Substitua hec-token pelo valor do token criado anteriormente e substitua splunk-ip pelo IP do servidor do Splunk Enterprise, conforme mostrado no código a seguir:
curl -k http://splunk-ip:8088/services/collector/event \ -H "Authorization: Splunk hec-token" -d '{"event": "hello splunk"}'
Se a solicitação for bem-sucedida, o servidor retornará uma resposta como a seguinte:
{"text":"Success","code":0}
Como implantar o Splunk Connect for Kubernetes
Para implantar o Splunk Connect for Kubernetes, você precisa criar uma conta de serviço, instalar o Helm e implantar o Splunk Connect.
Faça login no cluster de usuários do Anthos como administrador
- Em um shell na
<a){: class="internal" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position,class" l10n-encrypted-href="3n2VH2e0y1LXIfd3j+mggAvyAjTuf51A7biwZZ2m1/Po/0ReIgt1WFs7y9l8ijRysP+liCKn/caImABTbV/e+g==" track-metadata-position="body" track-name="internalLink" track-type="tutorial">estação de trabalho do administrador do Anthos, confirme
se a ferramenta
kubectl
está configurada para levar ao seu o cluster do Anthos por padrão:</a){:>
kubectl config current-context
kubeconfig
a um arquivo de configuração local e tente novamente:mkdir .kube ln -s /kubeconfig ~/.kube/config
Instalar Helm
É preciso instalar o Splunk Connect com o gerenciador de pacotes do Helm.
Instale o cliente Helm e verifique se o Helm está no seu caminho:
helm version
A saída é semelhante à seguinte, embora os números de versão e confirmação possam ser diferentes:
version.BuildInfo{Version:"v3.2.3", GitCommit:"8f832046e258e2cb800894579b1b3b50c2d83492", GitTreeState:"clean", GoVersion:"go1.13.12"}
Implantar o Splunk Connect
Criar um namespace do Splunk. Esse namespace é usado para isolar o Splunk Connect do resto do seu cluster:
kubectl create namespace splunk
Crie um arquivo YAML contendo a configuração do Splunk Connect para ler registros, objetos e métricas. Substitua hec-token pelo valor do token criado anteriormente e substitua splunk-ip pelo IP do servidor do Splunk Enterprise:
cat <<EOF >values.yaml global: splunk: hec: protocol: https insecureSSL: true token: hec-token host: splunk-ip port: 8088 indexName: events splunk-kubernetes-logging: journalLogPath: /run/log/journal splunk: hec: indexName: events splunk-kubernetes-objects: objects: core: v1: - name: pods - name: namespaces - name: nodes - name: services - name: config_maps - name: persistent_volumes - name: service_accounts - name: persistent_volume_claims - name: resource_quotas - name: component_statuses - name: events mode: watch apps: v1: - name: deployments - name: daemon_sets - name: replica_sets - name: stateful_sets splunk: hec: indexName: objects splunk-kubernetes-metrics: kubernetes: insecureSSL: true splunk: hec: indexName: metrics EOF
Instale o Splunk Connect for Kubernetes no namespace
splunk
:helm install anthos-splunk -f values.yaml --namespace splunk \ https://github.com/splunk/splunk-connect-for-kubernetes/releases/downlo ad/1.4.1/splunk-connect-for-kubernetes-1.4.1.tgz
Verifique se o Splunk Connect foi iniciado:
kubectl -n splunk get pods
Você verá três pods de geração de registros, três pods de métricas, um pod agregador de métricas e um pod de objetos em execução, como mostrado a seguir:
NAME READY STATUS RESTARTS AGE anthos-splunk-splunk-kubernetes-logging-46srr 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-logging-gkgkm 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-logging-r52nz 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-metrics-agg-595946f874-vjzmb 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-metrics-gbkb8 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-metrics-k6ksn 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-metrics-vg5wn 1/1 Running 0 2m anthos-splunk-splunk-kubernetes-objects-7c5cd8cf7d-csvw6 1/1 Running 0 2m
Acesse Configurações e Índices na IU do Splunk. Se a conexão for bem-sucedida, a coluna Evento mais recente mostrará um horário recente para os índices
events
,metrics
eobjects
.
Solução de problemas e alterações
Se um pod não estiver iniciando ou se os dados não estiverem passando, inspecione os registros do pod para verificar se há erros:
kubectl -n splunk logs pod-name
Se você precisar atualizar o arquivo
config.yaml
e tentar novamente, execute os seguintes comandos para reimplantar o Splunk Connect e recriar os pods dele:helm upgrade --namespace splunk -f values.yaml anthos-splunk \ https://github.com/splunk/splunk-connect-for-kubernetes/releases/downlo ad/1.4.1/splunk-connect-for-kubernetes-1.4.1.tgz kubectl delete pods -n splunk --all
Como implantar e testar um aplicativo de amostra
Em seguida, você implanta um aplicativo de amostra e visualiza os registros, metadados e métricas no Splunk.
Implantar um aplicativo de amostra
Implante um aplicativo simples do "Hello World" no Anthos:
kubectl create deployment hello-kubernetes --image=paulbouwer/hello-kubernetes:1.5
Exponha o aplicativo na porta 8080 e encaminhe-o para que ele possa ser acessado localmente:
kubectl expose deployment hello-kubernetes --port=8080 --type=ClusterIP kubectl port-forward deployment/hello-kubernetes 8080:8080
Teste o aplicativo usando a ferramenta de linha de comando
curl
:curl http://localhost:8080/
Se a solicitação for bem-sucedida, o servidor retornará uma resposta como a seguinte:
<!DOCTYPE html> <html> <head> <title>Hello Kubernetes!</title> [...]
Ver registros do aplicativo
Navegue até Pesquisar na interface do usuário da Web do Splunk e pesquise os registros do aplicativo de exemplo no índice
events
:index=events sourcetype="kube:container:hello-kubernetes"
Essa pesquisa retorna eventos de registro do aplicativo em ordem cronológica inversa (mais recente primeiro), começando com a solicitação de teste e a entrada indicando que o aplicativo está ouvindo e pronto para o serviço, conforme mostrado na captura de tela a seguir:
Ver metadados do aplicativo
No painel Pesquisar, pesquise objetos de metadados para o aplicativo de amostra:
index="objects" "hello-kubernetes"
Esta pesquisa retorna uma lista de instantâneos de metadados para vários objetos do Kubernetes. Por exemplo, selecionando
sourcetype="kube:objects:deployments"
e expandindometadata
estatus
, é possível verificar o status da implantaçãohello-kubernetes
em um momento específico, incluindo o número de réplicas disponíveis, conforme mostrado na captura de tela a seguir:Por padrão, os metadados são pesquisados a cada 15 minutos. Isso pode ser ajustado com a configuração do intervalo no arquivo
values.yaml
.Os metadados também incluem um fluxo de eventos da API Kubernetes. A pesquisa a seguir retorna todos os eventos do aplicativo de amostra:
index="objects" sourcetype="kube:objects:events*" "hello-kubernetes"
Visualizar métricas do sistema e do aplicativo
Acesse Métricas na interface do usuário do Splunk e insira
cpu
na caixa de pesquisa.No menu suspenso, selecione Métricas > kube > namespace > cpu > uso.
No painel Análise à direita, selecione Divisão por e, em seguida, selecione nome. Você verá um gráfico de uso da CPU classificado por namespace, como mostrado na captura de tela a seguir:
Como implantar o Splunk App for Infrastructure
O Splunk App for Infrastructure (SAI) fornece informações sobre o desempenho de servidores Linux, servidores Microsoft Windows, clusters Kubernetes, contêineres OpenShift, contêineres Docker e instâncias do Amazon EC2, ELB e EBS. O SAI usa métricas para monitoramento de desempenho e usa dados de registro para entender melhor e solucionar problemas da infraestrutura do servidor.
Para uma instalação de configuração simplificada que seja totalmente compatível com os recursos fornecidos no Splunk App for Infrastructure, instale o Splunk Add-on for Infrastructure e o Splunk App Infrastructure no ambiente Splunk. Siga estas etapas para gerar um script de instalação que configure a entrega de dados para o Splunk.
Limpeza
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto do Cloud
A maneira mais fácil de eliminar o faturamento é excluir o projeto do Cloud criado para o tutorial.
- No Console do Cloud, acesse a página Gerenciar recursos:
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir os recursos
Depois de concluir este tutorial, execute estes comandos para remover os recursos criados:
helm delete --namespace splunk anthos-splunk
kubectl delete deployment hello-kubernetes
A seguir
- Saiba mais sobre o Anthos:
- Saiba mais sobre produtos e soluções do Splunk (links em inglês):
- Teste outros recursos do Google Cloud. Veja nossos tutoriais.