一、prometheus企业级监控实战
任务背景(实战)
某某某公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行业务监控,责成运维部门来实施这个项目。
笔记配套视频效果更佳哦:视频地址:https://edu.51cto.com/lecturer/14390454.html
- 任务要求
(1)部署监控服务器,实现7x24实时监控
(2)做好问题预警机制,对可能
一级报警 电话通知
二级报警 微信通知
三级报警 邮件通知
(3)处理好公司服务器异地集中监控问题.
- 任务分析
为什么要监控?
答: 实时收集数据,通过报警及时发现问题,及时处理。数据为优化也可以提供依据。监控四要素:
监控对象 [主机(内存、磁盘空间等) 业务(端口、状态)]
用什么监控 [zabbix-server zabbix-agent] ========> 普罗米修斯监控
什么时间监控 [7x24 5x8]
报警给谁 [管理员]
项目选型:
- mrtg (Multi Router Traffic Grapher)通过snmp协议得到设备的流量信息,并以包含PNG格式的图形的HTML文档方式显示给用户。
- cacti (仙人掌) 用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据。官网地址: https://www.cacti.net/
ntop 官网地址: https://www.ntop.org/ - nagios 能够跨平台,插件多,报警功能强大。官网地址: https://www.nagios.org/
centreon 底层使用的就是nagios。是一个nagios整合版软件。官网地址:https://www.centreon.com/ - ganglia 设计用于测量数以千计的节点,资源消耗非常小。官网地址:http://ganglia.info/
- open-falcon 小米发布的运维监控软件,高效率,高可用。时间较短,用户基数小。官网地址: http://open-falcon.org/
- zabbix 跨平台,画图,多条件告警,多种API接口。使用基数特别大。官网地址: https://www.zabbix.com/
- prometheus 基于时间序列的数值数据的容器监控解决方案。官网地址: https://prometheus.io/
综合分析:Prometheus比较适合公司的监控需求
Prometheus介绍
prometheus官网:官网地址
1.1 Prometheus的特点
-
多维度数据模型,使用时间序列数据库TSDB而不使用mysql。
-
灵活的查询语言PromQL。
-
不依赖分布式存储,单个服务器节点是自主的。
-
主要基于HTTP的pull方式主动采集时序数据。
-
也可通过pushgateway获取主动推送到网关的数据。
-
通过服务发现或者静态配置来发现目标服务对象。
-
支持多种多样的图表和界面展示,比如Grafana等。
1.2 基本原理
1.2.1 原理说明
Prometheus的基本原理是通过各种exporter提供的HTTP协议接口
周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。
不需要任何SDK或者其他的集成过程,非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。
互联网公司常用的组件大部分都有exporter可以直接使用,如Nginx、MySQL、Linux系统信息等。
1.2.2 架构图:
1.2.3 三大组件
-
Server 主要负责数据采集和存储,提供PromQL查询语言的支持。
-
Alertmanager 警告管理器,用来进行报警。
-
Push Gateway 支持临时性Job主动推送指标的中间网关。
1.2.4 架构服务过程
Prometheus Daemon负责定时去目标上抓取metrics(指标)数据
每个抓取目标需要暴露一个http服务的接口给它定时抓取。
支持通过配置文件、文本文件、Zookeeper、DNS SRV Lookup等方式指定抓取目标。PushGateway用于Client主动推送metrics到PushGateway
而Prometheus只是定时去Gateway上抓取数据。
适合一次性、短生命周期的服务。Prometheus在TSDB数据库存储抓取的所有数据
通过一定规则进行清理和整理数据,并把得到的结果存储到新的时间序列中。Prometheus通过PromQL和其他API可视化地展示收集的数据。
支持Grafana、Promdash等方式的图表数据可视化。
Prometheus还提供HTTP API的查询方式,自定义所需要的输出。Alertmanager是独立于Prometheus的一个报警组件
支持Prometheus的查询语句,提供十分灵活的报警方式。
笔记配套视频效果更佳哦:视频地址:https://edu.51cto.com/lecturer/14390454.html