The most common problems are related to the query and response from you data source. Even if it looks
The most common problems are related to the query and response from your data source. Even if it looks
like a bug or visualization issue in Grafana it is 99% of time a problem with the data source query or
like a bug or visualization issue in Grafana, it is almost always a problem with the data source query or
the data source response.
the data source response.
To check this you should use Query Inspector (new in Grafana v4.5). The query Inspector shows query requests and responses.
To check this you should use query inspector, which was added in Grafana 4.5. The query inspector shows query requests and responses. Refer to the data source page for more information.
For more on the query inspector read [this guide here](https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630). For
For more on the query inspector read the Grafana Community article [Using Grafana’s Query Inspector to troubleshoot issues](https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630). For older versions of Grafana, refer to the [How troubleshoot metric query issue](https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50/2) article.
older versions of Grafana read the [how troubleshoot metric query issue](https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50/2) article.
## Logging
## Logging
If you encounter an error or problem it is a good idea to check the grafana server log. Usually
If you encounter an error or problem, then you can check the Grafana server log. Usually located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on other platforms and manual installs.
located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on
other platforms and manual installs.
You can enable more logging by changing log level in your grafana configuration file.
You can enable more logging by changing log level in the Grafana configuration file.
## Diagnostics
## Diagnostics
The `grafana-server` process can be instructued to enable certain diagnostics when it starts. This can be helpful
The `grafana-server` process can be instructed to enable certain diagnostics when it starts. This can be helpful
when experiencing/investigating certain performance problems. It's `not` recommended to have these enabled per default.
when investigating certain performance problems. It's *not* recommended to have these enabled per default.
### Profiling
### Profiling
...
@@ -46,27 +45,26 @@ the default HTTP port (`6060`) where the pprof debugging endpoints will be avail
...
@@ -46,27 +45,26 @@ the default HTTP port (`6060`) where the pprof debugging endpoints will be avail
./grafana-server -profile-profile-port=8080
./grafana-server -profile-profile-port=8080
```
```
Note that pprof debugging endpoints are served on a different port than the Grafana HTTP server.
Note that `pprof` debugging endpoints are served on a different port than the Grafana HTTP server.
You can configure/override profiling settings using environment variables:
You can configure or override profiling settings using environment variables:
```bash
```bash
export GF_DIAGNOSTICS_PROFILING_ENABLED=true
export GF_DIAGNOSTICS_PROFILING_ENABLED=true
export GF_DIAGNOSTICS_PROFILING_PORT=8080
export GF_DIAGNOSTICS_PROFILING_PORT=8080
```
```
See[Go command pprof](https://golang.org/cmd/pprof/) for more information about how to collect and analyze profiling data.
Refer to[Go command pprof](https://golang.org/cmd/pprof/) for more information about how to collect and analyze profiling data.
### Tracing
### Tracing
The `grafana-server` can be started with the arguments `-tracing` to enable tracing and `-tracing-file` to
The `grafana-server` can be started with the arguments `-tracing` to enable tracing and `-tracing-file` to override the default trace file (`trace.out`) where trace result is written to. For example:
override the default trace file (`trace.out`) where trace result will be written to, e.g.