ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何部署Prometheus + Grafana

如何部署Prometheus + Grafana 部署 Prometheus 和 Grafana 最推荐的方式是使用Docker Compose它能帮你快速搭建一套完整的监控系统。下面是以这种方式部署的完整流程。 第一步环境准备确保你的机器已安装Docker和Docker Compose。如果还没装可以按以下步骤快速完成bash# 1. 安装 Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable --now docker # 2. 将当前用户加入 docker 组避免每次使用都需要 sudo sudo usermod -aG docker $USER # 3. 安装 Docker Compose sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod x /usr/local/bin/docker-compose安装后建议重新登录或重启终端使组权限生效。️ 第二步编写部署文件在一个新目录如monitoring中创建一个docker-compose.yml文件。yamlversion: 3.8 networks: monitoring: driver: bridge services: # 1. Prometheus 服务 prometheus: image: prom/prometheus:latest container_name: prometheus restart: unless-stopped ports: - 9090:9090 # Prometheus Web UI 端口 volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro # 挂载配置文件 - prometheus_data:/prometheus # 持久化存储数据 command: - --config.file/etc/prometheus/prometheus.yml - --storage.tsdb.path/prometheus - --storage.tsdb.retention.time30d # 数据保留30天 networks: - monitoring # 2. Grafana 服务 grafana: image: grafana/grafana:latest container_name: grafana restart: unless-stopped ports: - 3000:3000 # Grafana Web UI 端口 environment: - GF_SECURITY_ADMIN_USERadmin # 设置 admin 用户名 - GF_SECURITY_ADMIN_PASSWORDadmin # 设置 admin 密码第一次登录后可修改 - GF_USERS_ALLOW_SIGN_UPfalse volumes: - grafana_data:/var/lib/grafana # 持久化存储Grafana数据 networks: - monitoring # 3. (可选) Node Exporter用来收集宿主机的基础指标 node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: unless-stopped ports: - 9100:9100 # Node Exporter 默认端口 volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - --path.procfs/host/proc - --path.sysfs/host/sys - --path.rootfs/rootfs - --collector.filesystem.mount-points-exclude^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/) networks: - monitoring volumes: prometheus_data: grafana_data: 第三步配置 Prometheus在docker-compose.yml同级目录下创建prometheus.yml文件告诉 Prometheus 要监控哪些目标。yamlglobal: scrape_interval: 15s # 每15秒采集一次数据 evaluation_interval: 15s # 每15秒评估一次告警规则 scrape_configs: # 监控 Prometheus 自身 - job_name: prometheus static_configs: - targets: [prometheus:9090] # 因为容器在同一网络用容器名访问 # 监控 Node Exporter (如果部署了) - job_name: node-exporter static_configs: - targets: [node-exporter:9100] 第四步启动并验证启动所有服务在docker-compose.yml所在目录运行docker-compose up -d。验证状态运行docker-compose ps查看容器状态是否都是Up。检查 Prometheus Targets访问http://你的IP:9090/targets确保所有目标的State都为UP。 第五步配置 Grafana 展示数据登录 Grafana在浏览器访问http://你的IP:3000用admin/admin登录第一次登录会提示修改密码。添加 Prometheus 数据源点击左侧菜单的齿轮图标 ⚙️选择Data SourcesAdd data source。选择Prometheus。在URL字段填入http://prometheus:9090因为容器在同一网络使用服务名作为主机名。点击Save test。看到绿色提示表示连接成功。导入仪表盘点击左侧菜单的号选择Import。在Import via grafana.com输入框填入8919这是一个常用的主机监控模板ID然后点击Load。选择刚创建的 Prometheus 数据源点击Import。稍等片刻你就能在 Grafana 上看到 Node Exporter 采集到的系统指标仪表盘了。通过这种方式你可以将之前 Go 应用暴露的/metrics接口地址作为新的job添加到prometheus.yml中重启后即可纳入监控。
返回列表