Hello all
I am working on building a status dashboard for my network devices. I’m using Prometheus and blackbox_exporter as my db; that seems to be working OK. I have a variable set up (Instance) to pull out the IP addresses; that seems to be working too as I can see the addresses listed under ‘Preview of values’ in the variable edit screen. I also get a dropdown list of all my addresses in the main screen of my dashboard.
I have a singlestat panel configured that correctly displays the status of whichever address I pick from the dropdown. That works fine. The panel itself is configured to repeat (Repear: Instance Direction: Horizontal Max per Row: 4) but it is not repeating. All I get is a single panel that switches between addresses via the dropdown.
variable: Instance
query: query_result(sum by (instance)(probe_success{job=“blackbox_icmp”}))
regex: .instance="(.?)".*
panel config:
query: probe_success{group=“firewalls”,instance=’$Instance’,job=“blackbox_icmp”}
title: $Instance
Repeat: Instance (selected from dropdown)
Direction: Horizontal
Max per row: 4
Grafana v6.2.1 (9e40b07)
Any ideas?
thx
Try to enable Include All option
for the variable and select All
value in the variable select box - not just single value.
That cured the non-repeating problem but now my panels say “no value”. When I look at the panel’s query inspector, the last entry says “result:Array[0]”.
Edit:
I’ve looked at this more closely. The problem seems to lie in how the $Instance variable is being handled. If I hard-code the ip address into the query, it works:
query:
probe_success{group="firewalls",instance="172.217.164.196",job="blackbox_icmp"}
result:
{
"xhrStatus": "complete",
"request": {
"method": "GET",
"url": "api/datasources/proxy/1/api/v1/query?query=probe_success%7Bgroup%3D%22firewalls%22%2Cinstance%3D%22172.217.164.196%22%2Cjob%3D%22blackbox_icmp%22%7D&time=1559227010"
},
"response": {
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"group": "firewalls",
"instance": "172.217.164.196",
"job": "blackbox_icmp"
},
"value": [
1559227010,
"1"
]
}
]
}
}
}
It chokes when I put in the $Instance variable:
query:
probe_success{group=“firewalls”,instance=“$Instance”,job=“blackbox_icmp”}
result:
{
“xhrStatus”: “complete”,
“request”: {
“method”: “GET”,
“url”: “api/datasources/proxy/1/api/v1/query?query=probe_success%7Bgroup%3D%22firewalls%22%2Cinstance%3D%22172%5C%5C.217%5C%5C.164%5C%5C.196%22%2Cjob%3D%22blackbox_icmp%22%7D&time=1559227043”
},
“response”: {
“status”: “success”,
“data”: {
“resultType”: “vector”,
“result”:
}
}
}
OK, I have narrowed the issue down to a replicatable set of steps. I think this may be a UI issue.
-
- In the dashboard settings (cog menu), in the variable settings, I turn on 'Include all option" for the $Instance variable
- Update variable, save the dashboard
- In my dashboard I have a dropdown box with an option for ‘all’. I select it and my panel repeats but they all display “no value”
- Back to the cog menu, turn off “include all option” for my $Instance variable
- Update & save
- This is the weird part - when I go back to my dashboard, the panel repeats and displays info correctly. My dropdown box displays ‘all’ but it does not list ‘all’ in the available options when I click on it. If I pick an option, I get a single panel but I cannot go back to ‘all’ because it does not show in the dropdown list.
- I can get the panels to repeat & work again by following the above steps - turn on Include All, pick all from the dropdown, then turn off Include all.
A bug perhaps?
Edit - I just discovered I can get all working panels back by typing in ‘All’ into the dropdown