安装Prometheus
选择安装方法:
-
使用官方二进制文件:
- 下载适合操作系统的二进制文件(如Linux、Windows、macOS)。
- 解压并执行安装脚本:
./prometheus-2.x.x-linux-x86_64.gz
- 启动服务:
systemctl start prometheus
-
使用包管理器:
- Linux:使用Yum或Docker。
yum install -y prometheus systemctl start prometheus
- macOS:使用Homebrew。
brew install prometheus prometheus start
- Windows:使用 Chocolatey。
choco install prometheus prometheus start
- Linux:使用Yum或Docker。
-
使用Docker:
- 拉取镜像并运行:
docker pull prom/prometheus:latest docker run -d --name prometheus -p 909:909 prom/prometheus
- 拉取镜像并运行:
访问配置界面:
默认端口是909,访问http://localhost:909进入配置界面。
配置Prometheus
配置Targets(监控目标):
在界面中,点击Targets,选择Add Target,配置以下参数:
- Name:目标名称。
- IP/Host:目标IP或域名。
- Port:目标端口(默认910)。
- HTTP路径:如果目标使用HTTP或HTTPS,指定路径。
- 协议:HTTP、TCP、HTTP+JSON等。
示例:添加一个本地HTTP服务器:
- Name: local-nginx
- IP: 127...1
- Port: 80
- HTTP路径: /
- 协议: HTTP
配置报警(Alerting)
a. 设置报警规则:
在Alerting部分,点击Add Rule,配置触发报警的条件:
- Rule Name:命名规则。
- Severity:报警级别(如Critical、Warning)。
- Matchers:添加条件,
- HTTP状态码:200 OK或500 Internal Server Error。
- 查询结果:如
instance_count > 1。
- Actions:配置触发报警时的动作,如发送通知或执行脚本。
示例报警规则:
- Rule Name: server_down
- Severity: Critical
- Matcher:
- HTTP状态码: 500
- Actions: 发送通知到Slack或Telegram。
b. 集成报警工具: Prometheus支持多种报警工具,如Prometheus Alert、Slack、Telegram、Microsoft Teams等,配置时需提供API密令。
安装和配置插件
a. Prometheus插件安装: 使用Prometheus插件库(如Prometheus-Alert)安装插件:
git clone https://github.com/prometheus-community/prometheus-alert.git cd prometheus-alert ./install.sh
b. 配置插件:
在Prometheus配置文件中(prometheus.yml),添加插件配置:
global:
scrape_interval: 1m
alerting:
- name: prometheus-alert
config_file: prometheus-alert/prometheus.yml
高级配置
Prometheus配置文件:
编辑prometheus.yml,配置目标、报警规则和插件:
global:
scrape_interval: 5m
targets:
- instance: 'localhost:909'
scheme: http
follow_redirects: true
http_client_timeout: 5s
alerting:
- name: slack
config_file: slack/prometheus.yml
高级目标配置: 使用模板或标签对目标进行分类管理:
targets:
- name: 'web-servers'
instances:
- { scheme: http, target: 'web1.example.com:80' }
- { scheme: http, target: 'web2.example.com:80' }
数据存储和处理: 配置数据存储路径和刷新时间:
storage:
'prometheus': /data/prom/prometheus
'recorder': /data/prom/prometheus-recorder
scrape_configs:
- job: 'prometheus'
scrape_interval: 5m
static_configs:
- target: 'localhost:909'
最佳实践
使用Prometheus作为日志监控工具: 配置Blackbox exporter收集日志:
targets:
- name: 'log-server'
scheme: tcp
target: 'logserver.example.com:202'
集成Grafana进行可视化: 配置Prometheus数据源:
- 数据源类型:Prometheus
- URL:http://localhost:909
- 数据拉取间隔:5分钟
创建图表,选择指标如HTTP_requests_total,按照时间系列展示。
常见问题与解决方案
目标无法连接:
检查网络权限,确保Prometheus和目标之间通信正常,使用telnet或nc测试端口连接。
报警未收到: 检查API密令是否正确,确保报警工具(如Slack)配置了正确的 webhook URL,测试报警规则是否触发。
通过以上步骤,您可以配置Prometheus进行有效的监控和报警,继续实践,结合实际项目进行调整和优化,熟悉更多配置选项和高级功能,遇到问题时,参考官方文档或社区资源,快速找到解决方案。









