I have installed Grafana in my AKS cluster and now I want to create a Dashboard which shows the Geo location of the users connecting. So I found the below dashboard in Grafana website.
https://grafana.com/grafana/dashboards/12559
But some of the panels shows "No Data" in this dashboard. For instance, Requests per Country doesn't show any data. The query used by this panel is
sum by (geoip_country_code) (count_over_time({$label_name=~"$label_value", job=~"$job", instance=~"$instance"} | json | geoip_country_code != "" | __error__="" [$__interval]))
I searched regarding this, and as far as I know, we need "Geo Map" plugin installed in our Grafana Dashboard. But I see the plugin installed in Grafana.
So in this case, do I need to install any kind of agent or something to gather metrics regarding location? I also see in the grafana dashboard saying below.
I can't understand where I should put this configuration. Is these parameters should be placed in the Config Map or else the NGINX Ingress Controller Annotation section?
Related
Created ECS cluster let's call it tools.
tools cluster have 2 services:
sso-proxy
grafana - opensource
Going through sso-proxy to get grafana.
when trying to enter credentials to grafana i got the following error:
When incognito mode the login working for the first time.
This is the ECS logs:
Please someone can help.
Grafana must receive proper Host header in the request header. I guess your "sso-proxy" doesn't do that. You didn't provide reproducible example (why not, when you want to help), so it is only a guess.
Lazy and insecure workaround will be Grafana downgrade to version 8.3.4-, where CSRF fix for CVE-2022-21703 is not included.
I would like to configure Jaeger data source in Grafana. I have Loki, Jaeger, Grafana installed in Kubernetes cluster. All services are up and running. Then, I navigate to Grafana to set up a new data source for Jaeger. Specify Jaeger url (http://jaeger-tracing-query.monitoring.svc.cluster.local:16687), click on [Save & test] button and the 'Data source connected, but no services received. Verify that Jaeger is configured properly.' error message is shown. If I navigate to Jaeger UI, I can clearly see 2 services.
Could you please guide me on what is probably missing in the configuration?
16687 is admin port. Use port 80 to configure the data source in grafana.
it should be like jaeger-tracing-query.monitoring.svc.cluster.local:80
I was scratching my head over this issue.
All the documents say you need to connet to {pod}.{namespace}:{port}
I noticed if you go to the Jaeger UI it's querying for the services on this endpoint
http://localhost:16686/jaeger/api/services
So I went back to Grafana and set the URL to http://jaeger-query:16686/jaeger
I can’t get data from the clickhouse database to Grafana. I have tried various settings of the data source: various access options, various authorization options. And, did not get any results.
I have made the settings in the Grafana like this:
This is my request. If I copy it and execute it on the clickhouse console, then I get the data. That is, the request is formed rules.
ClickHouse database is on localhost:8123 (in console: curl 'http://localhost:8123/' Ok.)
Grafana is on localhost:3000.
All services are on the same machine.
I am using clickhouse server version 20.1.4 revision 54431 and grafana 6.6.2.
This is a release bug.
it works correctly with Grafana 6 before the latest update from GrafanaLabs that seem to break the compatibility.
see: https://github.com/Vertamedia/clickhouse-grafana/issues/171
I just completely setup prometheus and grafana dashboard using this tutorial https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/.
I try to query something in prometheus and it was successfully plotting the graph. But when I access my Grafana dashboard with connecting to prometheus data, it returns empty charts like the below pic.
Do I miss something in the step?
Probably, you didn't create datasource in Grafana before the dashboard import. It is not specified in the manual, but dashboard will not work correctly without it.
How to create Data Source in Grafana:
Open Configuration(gear) -> Data Sources
Press "Add data source"
Select Prometheus
Specify Prometheus server URL: (e.g: http://10.22.0.3:32150/)
Press "Save & Test"
See the confirmation about passed test.
Now, select existing Data Source from the drop-down list during the import of the Nginx Ingress Dashboard from JSON. URL to the dashboard didn't work for me, so I've just copypasted the whole JSON content except two first lines with comments.
For existing dashboard you can change the data source:
Open Dashboards -> Manage
Click on "Nginx Ingress Controller"
Open its settings (gear picture on the top)
Select "JSON Model"
Update all lines with "datasource": "old_data_source_name", to the desired name
Press "Save changes"
Press green "Save" button on the left, under "Settings"
Alternatively, you can edit every element on the dashboard and select the desired data source from the drop-down list. Not very convenient way, so I'd prefer to import dashboard again.
Check that the annotation is applied to the metrics service object: prometheus.io/scrape: "true".
I was having the same problem as you and this solved it for me. I am using helm to deploy my nginx-ingress. I have the following settings that made this work:
.controller.metrics.enabled: true
.controller.metrics.serviceMonitor.enabled: true
.controller.metrics.service.annotations.prometheus.io/scrape: true
help me with this fairly new to Grafana
Things accomplished so far:
1. Managed to get a JSON output from CSV (basically looking to plot transaction availability based on success/ fail criteria)
2. Wanted a Prometheus source imported
Can you help me how I proceed in either building a Graphite dashboard (or) Prometheus? Much appreciated. thanks
In order to use Prometheus datasource, you need to follow below steps
Start Prometheus server. By default, it listens at 9090 port.
login to Grafana console, go to option - Add datasource
select Prometheus as type of datasource from the drop down.
Insert the Prometheus URL (You got this in step 1)
Access should be "direct" if you aren't using any proxy to establish connection.
Hit save & test.