Não há necessidade de reaprender, use o Kibana para consultar/visualizar dados SLS

Autor: Jing Lei

Cenas

Agora, com a compatibilidade ES do SLS, você pode usar facilmente o Kibana para consultar e visualizar dados SLS. Os usuários que migram do ES para o SLS podem continuar mantendo seus hábitos originais de uso do Kibana. A seguir demonstramos como acessar o SLS por meio do Kibana.

Instruções

Arquitetura de implantação

As partes azuis aqui são componentes que requerem implantação do cliente.

  • Kibana é usado para visualização
  • O proxy é usado para distinguir solicitações do Kibana e encaminhar solicitações relacionadas ao SLS para a interface compatível com ES do SLS.
  • Elasticsearch é usado para armazenar Meta do Kibana

Espere, por que precisamos de um ES aqui? 

O motivo é que o Logstore do SLS não oferece suporte a atualizações e muitos dados da classe Meta não são adequados para SLS.

Kibana tem muitos metadados para armazenar, como configuração de gráfico do Kibana, configuração de padrão de índice, etc.

Portanto, você precisa implantar uma instância ES. Essa instância ES armazenará apenas os metadados do Kibana, portanto, seu uso de recursos é muito pequeno.

Processo de implantação

Implantar usando docker-compose

Preparações relacionadas

Depois de instalar o docker e o docker compose, as etapas a seguir também se aplicam ao podman compose.

Crie diretórios relacionados

mkdir sls-kibaba # 创建一个新的目录
cd sls-kibaba # 进入
mkdir es_data # 创建一个目录用于放es的数据

Configuração

Crie o arquivo docker-compose.yml no diretório sls-kibana.

O conteúdo é o seguinte: (As seguintes marcas são os locais que devem ser modificados aqui. Faça modificações de acordo com a situação real)

version: '3'
services:
  es:
    image: elasticsearch:7.17.3
    environment:
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms2G -Xmx2G"
      - ELASTIC_USERNAME=elastic
      - ELASTIC_PASSWORD=ES密码 # 此处请修改
      - xpack.security.enabled=true
    volumes:
      - ./data:/usr/share/elasticsearch/data
    networks:
      - es717net

  kproxy:
    image: sls-registry.cn-hangzhou.cr.aliyuncs.com/kproxy/kproxy:1.9d
    depends_on:
      - es
    environment:
      - ES_ENDPOINT=es:9200
      - SLS_ENDPOINT=https://etl-dev.cn-huhehaote.log.aliyuncs.com/es/ # 此处请修改,规则为 https://${project名}.${slsEnpoint名}/es/
      - SLS_PROJECT=etl-dev # 此处请修改
      - SLS_ACCESS_KEY_ID=ALIYUN_ACCESS_KEY_ID # 此处请修改, 确保有读logstore的权限
      - SLS_ACCESS_KEY_SECRET=ALIYUN_ACCESS_KEY_SECRET # 此处请修改为真实accessKeySecret
    networks:
      - es717net

  kibana:
    image: kibana:7.17.3
    depends_on:
      - kproxy
    environment:
      - ELASTICSEARCH_HOSTS=http://kproxy:9201
      - ELASTICSEARCH_USERNAME=elastic
      - ELASTICSEARCH_PASSWORD=ES密码 # 此处请修改(跟前面设置的ES密码相同)
      - XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED=true
    ports:
      - "5601:5601"
    networks:
      - es717net

networks:
  es717net:
    ipam:
      driver: default

Inicie o serviço local do Kibana:

docker compose up -d

Verifique o status de inicialização do docker compose:

docker compose ps

Visite Kibana

Acesse http://$ ( endereço IP de implantação do Kibaba}:5601 com seu navegador , digite sua conta e senha para fazer login no Kibana.

Configurar padrão de índice

Selecione Gerenciamento de pilha:

Clique na guia Index Pattern É normal não ver dados na lista Index Pattern O Logstore do serviço de log é mapeado para os padrões de índice no Kibana e precisa ser criado manualmente. Clique em criar um padrão de índice em índices ocultos ou de sistema na caixa de prompt.

Na página Criar padrão de índice, o formato para Nome é ${project}.${logstore} Observe que a proporção deve ser preenchida completamente e * a correspondência não é suportada.

Clique em Criar padrão de índice para concluir a criação do padrão e insira Descobrir para consultar os dados.

Consultar Logstore

KQL e Lucene podem ser selecionados na caixa de consulta do Kibana, e ambas as interfaces compatíveis com ES do SLS são suportadas.

Consulta de host simples:

Algumas consultas e filtros complexos podem ser consultados.

