暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Prometheus的应用场景和部署方案

ThreaTop 2021-09-26
1818


01



Prometheus应用场景



1.1、监控微服务。


1.2、node_exporter监控操作系统。


1.3mysqld_exporter监控MySQL


1.4、监控Redis1.5、监控Flink


1.6、监控RabbitMQ/Kafka


1.7、Prometheus Operator监控etcd


1.8、监控K8S


链接:官网支持的具体的第三方exporter.

https://prometheus.io/docs/instrumenting/exporters/




02





Prometheus的设计目标



事前监控、事中监控、事后监控


2.1、长期趋势分析。通过对监控样本数据的持续收集和统计,对监控指标进行长期趋势分析。例如,通过对磁盘空间增长率的判断,我们可以提前预测在未来什么时间节点上需要对资源进行扩容。


2.2、两个版本的系统运行资源使用情况的差异如何?在不同容量情况下系统的并发和负载变化如何?通过监控能够方便的对系统进行跟踪和比较。


2.3、告警。当系统出现或者即将出现故障时,监控系统需要迅速反应并通知管理员,从而能够对问题进行快速的处理或者提前预防问题的发生,避免出现对业务的影响。


2.4、故障分析与定位。当问题发生后,需要对问题进行调查和处理。通过对不同监控监控以及历史数据的分析,能够找到并解决根源问题。


2.5、数据可视化(通过grafana可视化仪表盘获取系统状态、资源使用情况、服务状态)




03



Prometheus的监控指标



3.1、网络监控

网络性能监控:主要涉及网络监测,网络实时流量监控(网络延迟、访问量、成功率)和历史数据统计、汇总和历史数据分析等功能。

网络检测:主要针对内网或者外网的网络***。如DDoS***的。通过分析异常流量来确定网络***行为。

设备监控:主要针对数据中心内的多种网络设备进行监控。包括路由器,防火墙和交换机等硬件设备,可以通过snmp等协议收集数据。

3.2、存储监控

存储性能监控方面:存储通常监控块的读写速率,IOPS。读写延迟,磁盘用量等;文件存储通常监控文件系统inode。读写速度、目录权限等。

存储系统监控方面:不同的存储系统有不同的指标,例如,对于ceph存储需要监控OSD, MON的运行状态,各种状态pg的数量以及集群IOPS等信息。

存储设备监控方面:对于构建在x86服务器上的存储设备,设备监控通过每个存储节点上的采集器统一收集磁盘、SSD、网卡等设备信息;存储厂商以黑盒方式提供商业存储设备,通常自带监控功能,可监控设备的运行状态,性能和容量的。

3.3、服务器监控

CPU:涉及整个 CPU 的使用量、用户态百分比、内核态百分比,每个 CPU 的使用量、等待队列长度、I/O 等待百分比、CPU 消耗最多的进程、上下文切换次数、缓存命中率等。

内存:涉及内存的使用量、剩余量、内存占用最高的进程、交换分区大小、缺页异常等。

网络 I/O:涉及每个网卡的上行流量、下行流量、网络延迟、丢包率等。

磁盘 I/O:涉及硬盘的读写速率、IOPS、磁盘用量、读写延迟等。

3.4、中间件监控

消息中间件: RabbitMQ、Kafka

Web 服务中间件:Tomcat、Jetty

缓存中间件:Redis、Memcached

数据库中间件:MySQL、PostgreSQL

3.5、应用程序监控(APM)

APM主要是针对应用程序的监控,包括应用程序的运行状态监控,性能监控,日志监控及调用链跟踪等。调用链跟踪是指追踪整个请求过程(从用户发送请求,通常指浏览器或者应用客户端)到后端API服务以及API服务和关联的中间件,或者其他组件之间的调用,构建出一个完整的调用拓扑结构,不仅如此,APM 还可以监控组件内部方法的调用层次(Controller–>service–>Dao)获取每个函数的执行耗时,从而为性能调优提供数据支撑。


文章转载自ThreaTop,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论