RedisGrafana / grafana-redis-datasource

Redis Data Source for @Grafana allows connecting to any @Redis database On-Premises and in the Cloud.
https://redisgrafana.github.io
Apache License 2.0
150 stars 39 forks source link

Cannot get values with TS.RANGE, with and without streaming. #254

Open adrianrjh opened 2 years ago

adrianrjh commented 2 years ago

Describe the bug

I'm testing grafana to make a streaming graphs, but only can with TS.GET, but also this command get the last value. Works fine to monitoring industrial process, but the key with me, is make graph with an history, be able to review the values on the past dates. For that reason, I want use TS.RANGE to see the values. Or if not, with what function can I do it?

Version

Redis v6.0.9 Grafana v8.2.5 The module Redis Time Series is installed on the server. ts

Screenshots

So, If search by TS.GET this is the graph. uht_ph1

And, If search by TS.RANGE to see the history, this is the another graph. uht_ph2

Additional context

mikhail-vl commented 2 years ago

Hello @adrianfime27,

According to the documentation for TS.RANGE command (https://redisgrafana.github.io/redis-datasource/redis-timeseries/TS-RANGE/) Streaming should be supported. Have you tried to use TS.RANGE without Streaming?

For monitoring historical data I would advice to refresh dashboard instead of using Streaming, which is for real-time.

adrianrjh commented 2 years ago

Yes, also trying without streaming, as I mentioned in the title of the bug. For that reason, I think it can be done with or without streaming. The documentation say it.

mikhail-vl commented 2 years ago

@adrianfime27 I am sorry, I missed that. Do you see any data returned when running TS.RANGE using Redis-cli?

adrianrjh commented 2 years ago

Yes! With the redis-cli all works fine. But when try in grafana, what the picture shows happens. redis-cli

adrianrjh commented 2 years ago

@mikhailredis Hi?

mikhail-vl commented 2 years ago

Hello @adrianfime27, I am sorry for the delay.

Could you please try the latest version to see if it makes the difference: https://grafana.com/grafana/plugins/redis-datasource/. I tested the latest version with TS.RANGE and it's working as expected on my test dataset with similar versions.

If the latest version won't show anything, could you please run MONITOR and check the command from the Grafana, is it the same as you execute from redis-cli?

adrianrjh commented 2 years ago

Hello @mikhailredis, I'm sorry for the delay. But is with the last version of plugin or grafana?

mikhail-vl commented 2 years ago

@adrianfime27 The latest version of the plugin, which was recently updated in the Grafana Marketplace.

adrianrjh commented 2 years ago

Wait, wait, wait, I need this plugin https://grafana.com/grafana/plugins/redis-explorer-app/ too?

mikhail-vl commented 2 years ago

@adrianfime27 Redis Data Source is used to return Redis Data.

Redis Application and Redis Explorer application plugins add additional functionality for managing Data Sources.

adrianrjh commented 2 years ago

The problem continues, I have updated the Redis Data Source plugin, but it still does not work. git1 I'm running Grafana from a docker-compose, I'll also show you how I do it if you see something strange. dock

mikhail-vl commented 2 years ago

@adrianfime27 Everything looks correct.

Adding Redis team @K-Jo and @danni-m to assist further.

adrianrjh commented 2 years ago

Hi, Anybody here?

kramik1 commented 1 year ago

I have this same problem. I get the keys from doing a TS.mrange but no data. I am sad to see this is in production and promoted but this issue has been open for so long. I am using the latest grafana and data source plugin. The cli command does the same in the grafana tool but works on the cli itself. Is it having problems parsing the output? It appears to be related to timeseries module queries since the redis dashboard works itself. The grafana forum has no history of this issue. I gather redis timeseries isn't a popular data source yet.

slorello89 commented 1 year ago

Interesting - oddly if you have streaming enabled it seems to to continuously ask for the same time over and over again - and rather than appending the results from the timeseries onto the end of the data frame that it retrieved already, marks the whole thing as a new field - if you set the output to data frame it does display the graph as you'd expect - but that graph will be static as it's just getting the same data over and over again. Will dig into it.

slorello89 commented 1 year ago

Hi @adrianrjh - I've looked into this, and I've concluded that TS.RANGE/TS.MRANGE are not appropriate for a streaming use-case. A streaming use-case expects each update to bear a single discrete data point that will be updated added to the end of the timeseries tracked by grafana. Ranges, by definition pull back all the data points over the time range.

What you want to use here is an auto-refresh on the dashboard, that will update with a new range when the period elapses. see the upper right hand corner of your dashboard for the auto-refresh feature.

image

There are instances within Redis Timeseries where streaming is appropriate, e.g. TS.GET, and TS.MGET, in that case, you would simply need to provide a value label to the query:

image

hopefully this is helpful!