oliver006 / redis_exporter

Prometheus Exporter for ValKey & Redis Metrics. Supports ValKey and Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x
https://github.com/oliver006/redis_exporter
MIT License
3.12k stars 876 forks source link

Unable to connect redis cluster with Encryption at rest enabled #791

Closed manoranm19 closed 1 year ago

manoranm19 commented 1 year ago

Describe the problem We have 2 redis cluster in AWS for one we have Encryption at rest and for the other its disabled. I have redis_exporter running in a ec2 instance and prometheus in EKS. For the redis cluster where encryption at rest is disable i am able to connect via redis_exporter and scrape metrics but not working for the other cluster where encryption an rest is enabled.

Please suggest how to add both redis addr in redis_exporter

What version of redis_exporter are you running? 1.46

Running the exporter redis_exporter.service content: [Unit] Description=Redis Exporter Wants=network-online.target After=network-online.target

[Service] User=root Group=root Type=simple ExecStart=/usr/bin/redis_exporter \ -web.listen-address ":9121" \ -redis.addr "redis://XXXX:6379"

[Install] WantedBy=multi-user.target

Screenshots If applicable, add screenshots to help explain your question.

Additional context Add any other context about the question here.

oliver006 commented 1 year ago

Please suggest how to add both redis addr in redis_exporter - not sure what you mean by that. And what error do you see when you try to scrape the Redis instance with encryption enabled?

manoranm19 commented 1 year ago

redis_exporter.service content: [Unit] Description=Redis Exporter Wants=network-online.target After=network-online.target

[Service] User=root Group=root Type=simple ExecStart=/usr/bin/redis_exporter -web.listen-address ":9121" -redis.addr "redis://XXXX:6379" ---- with encryption enabled -redis.addr "redis://ABC:6379" --- without encryption (working)

want to add both redis instances to be added in redis exporter.

I am getting below error while trying to scrape the redis instance with encryption.

Apr 25 04:10:22 tmus-prod-tools-101-lnx redis_exporter: time="2023-04-25T04:10:22Z" level=error msg="Couldn't set client name, err: read tcp 172.18.133.77:38570->172.18.134.33:6379: i/o timeout" Apr 25 04:10:22 tmus-prod-tools-101-lnx redis_exporter: time="2023-04-25T04:10:22Z" level=error msg="Redis INFO err: set tcp 172.18.133. 77:38570: use of closed network connection" Apr 25 04:10:52 tmus-prod-tools-101-lnx redis_exporter: time="2023-04-25T04:10:52Z" level=error msg="Couldn't set client name, err: read tcp 172.18.133.77:39966->172.18.134.117:6379: i/o timeout" Apr 25 04:10:52 tmus-prod-tools-101-lnx redis_exporter: time="2023-04-25T04:10:52Z" level=error msg="Redis INFO err: set tcp 172.18.133. 77:39966: use of closed network connection"

oliver006 commented 1 year ago

Try using rediss:// for the encryption-enabled instance?