Thanks, Clark and Brian for your reply.

I am using two data sources in my case. i.e Prometheus and Postgres.

In my dashboard, there is a table that contains both Prometheus and 
Postgres data. In this table, there is a column name %cpu used which will 
be obtained from Prometheus.

As Brain said, if the server goes down, we will not get the node level 
metrics and for that particular server, we will have Postgres data but, not 
Prometheus as the server was down.

for example, my dashboard table is as follows:
 
IP            CPU       %cpu       memory       memory_used   column1    
column2    column3       
1.1.1.1     4              0.4%          40gb                 60%          
      a                 b                  c
1.1.1.2     8              10%            80gb                30%          
      d                 e                  f
1.1.1.3                                                                    
                     h                  i                   j


the third server goes down, so we are not able to see the CPU and memory 
values, my question was I want to add one filter so that I can be able to 
know which servers are least used or most used.

The CPU used for the third server will be no data as that server was down. 
can we do any comparison for these servers(servers who went down) so that I 
can filter these servers whose value will be null/no_data.

Thanks & regards,
Bharath Kumar.

On Wednesday, 20 July 2022 at 14:22:17 UTC+5:30 Brian Candler wrote:

> And just to clarify slightly, there aren't really "null values" in 
> prometheus. A query like "node_blah" returns a *vector* of results, that 
> is, a variable number of values. e.g.
>
> [
> node_blah{instance="foo"} 123
> node_blah{instance="bar"} 456
> node_blah{instance="baz"} 789
> ]
>
> If node "baz" goes down, then a query at a later point in time may return
>
> [
> node_blah{instance="foo"} 124
> node_blah{instance="bar"} 457
> ]
>
> If you want to test for this specific condition, i.e. there is no 
> "node_blah" metric present for a specific instance "baz", then you can form 
> a rather awkward join query using absent() in conjunction with the "up" 
> metric as Stuart described.
>
> But usually, you just want to query the "up" metric itself.
>
> On Wednesday, 20 July 2022 at 09:38:58 UTC+1 Stuart Clark wrote:
>
>> On 20/07/2022 08:49, BHARATH KUMAR wrote:
>>
>> Hello all, 
>>
>> I installed node exporters on many servers (around 300). Few of the 
>> servers are unreachable. So because of that, we are unable to get the CPU, 
>> and memory values of those servers.
>>
>> Now I want to add a filter in the Grafana dashboard to check the least 
>> CPU used, most CPU used servers. But due to unreachability, we are not 
>> getting values for a few servers.
>>
>> My question is 
>> "*how to compare the output of the Prometheus query is NULL"*
>>
>> Generally, I am comparing the output of the prom query like 
>> I) if the CPU usage is less than 10% then I am comparing like 
>> query >=0<=10%
>> ii) if the CPU usage is greater than 10% and less than 30% then I am 
>> comparing like
>> query >10<=30
>> *similarly how to check the null values using the Prometheus query.*
>>
>> For servers which can't be scraped there will be no metrics, so any 
>> queries won't have any data to query.
>>
>> However Prometheus itself creates certain metrics for all scrape targets, 
>> including one called "up" which is either 0 or 1 - where 0 means the scrape 
>> failed. You can therefore create dashboards and alerts that list the 
>> servers which aren't accessible (up == 0).
>>
>> -- 
>> Stuart Clark
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prometheus-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/acd5139b-258d-48ab-a767-990132c052e7n%40googlegroups.com.

Reply via email to