Prometheus Grafana docker部署
Prometheus Grafana docker部署
技术分享|2025-1-2|最后更新: 2025-5-9
type
status
date
slug
summary
tags
category
icon
password
💡
Prometheus 是一个开源的系统监控和报警系统,在 2012 年由 SoundCloud 公司创建,并于 2015 年正式发布。2016 年,Prometheus 正式加入 CNCF (Cloud Native Computing Foundation),成为继kubernetes之后第二个在CNCF托管的项目, 现已广泛用于在容器和微服务领域中得到了广泛的应用,当然不仅限于此Prometheus 本身基于Go语言开发的一套开源的系统监控报警框架和时序列数据库(TSDB)。
Prometheus 的监控功能很完善和全面,性能也足够支撑上万台规模的集群。

1. Prometheus基本原理

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。
其大概的工作流程是:
1、Prometheus server 定期从配置好的 jobs 或者 exporters 中拉 metrics,或者接收来自 Pushgateway 发过来的 metrics,或者从其他的 Prometheus server 中拉 metrics。
2、Prometheus server 在本地存储收集到的 metrics,并运行已定义好的 alert.rules,记录新的时间序列或者向 Alertmanager 推送警报。
3、Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
4、在Grafana图形界面中,可视化查看采集数据。

2. 部署Prometheus

2.1 安装docker

安装方式网上很多,可自行查找,本文使用LinuxMirrors的脚本安装,很方便。
  • GNU/Linux 更换系统软件源脚本
  • Docker 安装脚本

2.2 下载镜像包

2.3 启动prometheus

创建prometheus挂载目录 mkdir -p /data/prometheus
创建prometheus配置文件
启动
查看端口状态 netstat -antupl |grep 9090
访问地址 ip:9090
notion image

3. 部署grafana

创建数据挂载目录
mkdir /data/grafana
设置权限 chmod 777 -R /data/grafana
启动grafana
访问地址:ip:3000,默认都是admin
notion image

4. 部署node-exporter

访问ip:9100
notion image

5. 添加监控节点

在另一台主机上安装docker,并部署node-exporter
修改prometheus配置文件
重启prometheus
sudo docker restart prometheus
访问prometheus status>Target health
notion image

6. 添加监控模板

网页登录Grafana
依次点击左侧Connections Data source Add data source,选择prometheus
notion image
输入name 和 ip地址,点击save
notion image
notion image
点击左上角+号,点击Import dashboard
notion image
下载需要的dashboard页面
notion image
下载json文件,上传json文件
notion image
import,展示
notion image
 
本地部署Deepseek大模型jumpserver安装
Loading...