ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

(一)监控原理介绍

2022-05-26 10:01:32  阅读:137  来源: 互联网

标签:存储 中间件 介绍 采集 监控 原理 服务器 日志


一、监控系统概述

监控系统在这里特指对数据中心的监控,主要针对数据中心内的硬件和软件进行监控和告警。
从监控对象的角度来看,可以将监控分为网络监控、存储监控、服务器监控和应用监控等。
从程序设计的角度来看,可以将监控分为基础资源监控、中间件监控、应用程序监控和日志监控,

二、基础资源监控

从监控对象的角度来看,可以将基础资源监控分为网络监控、存储监控和服务器监控。

2.1 网络监控

这里讲解的网络监控主要包括:

  • 对数据中心内网络流量的监控;
  • 对网络拓扑发现及网络设备的监控;
  • 对网络性能的监控及对网络攻击的探测等。

网络监控主要有以下几个方向。
(1)网络性能监控(Network Performance Monitor,NPM):主要涉及网络监测、网络实时流量监控(网络延迟、访问量、成功率等)和历史数据统计、汇总和历史数据分析等功能。
(2)网络攻击检查:主要针对内网或者外网的网络攻击如DDos攻击等,通过分析异常流量来确定网络攻击行为。
(3)设备监控:主要针对数据中心内的多种网络设备进行监控,包括路由器、防火墙和交换机等硬件设备,可以通过SNMP等协议收集数据。

2.2 存储监控

存储主要分为云存储和分布式存储两部分。

  • 云存储主要通过存储设备构建存储资源池,并对操作系统提供统一的存储接口,例如块存储的 SCSI和文件存储 NFS等。它们的特点是存储接口统一,并不识别存储数据的格式和内容,例如块存储只负责保存二进制数据块,这些二进制数据可能来自图片或视频,对于块存储来说都是一样的。
  • 分布式存储主要构建在操作系统之上,提供分布式集群存储服务,主要是针对特定数据结构的数据存储。例如HDFS的大文件存储、Dynamo的键值数据存储、Elasticsearch的日志文档存储等。

我们可以将云存储监控分为存储性能监控、存储系统监控、存储设备监控。

  • 在存储性能监控方面,块存储通常监控块的读写速率、IOPS、读写延迟、磁盘用量等;文件存储通常监控文件系统Inode、读写速度、目录权限等。
  • 在存储系统监控方面,不同的存储系统有不同的指标。例如,对于Ceph存储,需要监控OSD、MON的运行状态,各种状态PG的数量,以及集群IOPS等信息。
  • 在存储设备监控方面,对于构建在x86服务器上的存储设备,设备监控通过每个存储节点上的采集器统一收集磁盘、SSD、网卡等设备信息;存储厂商以黑盒方式提供的商业存储设备通常自带监控功能,可监控设备的运行状态、性能和容量等。

2.3 服务器监控

服务器监控包括物理服务器监控,虚拟机监控和容器监控。

  • 对服务器硬件的兼容。数据中心内的服务器通常来自多个厂商如Dell、华为或者联想等,服务器监控需要获取不同厂商的服务器硬件信息。
  • 对操作系统的兼容。为了适应不同软件的需求,在服务器上会安装不同的操作系统如 Windows、Linux,采集软件需要做到跨平台运行以获取对应的指标。
  • 对虚拟化环境的兼容。当前,虚拟化已经成为数据中心的标配,可以更加高效便捷地获取计算和存储服务。服务器监控需要兼容各种虚拟化环境如虚拟机(KVM、VMware、Xen)及容器(Docker、rkt)。

采集方式通常分为两种:一种是内置客户端,即在每台机器上都安装采集客户端;另一种是在外部采集,例如在虚化环境中可以通过Xen API、VMware Vcenter API或者Libvirt的接口分别获取监控数据。
从操作系统层级来看,采集直指标通常如下:CPU、内存、网络IO、磁盘IO
服务器监控还包括针对物理硬件的监控,可以通过IPMI(Intelligent Platform Management Interface,智能平台管理接口)实现。IPMI是一种标准开放的硬件管理接口,不依赖于操作系统,可以提供服务器的风扇、温度、电压等信息。

2.4 中间件监控

常用的中间件主要有以下几类。

  • 消息中间件,例如RabbitMQ、Kafka。
  • Web服务中间件,例如Tomcat、Jetty。
  • 缓存中间件,例如Redis、Memcached。
  • 数据库中间件,例如MySQL、PostgreSQL。

2.5 应用程序监控(APM)

2.6 日志监控

目前业内比较流行的监控组合:
Fluentd----Kafka----logstash----Elasticsearch----Kibana
Fluentd:主要负责日志采集,其他开源组件还有Filebeta、Flume、Fluent、Bit等,也有以西而应用集成log4g等日志组件直接输出日志。
Kafka:主要负责数据整流合并,避免突发日志流量直接冲击Logstash,业内也有用Redis替换Kafka的方案。
Logstash:负责日志整理,可以完成日志过滤、日志修改等功能。
Elasticserach:负责日志存储和日志检索,自带分布式存储,可以将采集的日志进行分片存储。
Kibana:是一个日志查询组件,负责日志展现,主要通过Elasticsearch的HTTP接口展现日志。

三、 监控系统实现

3.1 指标采集

指标采集包括数据采集、数据传输和过滤、以及数据存储。

3.2 数据处理

数据处理分为:数据查询、数据分析和基于规则告警等。

四、开源监控软件

Zabbix、Nagios、OPen-Falcon、Prometheus

标签:存储,中间件,介绍,采集,监控,原理,服务器,日志
来源: https://www.cnblogs.com/infodriven/p/16312318.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有