非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana

目录

环境:docker ubuntu, 似乎不能使用systemd

Prometheus

  1. 下载 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

  2. 确保你已有配置文件和数据目录:
    (pwd)/prometheus.yml (pwd)/prometheus-data/

prometheus.yml内容:

bash 复制代码
global:
  scrape_interval: 5s

scrape_configs:
  - job_name: 'prod'
    metrics_path: '/prometheus'
    static_configs:
      - targets: [ '127.0.0.1:8083' ]
  1. 后台启动 Prometheus(并启用 Admin API):
bash 复制代码
cd prometheus

nohup ./prometheus \
  --config.file=../prometheus.yml \
  --storage.tsdb.path=../prometheus-data \
  --storage.tsdb.retention.time=10y \
  --web.enable-admin-api > prometheus.log 2>&1 &

查看日志:

bash 复制代码
tail -f prometheus.log

Grafana

Grafana安装和启动

bash 复制代码
wget https://dl.grafana.com/oss/release/grafana-12.0.1.linux-amd64.tar.gz
tar -zxvf grafana-12.0.1.linux-amd64.tar.gz

cd 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

bash 复制代码
 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:

相关推荐
极客先躯15 小时前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
brave_zhao15 小时前
nginx的进程架构
java·学习·nginx
time展天118 小时前
abbix、Prometheus、Grafana、Nightingale,四个监控如何选型?
grafana·prometheus
zhz52141 天前
Nginx + OpenSSL 自签名证书配置:优劣总结
运维·nginx
EnCi Zheng1 天前
N3A-一个端口只能给一个程序使用吗?[特殊字符]
网络·nginx·docker
weixin_545019321 天前
Nginx 配置SSL实现HTTPS访问
nginx·https·ssl
EterNity_TiMe_3 天前
别让告警变成噪音:用Prometheus和Alertmanager搭一套可远程查看的监控系统
数据库·人工智能·ai·postgresql·prometheus·cpolar
Elastic 中国社区官方博客3 天前
使用 Elasticsearch 作为 Grafana 的直接替代 Prometheus 后端
大数据·数据库·sql·elasticsearch·搜索引擎·grafana·prometheus
章老师说3 天前
NGINX官方谈Lua风险:这其实是两条网关技术路线之争
运维·nginx·负载均衡·lua·openresty
xixingzhe23 天前
SpringBoot + Nginx 免鉴权接口安全防护方案
运维·nginx·安全