阿里P8架构师谈:高并发网站的监控系统选型、比较、核心监控指标
在高并发分布式环境下,对于访问量大的业务、接口等,需要及时的监控网站的健康程度,防止网站出现访问缓慢,甚至在特殊情况出现应用服务器雪崩等场景,在高并发场景下网站无法正常访问的情况,这些就会涉及到分布式监控系统,对于核心指标提前监控,防患于未然。
常见的开源监控系统
1.Zabbix
Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件。
入门容易、上手简单、功能强大并且开源免费。
Zabbix易于管理和配置,能生成比较漂亮的数据图,其自动发 现功能大大减轻日常管理的工作量,丰富的数据采集方式和API接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。
2.Nagios
Nagios是一款开源的企业级监控系统,能够实现对系统CPU、磁盘、网络等方面参数的基本系统监控,以及 SMTP,POP3,HTTP,NNTP等各种基本的服务类型。另外通过安装插件和编写监控脚本,用户可以实现应用监控,并针对大量的监控主机和多个对象 部署层次化监控架构。
Nagios最大的特点是其强大的管理中心,尽管其功能是监控服务和主机的,但Nagios自身并不包括这部分功能代码,所有的监控、告警功能都是由相关插件完成的。
3.开源监控工具比较
4.建议首选Zabbix,免费开源监控首选,以下我主要以Zabbix为例,主要谈监控流程和核心监控指标。
Zabbix监控流程
Zabbix的监控流程可以简单描述为:
数据采集-->数据存储-->数据分析-->数据展示-->监控报警
- 数据采集:Zabbix通过SNMP、Agent、ICMP、SSH、IPMI等进行数据采集
- 数据存储:Zabbix存储在MySQL上,也可以存储在其他数据库
- 数据展示:web界面展示、(移动APP、java_php开发一个web界面也可以)
- 数据报警:邮件报警、微信报警、短信报警、报警升级机制
Zabbix的监控配置流程可以简单描述为:
告警是由一系列的流程组成,首先是触发器达到阀值,产生一个事件,接下来由Action对事件信息进行处理,其中包括两部分:
- 第一部分是发送消息,即将告警信息发送给用户。
- 第二部分是执行命令,即将事件用命令进行处理,达到对事件故障自动尝试恢复的效果。
Host groups(主机组)→Hosts(主机)→template(模板)→Applications(监控项组)→Items(监控项)→graph(图形) →screen (图形分组)→Triggers(触发器)→Event(事件)→Actions(处理动作)→Media types(告警升级|1.执行远程命令2.发送告警邮件)→User groups(用户组)→Users(用户)→Medias(告警邮件)
在实际生产使用的时候,Items、Trigger、Graph采用模板来进行监控,模板特点就是可以重复的事情一次完成,修改了模板等于修改了所有调用此模板的主机。
Zabbix监控功能
1.监控指标
- 主机的性能监控
- 网络设备性能监控
- 数据库性能监控
- 多种告警方式
- 详细的报表图表绘制
- 监控主机zabbix有专用的agent,可以监控Linux,Windows,FreeBSD等 。
- 监控网络设备zabbix通过SNMP,ssh(不多用)
2.可监控对象
- 设备:服务器,路由器,交换机
- 软件:OS,网络,应用程序
- 主机性能指标监控
- 故障监控: down机,服务不可用,主机不可达
3.基础监控数据
主要包括以下几个类别:
- CPU
- Load
- 内存
- 磁盘
- IO
- 网络相关
- 内核参数
- ss 统计输出
- 端口采集
- 核心服务的进程存活信息采集
- 关键业务进程资源消耗
- NTP offset采集
- DNS解析采集
对于这些基础监控选项全部理解透彻的时刻,也就是对Linux运行原理及命令进阶的时刻。
4.JVM监控
对于Java作为主要开发语言的大多数公司,对于JVM的监控不可或缺。
每个JVM应用的参数,比如:
- GC
- 类加载
- JVM内存
- 进程
- 线程等
而这些参数的获得,都可以通过MxBeans实现。
5.mysql四大性能指标
- 查询吞吐量
- 查询执行性能
- 连接情况
- 缓冲池使用情况
6.业务应用监控
对于业务需要监控的接口,比如响应时间等。
以上就是分布式监控系统总结,以下是最新阿里P8架构师谈架构设计系列文章。
最新阿里P8架构师系列资料
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
P4:编程网络的转发平面
随着物联网设备、数据流量、新协议以及私有云和公共云的巨大增长,网络世界的创新速度也在不断加快。网络的未来已经超越了SDN的数据和控制平面分离,而是在ASIC中深入编写转发逻辑。技术现在正从传统的固定架构转向灵活的可编程交换机。新的可编程ASIC支持自定义协议,以及当前和未来的协议。 要充分利用这种灵活性,需要使用新的、更高级别的、特定于域的语言来简化转发平面的编写。每个ASIC制造商都必须提供自己的定制语言,这更多地取决于硬件架构。将转发平面逻辑从一个网络ASIC制造商移植到另一个制造商需要付出很多努力。这就产生了对独立于底层硬件和协议的标准语言的需求。 这就是P4(独立于编程协议的数据包处理器)的用武之地。P4是一种开源的、特定于域的编程语言,专为编程可重构网络而设计。 P4语言是公开的,由p4.org联盟开发,该联盟包括网络、云系统和学术机构领域的各种公司。最初,P4针对的是网络交换机的数据平面编程。现在,它的范围已扩展到包括硬件或软件、网络接口卡和其他数据包处理系统在内的可编程网络元素。 P4编译器:P4如何独立于目标 从过去几年来看,很明显,在任何网络设备中由数据平面处理的数据...
- 下一篇
TableStore发布多元索引功能,打造统一的在线数据平台
什么是NoSQL “NoSQL”一词最早出现在1998年,距今刚好二十年。站在今天回头看的话,很少有人能想到在关系型数据库成熟发展了三十年,已经在数据存储领域占据了不可动摇的的地位后,NoSQL数据库尽然还可以快速地异军突起,并且以多点开花、多路并进的方式高速发展。“NoSQL”最早的意思是“non-relational”,后来又升级为了“Not Only SQL”,不管如何定义,“NoSQL”都代表了一种不同于关系型数据库的全新的思维方式。虽然在最近几年也出现了一些新颖的单机数据存储系统,也被划归为NoSQL,但在本文中,“NoSQL”仅指传统的分布式NoSQL数据库。 NoSQL最近二十年,尤其是最近十年可以说异军突起,主要得益于互联网的高速发展,对数据库有了更多更高的要求: 高达TB,PB级的海量数据存储需求:不管是二十年前起步的
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库