{{/* vim: set ft=html: */}} {{/* Navbar, should be passed . */}} {{ define "navbar" }} <nav class="navbar navbar-inverse navbar-static-top"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="{{ pathPrefix }}/">Prometheus</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="{{ pathPrefix }}/alerts">Alerts</a></li> <li><a href="https://www.pagerduty.com/">PagerDuty</a></li> </div> </ul> </div> </nav> {{ end }} {{/* LHS menu, should be passed . */}} {{ define "menu" }} <div class="prom_lhs_menu"> <ul> {{ template "_menuItem" (args . "index.html.example" "Overview") }} {{ if query "up{job='haproxy'}" }} {{ template "_menuItem" (args . "haproxy.html" "HAProxy") }} {{ if match "^haproxy" .Path }} <ul> {{ template "_menuItem" (args . "haproxy-frontends.html" "Frontends") }} {{ if .Params.frontend }} <li> <ul> <li> <a href="haproxy-frontend.html?frontend={{ .Params.frontend }}">{{ .Params.frontend }}</a></li> </ul> </li> {{ end }} {{ template "_menuItem" (args . "haproxy-backends.html" "Backends") }} {{ if .Params.backend }} <li> <ul> <li> <a href="haproxy-backend.html?backend={{ .Params.backend }}">{{ .Params.backend }}</a></li> </ul> </li> {{ end }} </ul> {{ end }} {{ end }} {{ if query "up{job='cassandra'}" }} {{ template "_menuItem" (args . "cassandra.html" "Cassandra") }} {{ end }} {{ if query "up{job='blackbox'}" }} {{ template "_menuItem" (args . "blackbox.html" "Blackbox") }} {{ end }} {{ if query "up{job='node'}" }} {{ template "_menuItem" (args . "node.html" "Node") }} {{ if match "^node" .Path }} {{ if .Params.instance }} <ul> <li {{ if eq .Path "node-overview.html" }}class="prom_lhs_menu_selected"{{ end }}> <a href="node-overview.html?instance={{ .Params.instance }}">{{ reReplaceAll "(.*?://)([^:/]+?)(:\\d+)?/.*" "$2" .Params.instance }}</a> </li> <ul> <li {{ if eq .Path "node-cpu.html" }}class="prom_lhs_menu_selected"{{ end }}> <a href="node-cpu.html?instance={{ .Params.instance }}">CPU</a> </li> <li {{ if eq .Path "node-disk.html" }}class="prom_lhs_menu_selected"{{ end }}> <a href="node-disk.html?instance={{ .Params.instance }}">Disk</a> </li> </ul> </ul> {{ end }} {{ end }} {{ end }} {{ if query "up{job='prometheus'}" }} {{ template "_menuItem" (args . "prometheus.html" "Prometheus") }} {{ if match "^prometheus" .Path }} {{ if .Params.instance }} <ul> <li {{ if eq .Path "prometheus-overview.html" }}class="prom_lhs_menu_selected"{{ end }}> <a href="prometheus-overview.html?instance={{ .Params.instance }}">{{.Params.instance }}</a> </li> </ul> {{ end }} {{ end }} {{ end }} {{ if query "up{job='snmp'}" }} {{ template "_menuItem" (args . "snmp.html" "SNMP") }} {{ if match "^snmp" .Path }} {{ if .Params.instance }} <ul> <li {{ if eq .Path "snmp-overview.html" }}class="prom_lhs_menu_selected"{{ end }}> <a href="snmp-overview.html?instance={{ .Params.instance }}">{{.Params.instance }}</a> </li> </ul> {{ end }} {{ end }} {{ end }} {{ if query "up{job='cloudwatch'}" }} {{ template "_menuItem" (args . "cloudwatch.html" "CloudWatch") }} {{ end }} {{ if query "aws_elasticache_cpuutilization_average{job='aws_elasticache'}" }} {{ template "_menuItem" (args . "aws_elasticache.html" "ElastiCache") }} {{ end }} {{ if query "aws_elb_healthy_host_count_average{job='aws_elb'}" }} {{ template "_menuItem" (args . "aws_elb.html" "ELB") }} {{ end }} {{ if query "aws_redshift_health_status_average{job='aws_redshift'}" }} {{ template "_menuItem" (args . "aws_redshift.html" "Redshift") }} {{ if and (eq "aws_redshift-cluster.html" .Path) .Params.cluster_identifier }} <ul> <li class="prom_lhs_menu_selected"> {{ reReplaceAll "^(.{8}).{8,}(.{8})$" "$1...$2" .Params.cluster_identifier }} </li> </ul> {{ end }} {{ end }} </ul> </div> {{ end }} {{/* Helper, pass (args . path name) */}} {{ define "_menuItem" }} <li {{ if eq .arg0.Path .arg1 }} class="prom_lhs_menu_selected" {{ end }}><a href="{{ .arg1 }}">{{ .arg2 }}</a></li> {{ end }}