1.Prometheus简介
Prometheus是一套开源的系统监控和报警框架,灵感源自Google的Borgmon监控系统。2012年SoundCloud的Google员工创造了Prometheus,并作为社区开源项目进行开发。2015年该项目正式发布。2016年Prometheus加入云原生计算基金会(Cloud Native Computing Foundation),成为受欢迎度仅次于Kubernetes的项目。
Prometheus具有以下特性:
多维的数据模型(基于时间序列的Key、Value键值对)
灵活的查询和聚合语言PromQL
提供本地存储和分布式存储
通过基于HTTP的Pull模型采集时间序列数据
可利用Pushgateway(Prometheus的可选中间件)实现Push模式
可通过动态服务发现或静态配置发现目标机器
支持多种图表和数据大盘

2.安装Promethus
# 创建目录
mkdir -p /opt/prometheus/{config,data}
# 创建 prometheus.yml
cat > /opt/prometheus/config/prometheus.yml << 'EOF'
global:
scrape_interval: 15s # 每15秒采集一次数据
evaluation_interval: 15s # 每15秒评估一次告警规则
# 告警规则(稍后添加)
# rule_files:
# 采集目标配置
scrape_configs:
# 监控 Prometheus 自己
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
EOFdocker run -d \
--name prometheus \
--restart always \
-p 9090:9090 \
-v /opt/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /opt/prometheus/data:/prometheus \
prom/prometheus:v3.9.1 \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/prometheus3.部署 Node Exporter(采集服务器指标)
这是用来采集服务器 CPU、内存、磁盘等系统信息的。
bash
docker run -d \
--name node-exporter \
--restart always \
-p 9100:9100 \
prom/node-exporter:v1.9.14.配置 Prometheus 采集 Node Exporter
现在让 Prometheus 知道要去哪里采集数据。
bash
vim /opt/prometheus/config/prometheus.yml改成下面这样(把 IP 换成你服务器的真实 IP):
yaml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
static_configs:
- targets: ['192.168.83.143:9100'] # ⚠️ 改成你的服务器IPbash
# 热加载(推荐,不中断服务)
docker kill -s HUP prometheus
# 或者重启容器
docker restart prometheus5.部署 Grafana(可视化仪表盘)
让数据变成漂亮的图表。
启动 Grafana
bash
docker run -d \
--name grafana \
--restart always \
-p 3000:3000 \
grafana/grafana:latest访问 Grafana
浏览器打开:http://192.168.83.143:3000
用户名:
admin密码:
admin(首次登录强制修改)
导入数据源和8919模板,即可成功

评论区