Configuração Redis

Olá,

Recentemente instalei o agent para realizar alguns testes em conjunto com o redis, entretanto ele apresenta o seguinte erro:

Existe alguma maneira de editar as configurações “default” do redis dentro do agent?

Tentei alterar os endereços de configuração do redis em “/etc/redis/redis.conf” mas não surtiu nenhum efeito.

Desde já agradeço o suporte.

Olá, Jonas

Estamos avaliando o caso.

At.te
Bruno

1 Curtida

Olá Jonas,

Para realizar a integração com o Redis utilizamos o seguinte procedimento.

Observação: No meu cenário de testes estou utilizando uma estação de trabalho com Windows 10 Professional com Docker Desktop, mas o comportamento deverá ser o mesmo em qualquer outra distribuição Linux compatível com Docker.

Além disso, no cenário de teste foram inicializados dois contêineres, um com o Redis e outro com o WEGnology Edge Agent.

1) Inicializando o Redis:

docker pull redis:latest
docker run --name my-redis-container -d -p 6379:6379 -i -t redis:latest

Testando a conexão do Redis:

image

Para validar a leitura da chave, criei a seguinte estrutura no DB0:

image

Foi utilizado o “Redis Desktop Manager” como ferramenta de apoio.

Atenção: Repare que foi atribuído um nome específico para este container: my-redis-container

docker run --name my-redis-container -d -p 6379:6379 -i -t redis:latest

Este detalhe é importante, pois será utiliado para linkar os dois conteineres. Mais detalhes no link.

2) Agora vamos para a configuração do Edge Agent na plataforma WEGnology

Crie um device do tipo Edge Compute:

Crie uma chave de acesso (Access Key):

3) Agora vamos iniciar o container do Edge Agent

docker pull wnology/edge-agent:1.19.1
docker run -d --restart always --name wegnology-agent-v1 --link my-redis-container:redis -e 'DEVICE_ID={DEVICE_ID}' -e 'ACCESS_KEY={ACCESS_KEY}' -e 'ACCESS_SECRET={ACCESS_SECRET}' -v C:/Temp/data:/data -p 8080:8080 wnology/edge-agent:1.19.1

Atenção: Como estou no Windows, informei o deiretório “C:/Temp/data” para armazenamento dos logs e dados locais.

Dispositivo Conectado e pronto para receber o deploy do Workflow:

4) Publicando o Workflow:

image

Como boa prática, recomendamos sempre adicionar um nó de Workflow Error para que, como o Debug remoto, possa visualizar na plataforma todos os erros e infos:

image

Caso tenha utilizado o hostname como localhost
image

Deverá retornar a seguinte mensagem:

image

Para resolver estes problema, repare que o Debug retornou um elemento chamado “agentEnvironment”, nele você encontrará o endereço correto do Redis:

image

Altere o hostname e refaça o Deplou, agora o resultado deverá ser o valor da chave “teste”:

image

Com isso validamos a integração do Redis.

Porém, fica em aberto a questão do IP específico usado na configuração do Redis Trigger Node. Para este caso estarei conversando com a nossa equipe técnica para a definição de uma solução viável.

Ficamos no aguardo dos resultados de seus testes.

Qualquer outra necessidade, fique a vontade para questionar.

Abraços.

2 Curtidas

Olá, agradeço o suporte.

Aparentemente, descobri o que estava acontecendo:

Realmente tinha configurado o hostname com o endereço errado e isso acabou gerando o erro que mostrei mais cedo. Entretanto, após configurar com o ip certo e fazer o novo deploy, o mesmo não corrigia o erro, pois estava caindo em algum tipo de exception do redis antes do deploy fazer efeito e consequentemente, reiniciando o container com o agent.

Após varias tentativas (reinstalando o agent, tentando reconfigurar o redis, tentando fazer deploys, etc…) descobri que a única forma de fazer realmente voltar tudo do zero e conseguir realizar o deploy com as correções, foi apagando o diretório “/var/lib/wegnology-edge-agent/data/losant-edge-agent-store.db” da minha máquina, no qual continha as informações do deploy anterior salvas. Pelo visto, antes de realizar o novo deploy o agent carregava as informações antigas e caia no exception, não permitindo a atualização pois reiniciava antes.

Meu setup de testes foi:

Uma máquina rodando linux e consequentemente com o redis instalado nela + o docker com o container WEGnology Edge Agent.

Aparentemente tudo funcionando agora!

2 Curtidas