相关文章阅读
Prometheus简介
Prometheus简介是一套开源的系统监控报警框架。Prometheus作为新一代的云原生监控系统,相比传统监控监控系统(Nagios或者Zabbix)拥有如下优点
易管理性:Prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储
高效性:单一Prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点
易于伸缩性:通过使用功能分区(sharing)+联邦集群(federation)可以对Prometheus进行扩展,形成一个逻辑集群
丰富的看板:多种可视化图表及仪表盘支持
针对容器监控:对docker,k8S监控有成熟解决方案
Prometheus架构图
Prometheus Server: 收集指标和存储时间序列数据,并提供查询接口
ClientLibrary:客户端库
Push Gateway: 短期存储指标数据。主要用于临时性的任务
Exporters:采集已有的第三方服务监控指标并暴露metrics
Alertmanager:告警
Web UI :简单的web控制台
官方安装说明
https://prometheus.io/docs/prometheus/latest/installation/
安装
下载镜像
docker pull prom/prometheus
# 开启内核路由转发
echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
sysctl -p
# 修改yaml内容
vim /tmp/prometheus.yml
yaml文件内容
# my global config
global:
scrape_interval: 15s # 采集被监控段指标的一个周期
evaluation_interval: 15s # 告警评估的一个周期
# 告警的配置文件
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# 告警规则配置
rule_files:
# - "first_rules.yml"
#被监控端的配置
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: "docker"
static_configs:
- targets: ['47.108.254.25:8080']
- job_name: "Linux"
static_configs:
- targets: ['192.168.31.62:9100']
运行docker容器
docker run -d --name=p1 -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
访问9090端口号 出现ui界面说明部署成功