Thanks a lot, Christian. Will try them out and report back.
Also, according to you will the Step 3 add any significant overhead? I mean 
will it cause any kind of slowness?

On Sunday, March 15, 2020 at 5:26:47 PM UTC+5:30, Christian Hoffmann wrote:
>
> Hi, 
>
> On 3/15/20 10:07 AM, Yagyansh S. Kumar wrote: 
> > Thanks for the quick response. I appreciate your advice and I know that 
> > instance label shouldn't contain the port number and that should be the 
> > ideal way forward, but now my setup is huge. I'll have to change things 
> > over all my dashboards and I am monitoring close to 3000 servers. 
> > Eventually, I am going to change the instance label altogether but 
> > currently I need a short term solution to remove the port from alert 
> > annotations. Is it at all possible? 
>
> Some ideas come to mind. I would call them all workarounds, as they can 
> become rather ugly maintenance-wise. 
>
> 1) Have another meta metric which provides an instance="a:9100" to 
> "instance_ip" mapping. This could be generated via a recording rule in 
> combination with label_replace(), e.g.: 
>
> - record: instance_to_ip_mapping 
>   expr: count by(instance, instance_ip) (label_replace(up, 
> "instance_ip", "$1", "instance", "(.*):\d+")) 
>
>
> https://prometheus.io/docs/prometheus/latest/querying/functions/#label_replace
>  
>
> You could then mix in this metric into the relevant alerts. 
>
>
> 2) You could attach such an instance_ip label to some or all of your 
> metrics using relabeling. This will likely cause a larger overhead though. 
>
>
> https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
>  
>
>
> 3) You could run an additional query in your alerts, e.g. 
>
> dashboard: "DashbordLink?orgId=1&var-node={{ printf 
> "label_replace(up{instance='%s'}, 'instance_ip', '$1', 'instance', 
> '(.*):\d+'" .Labels.instance | query | first | label 'instance_ip' 
> }}&var-name={{ $labels.nodename }}&fullscreen&panelId=174" 
>
>
> 4) You could try to offload this mapping to Grafana, i.e. make your 
> dashboard work with just a name selected and let Grafana do the mapping. 
> Not sure, if/how this is possible, might also depend on your dashboard 
> and the variables. 
>
>
> All in all, I would still follow Brian's suggestion of getting the 
> instance= label right in the first place. It is possible -- we went 
> through the same process at some time. ;) 
>
> As always, all untested examples -- it's likely I've got some 
> syntax/quoting/escaping wrong there. If you end up using one of those 
> examples, please report back with the final solution, so that others can 
> also benefit from this. :) 
>
>
> Kind regards, 
> Christian 
>
>

-- 
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/5aa5eb4a-00c7-49e6-a094-eb639a581b18%40googlegroups.com.

Reply via email to