Implantação de Microsserviços RuoYi com Rastreamento de Logs via SkyWalking

Este guia descreve o processo de implantação completa de um projeto baseado no framework RuoYi em uma arquitetura de microsserviços, incluindo a configuração de ratsreamento de logs com Apache SkyWalking.

Pré-requisitos e Ferramentas

Prepare os seguintes componentes em seu servidor:

  • Serviço de Configuração e Descoberta (Nacos): Para gerenciar configurações e registro de serviços.
  • Banco de Dados Elasticsearch (ES): Versão 7.x ou superior, para armazenamento de dados de rastreamento e logs.
  • Servidor de Monitoramento APM (SkyWalking): Coleta e visualização de métricas e rastreamento distribuído.
  • Servidor Web Nginx: Para servir o frnotend e atuar como proxy reverso.

1. Configuração do Nacos

Após baixar e extrair o pacote do Nacos, edite o arquivo application.properties localizado no diretório conf. Configure as propriedades de conexão com o banco de dados MySQL do projeto RuoYi (endereço, nome do banco, usuário e senha).

Inicie o Nacos em modo standalone:

./startup.sh -m standalone

O painel de administração ficará acessível em http://<IP_DO_SERVIDOR>:8848/nacos.

2. Instalação do Elasticsearch

Siga os procedimentos padrão para instalar o Elasticsearch 7.x no seu sistema Linux. Lembre-se de criar um usuário dedicado para executar o serviço, pois o usuário root não é permitido.

3. Configuração do Apache SkyWalking

Extraia o pacote do SkyWalking (apache-skywalking-apm-es7). Navegue até o diretório conf e modifique o arquivo application.yml. As alterações críticas incluem:

  • Configurar o armazenamento para usar o Elasticsearch.
  • Definir o nameSpace para corresponder exatamente ao valor de cluster.name configurado no seu Elasticsearch.
  • Inserir as credenciais de acesso ao Elasticsearch (nome de usuário e senha).

Ajuste a porta da interface web no arquivo webapp/webapp.yml se necessário (padrão 8080). Inicie o SkyWalking:

cd bin
./startup.sh

Acesse o painel do SkyWalking em http://<IP_DO_SERVIDOR>:<PORTA_SKYWALKING>.

4. Configuração do Nginx

Após instalar o Nginx, configure o bloco de servidor (server) para atender à aplicação frontend e redirecionar chamadas de API. Um exemplo de configuração:

server {
    listen 80;
    server_name seu.dominio.com;
    root /caminho/para/build/frontend;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /prod-api/ {
        proxy_pass http://127.0.0.1:7100/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

5. Empacotamento e Implantação da Aplicação

Backend (Java/Spring Boot)

Antes de empacotar, é recomendável ajustar os identificadores de artefato (artifactId) no pom.xml para facilitar a gestão de portas. Atualize os endereços do Nacos em todos os arquivos de configuração .yml para apontar para o IP do seu servidor. Execute o comando mvn package para gerar os JARs. Copie os artefatos resultantes para um diretório de implantação no servidor.

Frontend (Vue.js)

No projeto Vue, altere a URL do backend no arquivo vue.config.js para o seu domínio ou IP público. Em seguida, execute o comando de build:

npm run build

Deploye os arquivos estáticos resultantes (da pasta dist) para o diretório raiz configurado no Nginx.

6. Inicialização dos Microsserviços com Agente SkyWalking

Cada serviço Spring Boot deve ser iniciado com o Java Agent do SkyWalking para habilitar o rastreamento. O parâmetro -javaagent aponta para o JAR do agente. O nome do serviço no SkyWalking (agent.service_name) deve ser único para cada microsserviço.

Exemplo de comando parra iniciar um serviço genérico:

nohup java \
  -javaagent:/caminho/para/skywalking-agent/skywalking-agent.jar=agent.service_name=nome-do-servico \
  -XX:+UseG1GC -server \
  -jar nome-do-servico.jar \
  > nome-do-servico.log 2>&1 &

Repita este padrão para cada microsserviço da sua aplicação (gateway, autenticação, módulos de sistema, etc.), atribuindo um nome de serviço distinto e a porta correta a cada um. Após a inicialização, os dados de rastreamento começarão a aparecer na interface do SkyWalking.

Tags: microsservicos deploy ruoyi skywalking Nacos

Publicado em 7-7 18:10