O recurso de proteção de tráfego do MSE detecta tráfego anômalo e ataques. Você pode reportar esses eventos ao Simple Log Service (SLS) para monitoramento em tempo real, análise e respostas de segurança. Este tópico descreve como reportar ao SLS os eventos acionados pelo recurso de proteção de tráfego do MSE Microservices Governance. A coleta desses eventos ocorre no arquivo sentinel-block.log.
Pré-requisitos
Ative o recurso de proteção de tráfego do MSE Microservices Governance e configure as regras de proteção. Para mais informações, consulte Proteção de tráfego.
Ativar o Logtail
Se você ativou o Simple Log Service durante a criação do cluster ACK, ignore esta seção. Caso contrário, siga estas etapas para ativar o Logtail. Para mais informações, consulte Instalar o Logtail ao criar um cluster.
Esta operação aplica-se apenas a clusters dedicados e gerenciados do ACK.
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Components and Add-ons.
Na aba Logs and Monitoring, localize logtail-ds e clique em Install.
Importar dados
Configure uma fonte de dados no SLS para coletar, analisar e reportar registros de log do Sentinel. Para obter detalhes sobre o formato do arquivo de coleta, consulte Fontes de dados e formatos de análise.
Faça login no console do Simple Log Service.
Clique em Quick Data Import. Na caixa de diálogo Import Data, pesquise por Kubernetes e selecione Kubernetes - File.
-
Na etapa Select Logstore, escolha um Project e um Logstore e clique em Next.
Selecione o Project k8s-log-{your_k8s_cluster_id} ou outro de sua preferência. Quanto ao Logstore, utilize um existente ou crie um novo. Para mais informações, consulte Criar um Logstore.
-
Na etapa Machine Group Configuration, selecione o Machine Group de destino (k8s-group-${your_k8s_cluster_id}). Transfira esse grupo da lista Source Machine Group para a lista Applied Machine Group e clique em Next.
Ao selecionar outro Project, crie um Machine Group conforme as instruções exibidas na página.
-
Na etapa Logtail Configuration, defina a fonte de dados e o formato de análise. Finalize a configuração e clique em Next.
Parâmetro
Descrição
Config name
Insira um nome para a configuração.
File Path
-
A coleta dos logs ocorre no caminho fixo
/${user_home}/logs/csp/sentinel-block.log. Substitua${user_home}pelo diretório home do sistema (geralmente root). -
Para verificar o caminho específico, consulte Logs importantes.
Log Sample
Insira o conteúdo abaixo como amostra:
2024-08-28 06:53:14|1|/flow,FlowException,default,,32808,1724827994000|37,0,0Processing Method
Use uma combinação de plugins de processamento e adicione o plugin Data Parsing (Regex Mode). Configure os parâmetros principais conforme o exemplo e ajuste os demais conforme necessário.
Regular expression
(\d+-\d+-\d+\s\d+:\d+:\d+)\|1\|([\s\S]),([a-zA-Z]+),([a-zA-Z]+),([\s\S]),(\d+),(\d+)\|(\d+),0,(\d+)
Defina Source Field como
contente clique em Validate. O sistema extrairá nove campos:time,resource,expType,limitApp,origin,ruleId,timestamp,blockNumen. Em seguida, marque a caixa de seleção Keep original fields on parsing failure. -
-
Na etapa Query and Analysis Configurations, aguarde a conclusão da Automatic Refresh ao lado de Preview Data. Adicione ou modifique campos de índice e clique em Next.
Campo
Tipo
Alias
__tag__:_namespace_
text
namespace
__tag__:container_name_
text
appName
ruleId
long
Não obrigatório
resource
text
time
text
expType
text
blockNum
double
Clique em Query Log para retornar ao Project.
Verificar o reporte de eventos
Faça login no console do Simple Log Service.
-
No Project especificado, visualize as métricas de monitoramento enviadas ao novo Logstore no SLS.
__tag__:__user_defined_id__: k8s-group-c7ebc423cebdd43c494daf02xxx __tag__:_cluster_id_: c7ebc423cebdd43c494daf02 __tag__:_container_ip_: 10.7.xxx __tag__:_container_name_: spring-cloud-b __tag__:_image_name_: registry.cn-hangzhou.aliyuncs.com/mse-demo-hz/spring-cloud-b:3.0.1-fallback-test __tag__:_namespace_: mse-demo __tag__:_node_ip_: 10.7xxx __tag__:_node_name_: cn-hangzhou.10.7.xxx __tag__:_pod_name_: spring-cloud-b-54b48d6f6c-xxx __tag__:_pod_uid_: bcd0f5bd-3b4c-48d7-99c7-aefxxx blockNum: 71 expType: FlowException limitApp: default n: 0 origin: dubbo-provider-A resource: com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String) ruleId: 855 time: 2023-09-15 03:46:22 timestamp: 1694749582000
Perguntas frequentes
Por que nenhum log é exibido no console do SLS?
Faça login no console do Container Service for Kubernetes e clique no cluster de destino. Na página Cluster information, clique em Open Cloud Shell e execute os comandos abaixo para verificação:
cd ~/logs/csp/ # Replace this with the actual log path.
tail -n 10 sentinel-block.log
O resultado esperado indica a geração de logs de limitação de taxa. Se os logs correspondentes não forem gerados, verifique se os Pré-requisitos foram atendidos corretamente. Certifique-se também de que as regras de proteção de tráfego no console do MSE estão configuradas adequadamente e de que houve limitação de tráfego.
2023-09-14 08:51:04|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681464000|63,0
2023-09-14 08:51:05|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681465000|78,0
2023-09-14 08:51:06|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681466000|75,0
2023-09-14 08:51:07|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681467000|64,0
2023-09-14 08:51:08|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681468000|84,0
2023-09-14 08:51:09|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681469000|75,0
2023-09-14 08:51:10|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681470000|76,0
2023-09-14 08:51:11|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681471000|71,0
2023-09-14 08:51:12|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681472000|61,0
2023-09-14 08:51:13|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681473000|64,0
2023-09-14 08:51:14|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681474000|64,0
2023-09-14 08:51:15|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681475000|76,0
2023-09-14 08:51:16|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681476000|79,0
2023-09-14 08:51:17|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681477000|66,0
2023-09-14 08:51:18|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681478000|80,0
2s023-09-14 08:51:19|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681479000|65,0
2023-09-14 08:51:20|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681480000|79,0
2023-09-14 08:51:21|1|com.alibabacloud.mse.demo.b.service.HelloServiceB:hello(java.lang.String),FlowException,default,dubbo-provider-A,855,1694681481000|75,0
...