I am talking about grafana dashboard. I created a custom variable as
follows:
CPU:
All : <=100,
lt 10 && gt 0 : >0<=10,
lt 30 && gt 10 : >10<=30
So this CPU filter will be added at the top of grafana dashboard. Now If I
select ALL in CPU filter I am not able to find the unreachable servers list
in the grafana dashboard as those servers are not present in prometheus
Data Source(since these are in unreachable state).
My query:
((1 - avg(irate(node_cpu_seconds_total{mode="idle",instance=~"$ip"}[5m])) by
(instance)) * 100)
$CPU
Here we are comparing the value in $cpu
Is there any other way to compare the values that are not present in
prometheus data source so that when I click ALL option I can able to see
all servers data.
Thanks & regards,
Bharath Kumar.
On Wednesday, 20 July 2022 at 18:56:58 UTC+5:30 Brian Candler wrote:
> No idea. You haven't said what dashboard software you're using, nor what
> queries you're using to build that dashboard.
>
> > I want to add one filter so that I can be able to know which servers are
> least used or most used.
>
> Not sure what you mean by a "filter" in this context. A PromQL query
> using min() or max() will work over all the values which are present in the
> instant vector, which as I said before, is of variable size. It doesn't
> have to have a fixed number of inputs.
>
> e.g. given this data
>
> [
> node_blah{instance="foo"} 123
> node_blah{instance="bar"} 456
> node_blah{instance="baz"} 789
> ]
>
> then
>
> min(node_blah) => 123
>
> On Wednesday, 20 July 2022 at 10:28:58 UTC+1 [email protected] wrote:
>
>> 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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/prometheus-users/36a6d77e-352e-49c9-a178-20337a674ae6n%40googlegroups.com.