1.环境准备

拉取Prometheus镜像

docker pull prom/prometheus

拉取Grafana镜像

docker pull grafana/grafana

拉取Node_exporter镜像

docker pull prom/node-exporter
2.启动prometheus

新建文件夹

mkdir /root/docker_date/prometheus

授权

chmod -R 777 /root/docker_date/prometheus

docker run -itd --name=prometheus --restart=always -p 9090:9090 prom/prometheus

配置防火墙策略

#开放端口策略
firewall-cmd --zone=public --add-port=9090/tcp --permanent
#刷新防火墙配置
firewall-cmd --reload
#查看已开放端口
firewall-cmd --list-ports

通过浏览器访问http://ip地址:9090

3.启动grafana

创建挂载目录

mkdir /root/docker_date/grafana

授权

chmod -R 777 /root/docker_date/grafana

启动容器

docker run -itd --name=grafana \
--restart=always \
-p 3000:3000 \
-v /root/docker_date/grafana:/var/lib/grafana \
grafana/grafana

防火墙开放端口

#开放端口策略
firewall-cmd --zone=public --add-port=3000/tcp --permanent
#刷新防火墙配置
firewall-cmd --reload
#查看已开放端口
firewall-cmd --list-ports

通过浏览器访问http://ip地址:3000

自定义账号/密码:admin/admin

4.从节点部署Node_exporter

创建挂在目录

mkdir /root/docker_date/node_exporter
mkdir /root/docker_date/node_exporter/node_proc
mkdir /root/docker_date/node_exporter/node_sys

授权

chmod -R 777 /root/docker_date/node_exporter/node_proc
chmod -R 777 /root/docker_date/node_exporter/node_sys

启动容器

docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v /root/docker_date/node_exporter/node_proc:/host/proc:ro \
-v /root/docker_date/node_exporter/node_sys:/host/sys:ro \
-v "/:/rootfs:ro" \
prom/node-exporter

防火墙开放端口

#开放端口策略
firewall-cmd --zone=public --add-port=9100/tcp --permanent
#刷新防火墙配置
firewall-cmd --reload
#查看已开放端口
firewall-cmd --list-ports
5.主节点配置Prometheus

在主节点上修改Prometheus主配置文件

复制文件

docker cp prometheus:/etc/prometheus/prometheus.yml /root/docker_date/prometheus/

修改prometheus.yml文件

vim /root/docker_date/prometheus/prometheus.yml

在Prometheus配置文件按以下内容修改

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']
      labels:
        instance: prometheus

  - job_name: linux
    static_configs:
    - targets: ['ip地址:9100']					#被监控端的IP地址和端口号(有多个被监控端可用 逗号 隔开)
      labels:
        instance: localhost

复制文件

docker cp /root/docker_date/prometheus/prometheus.yml prometheus:/etc/prometheus/prometheus.yml

#重启容器服务

docker restart prometheus

也可以直接挂载

删除容器

docker rm -f prometheus

启动

docker run -itd --name=prometheus --restart=always -p 9090:9090 -v /root/docker_date/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
6.配置Grafana监控界面

使用浏览器访问ip:3000监控平台,添加Prometheus数据源

配置Prometheus数据源http://172.25.25.37:9090

导入仪表盘测试

填写模板id 更多grafana模板: Grafana dashboards | Grafana Labs 搜索 相应 dashboards的id如8919,12227

选择数据源