Gráficos visuais

Então, além da consulta, o Kibana pode ser usado para visualização? claro! Selecione Painel.

Após entrar, clique em Criar painel para criar um gráfico.

Ao definir os campos e métodos estatísticos do eixo horizontal e do eixo vertical, você pode criar facilmente o gráfico desejado.

Por exemplo, o histograma mais simples é um histograma que conta o número de visitas solicitadas, com o tempo no eixo horizontal e o número de registros no eixo vertical.

Agora quero ver o status de cada coluna. Posso selecionar o campo Dividir por como status.

Perguntas frequentes

1) Por que não consigo ver o Logstore no SLS no Kibana?

O Logstore no SLS é consultado por meio do Index Pattern do Kibana, e o Logstore no SLS precisa ser criado criando manualmente um Index Pattern.

2) Ao criar o padrão de índice no Kibana, por que não há aviso quando nenhuma entrada é feita?

Isso é normal. Depois de inserir o ${project}.${logstore} correto à esquerda (onde ${project} e ${logstore} precisam ser substituídos por valores reais), o seguinte será exibido:

3) O Kibana suporta * curingas ao criar o Padrão de Índice?

Curingas não são suportadas e ${project}.${logstore} precisa ser preenchido completamente, como etl-dev.accesslog para corresponder.

4) Por que não há prompt no lado direito ao criar o padrão de índice do Logstore no Kibana?

Existem várias possibilidades:

  1. O endereço compatível com ES do SLS está errado. Quando configurado no kproxy, a regra é  https://${nome do projeto}.${slsEnpoint name}/es/ . 2. O accessKeyId e accessKeySerect correspondentes não têm permissão para acessar o SLS Logstore (permissão de leitura).
  2. 5) Tenho vários projetos SLS que desejo acessar no Kibana. Isso pode ser feito?

Sim, a chave está na configuração do kproxy. SLS_PROJECT, SLS_ENDPOINT, SLS_ACCESS_KEY_ID, SLS_ACCESS_KEY_SECRET são os nomes das variáveis ​​relacionadas ao primeiro Projeto. A partir do segundo projeto, os nomes das variáveis ​​relevantes precisam ser adicionados com sufixos numéricos, como SLS_PROJECT2, SLS_ENDPOINT2, SLS_ACCESS_KEY_ID2, SLS_ACCESS_KEY_SECRET2. Caso o AccessKey de um Projeto subsequente seja igual ao primeiro Projeto, a configuração do AccessKey correspondente ao Projeto poderá ser omitida.

Por exemplo, supondo que outro projeto seja verificado pelo Kibaba, então como o segundo kproxy:

- SLS_ENDPOINT2=https://etl-dev2.cn-huhehaote.log.aliyuncs.com/es/
- SLS_PROJECT2=etl-dev2
- SLS_ACCESS_KEY_ID2=etl-dev2对应的accessKeyId  #如果和SLS_ACCESS_KEY_ID2一样可以不加
- SLS_ACCESS_KEY_SECRET2=etl-dev2对应的accessKeyKey #如果和SLS_ACCESS_KEY_ID2一样可以不加

resumo

Este artigo demonstra como usar o Kibana para se conectar à interface compatível com SLS ES para consulta e análise. Os recursos de consulta e visualização do Kibana podem ser conectados e usados ​​normalmente. Adequado para as duas situações a seguir:

  • Se seu hábito de uso anterior for Kibana e os logs já existirem no Alibaba Cloud SLS, você poderá usar esta solução para se conectar.
  • Se você está usando atualmente a solução ELK padrão, mas está cansado do trabalho de manutenção ou ajuste ao usar ES, você pode tentar a solução Alibaba Cloud SLS (camada inferior c++, sem servidor, baixo custo, compatível com ES).

Ansioso para seu uso.

Documentação de referência:

Decidi desistir do software industrial de código aberto . Grandes eventos - OGG 1.0 foi lançado, a Huawei contribuiu com todo o código-fonte do Ubuntu 24.04 LTS foi oficialmente demitido . ". O Fedora Linux 40 foi lançado oficialmente. Uma conhecida empresa de jogos lançou novos regulamentos: os presentes de casamento dos funcionários não devem exceder 100.000 yuans. A China Unicom lança a primeira versão chinesa Llama3 8B do mundo do modelo de código aberto. Pinduoduo é condenado a compensar 5 milhões de yuans por concorrência desleal Método de entrada na nuvem doméstica - apenas a Huawei não tem problemas de segurança de upload de dados na nuvem.
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/3874284/blog/11059549
Recomendado
Clasificación