非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
目录
- Prometheus
- Grafana
- Grafana安装和启动
- nginx配置访问Grafana
环境:docker ubuntu, 似乎不能使用systemd
Prometheus
- 下载 Prometheus
版本3.4.0的下载链接(适用于 x86_64/amd64)
# 设置 Prometheus 版本(你可以根据需要修改为最新版本)
export PROM_VERSION="3.4.0"# 解压并进入目录
tar xvfz prometheus-${PROM_VERSION}.linux-amd64.tar.gz
mv prometheus-${PROM_VERSION}.linux-amd64 prometheus
- 确保你已有配置文件和数据目录:
$(pwd)/prometheus.yml
$(pwd)/prometheus-data/
prometheus.yml内容:
global:scrape_interval: 5sscrape_configs:- job_name: 'prod'metrics_path: '/prometheus'static_configs:- targets: [ '127.0.0.1:8083' ]
- 后台启动 Prometheus(并启用 Admin API):
cd prometheusnohup ./prometheus \--config.file=../prometheus.yml \--storage.tsdb.path=../prometheus-data \--storage.tsdb.retention.time=10y \--web.enable-admin-api > prometheus.log 2>&1 &
查看日志:
tail -f prometheus.log
Grafana
Grafana安装和启动
wget https://dl.grafana.com/oss/release/grafana-12.0.1.linux-amd64.tar.gz
tar -zxvf grafana-12.0.1.linux-amd64.tar.gzcd grafana-v12.0.1
#后台启动Grafana, 并记录日志:
nohup ./bin/grafana-server \--config ./conf/defaults.ini \>> grafana.log 2>&1 &
查看后台进程 :
ps aux | grep grafana
nginx配置访问Grafana
grafana conf/defaults.ini 的 [server]部分:
参数 | 原值 | 修改后值 | 说明 |
---|---|---|---|
domain | localhost | ||
root_url | %(protocol)s://%(domain)s:%(http_port)s/ | %(protocol)s://%(domain)s/grafana-proxy/ | 表示 Grafana 实际对外暴露的基础路径 |
serve_from_sub_path | false | false | 启用子路径支持,允许从 /grafana-proxy/… 访问 |
实际配置的值:
domain = 192.17.18.7:25088
root_url = %(protocol)s://%(domain)s/grafana-proxy/
serve_from_sub_path = false
nginx配置: 关键是最后的rewrite
location /grafana-proxy/ {proxy_pass http://127.0.0.1:3000/;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;client_max_body_size 50m;proxy_buffering off;rewrite ^/grafana-proxy/(.*) /$1 break;}
配置生效后,通过nginx代理地址访问Grafana: