prometheus介绍及docker部署

1、Prometheus简介




1.1、什么是Prometheus

Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包。从2012年开始,许多公司和组织开始使用Prometheus。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司。为了强调这点和明确该项目治理结构,Prometheus在2016年继Kurberntes之后,加入了Cloud Native Computing Foundation。主要具有如下功能:
①多维 数据模型(时序由 metric 名字和 k/v 的 labels 构成)。
②灵活的查询语句(PromQL)。
③无依赖存储,支持 local 和 remote 不同模型。
④采用 http 协议,使用 pull 模式,拉取数据,简单易懂。
⑤监控目标,可以采用服务发现或静态配置的方式。
⑥支持多种统计数据模型,图形化友好。

1.2、核心架构

从这个架构图,也可以看出 Prometheus 的主要模块包含, prometheus server, exporters, pushgateway, PromQL, Alertmanager, WebUI 等。下面我就简单介绍各个组件实现的功能:

  1. prometheus server: 定期从静态配置的 targets 或者服务发现(主要是DNS、consul、k8s、mesos等)的 targets 拉取数据。
  2. exporters:负责向prometheus server做数据汇报的程序统。而不同的数据汇报由不同的exporters实现,比如监控主机有node-exporters,mysql有MySQL server exporter,更多请参考链接。
  3. pushgateway:主要使用场景为:
    Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙原因,导致 Prometheus 无法直接拉取各个 target 数据。在监控业务数据的时候,需要将不同数据汇总, 由 Prometheus 统一收集。
    总结:实现类似于zabbix-proxy功能;
  4. Alertmanager:实现prometheus的告警功能。
  5. webui:主要通过grafana来实现webui展示。

1.3、适用场景

Prometheus在记录纯数字时间序列方面表现非常好。它既适用于面向服务器等硬件指标的监控,也适用于高动态的面向服务架构的监控。对于现在流行的微服务,Prometheus的多维度数据收集和数据筛选查询语言也是非常的强大。Prometheus是为服务的可靠性而设计的,当服务出现故障时,它可以使你快速定位和诊断问题。它的搭建过程对硬件和服务没有很强的依赖关系。
Prometheus,它的价值在于可靠性,甚至在很恶劣的环境下,你都可以随时访问它和查看系统服务各种指标的统计信息。 如果你对统计数据需要100%的精确,它并不适用,例如:它不适用于实时计费系统。

2、docker部署Prometheus并监控mysql




2.1、下载镜像包

docker pull prom/mysqld-exporter
docker pull prom/prometheus

2.2、启动mysqld-exporter

docker run -d --name mysqld_exporter --restart=always -p 9104:9104 -e DATA_SOURCE_NAME="root:Password123@(172.17.0.2:3306)/" prom/mysqld-exporter

访问url:http://ip:port/metrics
效果如下:

2.3、新建目录prometheus,编辑配置文件prometheus.yml

mkdir /bigdata/prometheus
cd /bigdata/prometheus
vim prometheus.yml
内容如下:

!!!注意事项:配置文件中mysql的ip为docker容器内网ip,可以使用如下命令查看

docker inspect 容器id | gerp IPAddress

 2.4、启动prometheus

docker run -d -p 9090:9090 -v /bigdata/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

效果如下:

2.5、收集docker中MySQL的运行信息

如下图所示:

在Graph页面通过指定表达式进行搜索可看到图表或日志信息




2.6、启动grafana

docker run -d -p 3000:3000 -v /bigdata/grafana-storage/:/var/lib/grafana —name=grafana grafana/grafana:latest
访问网址:http://ip:port

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值