Grafana 是一个开源数据可视化和监控套件。
它提供对 Graphite 、 Elasticsearch 、 Prometheus 、 Zabbix 和更多数据库的支持。
Grafana 允许我们查询、可视化、警报和了解指标,并能够为应用程序或者基础设施性能监控管理和创建我们自己的仪表板。
在本教程中,我们将解释如何将 Nginx 配置为 Grafana Server 的反向代理。
出于本教程的目的,我们将在安装 Grafana 服务器的同一台服务器上安装 Nginx,Grafana 将作为反向代理在 Nginx 后面运行,它将侦听端口 80,并将所有请求重定向到 Grafana端口 3000 。
方案1 在反向代理后面以子路径运行Grafana
第1步 Grafana 配置
在 grafana.ini 文件中添加以下行
[jack@onitroad ~]# vi /etc/grafana/grafana.ini [...] # The full public facing url you use in browser, used for redirects and emails # If you use reverse proxy and sub path specify full url (with sub path) root_url = http://localhost:3000/grafana/ [...]
对文件 grafana.ini 进行任何修改后,我们应该重新启动 Grafana Server
[jack@onitroad ~]# systemctl restart grafana-server
第2步 nginx配置
创建一个新目录,我们将其中创建 nginx 块文件:
[jack@onitroad ~]# mkdir /etc/nginx/sites-available//etc/nginx/sites-enabled
现在打开 nginx.conf 文件并将以下行添加到 http {} 块的末尾:
[jack@onitroad ~]# /etc/nginx/nginx.conf [...] include /etc/nginx/sites-enabled/*.conf;
让我们创建一个名为 onitroad.local.conf 的新 nginx 块:
[jack@onitroad ~]# vi /etc/nginx/sites-available/onitroad.local.conf server { listen 80; listen [::]:80 ipv6only=on; server_name onitroad.local www.onitroad.local; root /usr/share/nginx/www; index index.html index.htm; location /grafana/{ proxy_pass http://localhost:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
现在我们已经创建了我们的服务器块文件,我们需要启用它。
为此,我们必须在启用站点的目录中为服务器块创建一个符号链接。
[jack@onitroad ~]# ln -s /etc/nginx/sites-available/onitroad.local.conf /etc/nginx/sites-enabled/onitroad.local.conf
要检查使用 bolow 命令:
[jack@onitroad ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
确保使用以下命令重新加载 Nginx:
[jack@onitroad ~]# systemctl reload nginx
方案2 – 在反向代理后面以子域运行 Grafana
第1步 Grafana 配置
在 grafana.ini 文件中添加以下行
[jack@onitroad ~]# vi /etc/grafana/grafana.ini [...] # The full public facing url you use in browser, used for redirects and emails # If you use reverse proxy and sub path specify full url (with sub path) root_url = http://localhost:3000 [...]
对文件 grafana.ini 进行任何修改后,我们应该重新启动 Grafana Server
[jack@onitroad ~]# systemctl restart grafana-server
第2步 nginx配置
让我们创建一个新的 nginx 块文件,如下所示:
[jack@onitroad ~]# vi /etc/nginx/sites-available/grafana.onitroad.local.conf server { listen 80; listen [::]:80 ipv6only=on; server_name grafana.onitroad.local www.grafana.onitroad.local; location/{ proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
现在我们已经创建了我们的服务器块文件,我们需要启用它。
[jack@onitroad ~]# ln -s /etc/nginx/sites-available/grafana.onitroad.local.conf /etc/nginx/sites-enabled/grafana.onitroad.local.conf
确保使用以下命令重新加载 Nginx:
[jack@onitroad ~]# systemctl reload nginx
如果你在 CentOS 7 或者 RHEL 7 上安装了 Grafana 和 Nginx 并且启用了 Selinux,则需要执行以下命令:
[jack@onitroad ~]# setsebool -P httpd_can_network_connect=1