更多常用仪表盘

  1. Node Exporter 服务器监控(最常用) Dashboard ID:1860 名称:Node Exporter Full 适用场景:监控 Linux 服务器的核心资源(CPU、内存、磁盘、网络、IO、负载等),支持多节点聚合展示。 特点: 覆盖服务器全维度指标,包含趋势图、仪表盘、阈值告警标识(如 CPU 使用率超过 80% 标红); 支持按节点、CPU 核心、磁盘分区等维度筛选; 适配 Node Exporter 1.x 版本,兼容性强。 依赖:需部署 Node Exporter(采集服务器指标),Prometheus 配置 Node Exporter 数据源。
  2. 服务器硬件监控(含温度 / 风扇) Dashboard ID:12835 名称:Node Exporter Hardware (Temperature, Fans, etc.) 适用场景:除基础资源外,额外监控服务器硬件状态(如 CPU 温度、风扇转速、主板电压等)。 特点:需 Node Exporter 启用硬件监控模块(部分服务器需依赖 lm-sensors 工具)。 二、容器 / K8s 监控
  3. Kubernetes 集群全维度监控 Dashboard ID:7249 名称:Kubernetes Cluster (Prometheus) 适用场景:监控 K8s 集群整体状态(Node 节点、Pod、Deployment、Service、Namespace、资源使用率等)。 特点: 展示集群节点健康状态、Pod 运行状态、资源请求 / 限制使用率; 支持按 Namespace 筛选,方便隔离生产 / 测试环境; 依赖 kube-state-metrics(采集 K8s 资源状态)和 cAdvisor(采集容器指标)。
  4. Docker 容器监控(非 K8s 环境) Dashboard ID:893 名称:Docker and system monitoring 适用场景:监控单机 Docker 容器(容器 CPU / 内存 / 网络 / 磁盘使用、容器启停状态)及宿主机资源。 依赖:需部署 cadvisor(采集容器指标,通常与 Docker 同机运行)。 三、中间件监控
  5. MySQL 数据库监控 Dashboard ID:7362 名称:MySQL Overview 适用场景:监控 MySQL 服务状态(连接数、QPS、慢查询、缓存命中率、表空间、InnoDB 状态等)。 特点: 包含关键性能指标(如 Threads_running、Innodb_buffer_pool_hit_rate); 支持多实例聚合,可对比不同 MySQL 节点的性能; 依赖:需部署 mysql_exporter(采集 MySQL 指标)。
  6. Redis 缓存监控 Dashboard ID:11835 名称:Redis Prometheus 适用场景:监控 Redis 服务(连接数、内存使用率、命中率、键数量、持久化状态、主从同步等)。 特点: 区分 Redis 单机 / 集群模式,支持哨兵监控; 重点展示缓存命中率(核心指标,低于 90% 需警惕); 依赖:需部署 redis_exporter。
  7. PostgreSQL 数据库监控 Dashboard ID:9628 名称:PostgreSQL Database 适用场景:监控 PostgreSQL 连接数、查询性能、表空间、WAL 日志、索引使用等。 依赖:需部署 postgres_exporter。
  8. Elasticsearch 监控 Dashboard ID:2322 名称:Elasticsearch metrics 适用场景:监控 ES 集群状态(节点健康、分片分布、索引大小、查询 / 写入 QPS、JVM 内存等)。 依赖:需部署 elasticsearch_exporter 或 ES 自带的 Prometheus 集成。 四、应用性能监控(APM)
  9. HTTP/API 服务监控(通用) Dashboard ID:405 名称:Prometheus 2.0 Stats 适用场景:监控基于 Prometheus 客户端埋点的 HTTP 服务(如 API 接口 QPS、响应时间、错误率、状态码分布)。 特点:支持按 service、method、status 标签筛选,适配大多数 REST API 服务。 依赖:应用需通过 Prometheus 客户端(如 Java Micrometer、Go client_golang)暴露 HTTP 指标(如 http_requests_total、http_request_duration_seconds)。
  10. Spring Boot 应用监控 Dashboard ID:12900 名称:Spring Boot 2.1.x and 2.2.x Actuator (Prometheus) 适用场景:监控 Spring Boot 应用(JVM 内存、GC 情况、请求量、响应时间、接口状态、数据库连接池等)。 特点:适配 Spring Boot 2.x+,依赖 spring-boot-starter-actuator 和 micrometer-registry-prometheus 组件暴露指标。 五、Prometheus 自身监控 Dashboard ID:3662 名称:Prometheus Stats 适用场景:监控 Prometheus Server 自身状态(采集目标数量、指标存储量、查询性能、 WAL 日志大小、告警规则状态等)。 必要性:运维 Prometheus 时必备,可及时发现采集失败、存储满、查询超时等问题。 六、中间件 / 消息队列监控
  11. RabbitMQ 消息队列 Dashboard ID:10991 名称:RabbitMQ Overview 适用场景:监控 RabbitMQ 队列(消息生产 / 消费速率、堆积量、消费者数量、交换机 / 队列状态等)。 依赖:需部署 rabbitmq_exporter(或启用 RabbitMQ 自带的 Prometheus 插件)。
  12. Kafka 消息队列 Dashboard ID:7589 名称:Kafka Exporter Overview 适用场景:监控 Kafka 集群( broker 状态、主题分区、消息生产 / 消费速率、副本同步状态等)。 依赖:需部署 kafka_exporter。 七、仪表盘导入步骤(通用) 登录 Grafana 后,左侧菜单点击 Dashboards → Import; 在 Import via grafana.com 输入框中填写上述 Dashboard ID,点击 Load; 选择数据源(需提前配置 Prometheus 数据源,确保 Prometheus 已采集对应指标),点击 Import; 导入后即可看到完整仪表盘,可根据需求调整时间范围(如近 1 小时、近 24 小时)或筛选维度(如节点、实例)。 八、使用技巧 版本适配:部分仪表盘有版本要求(如 Node Exporter 1.x 对应 Dashboard 1860),导入时若提示指标缺失,可检查 Exporter 版本或仪表盘说明; 自定义调整:导入后可修改面板布局、指标表达式(如调整 CPU 使用率阈值颜色),修改后点击 Save 保存为自定义版本; 批量导入:若需部署多个仪表盘,可通过 Grafana API 批量导入(适合大规模运维场景); 官方仓库:更多仪表盘可在 Grafana Dashboards 官网 搜索(按关键词如 “MySQL”“K8s” 筛选,优先选择 Downloads 多、Updated 时间近 的仪表盘)。

这些仪表盘覆盖了 90% 以上的常见监控场景,且均由社区维护更新,稳定性和兼容性经过大量验证,是 Grafana 运维的必备工具。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