阿里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架构师谈:架构设计经验汇总
- 阿里P8架构师谈:双11秒杀系统如何设计?
- 阿里P8架构师谈:分布式架构系统拆分原则、需求、微服务拆分步骤
- 阿里P8架构师谈:分布式架构设计12精讲
- 阿里P8架构师谈:淘宝技术架构从1.0到4.0的架构变迁
阿里P8架构师谈:高并发网站的监控系统选型、比较、核心监控指标相关推荐
- 阿里P8架构师谈(1):双11秒杀系统如何设计
秒杀活动场景 淘宝双11秒杀场景,大量的用户短时间内涌入,瞬间流量巨大(高并发),比如:1000万人同一时间抢购100件商品.秒杀活动是一个特别考验后台数据库.缓存服务的业务,对于数据库.缓存的性能要 ...
- 阿里P8架构师谈:从单体架构、到SOA、再到微服务的架构设计详解
本文涉及的内容以及知识点如下: 1.单体架构 2.单体架构的拆分 3.SOA与微服务的区别 4.微服务的优缺点 5.微服务的消息 6.服务集成 7.数据的去中心化 单体架构 Web应用程序发展的早期, ...
- 阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结
web前端性能优化 Web前端指网站业务逻辑之前的部分,包括: 1.浏览器加载 2.网站视图模型 3.图片服务 4.CDN服务等 主要优化手段有优化浏览器访问,使用反向代理,CDN等. 1.浏览器访问 ...
- 阿里P8架构师谈:java架构师面试技能24全点
1,JAVA基础扎实,理解io.多线程.集合等基础框架,对JVM原理有一定的了解,熟悉常见类库,常见java api不仅会用更能知其所以然: 2,对Spring,MyBatis/Hibernate,S ...
- 阿里P8架构师谈:大数据架构设计(文章合集)
架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括: MySQL等关系式数据库,需要掌握数据库的索引.慢SQL.以及长事务的优化等. 需要掌握非关系式数据库(NoSQL)的选型,以及 ...
- psql where里有自定义函数慢_阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结...
MySQL优化概述 MySQL数据库常见的两个瓶颈是:CPU和I/O的瓶颈. CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候. 磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应 ...
- 阿里P8架构师谈:流量高峰时期的性能瓶颈有哪些、以及如何来解决
在高并发大量用户的场景,系统一般会面临如下三个挑战: 1. 日益增长的用户数量 2. 日渐复杂的业务 3. 急剧膨胀的数据 这些挑战对于性能优化而言表现为:在保持和降低系统TP95响应时间(指的是将一 ...
- 阿里P8架构师谈:Zookeeper的原理和架构设计,以及应用场景
什么是 Zookeeper Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如: 统一命名服务 状态同步服务 集群 ...
- 阿里P8架构师谈:微服务Dubbo和SpringCloud架构设计、优劣势比较
本文主要围绕微服务的技术选型.通讯协议.服务依赖模式.开始模式.运行模式等几方面来综合比较Dubbo和Spring Cloud 这2种开发框架.架构师可以根据公司的技术实力并结合项目的特点来选择某个合 ...
最新文章
- recover 没有捕获异常_GO语言异常处理机制panic和recover分析
- 一线程序员年薪90万,不敢结婚不敢要孩子,被父母怼:堂弟月薪4千二胎都有了,家里最挫的就是我!...
- 一份其实很短的 LaTeX 入门文档
- 判断字符串是否以指定字符开头
- 处理字符串_1_生成自增值
- 【转】如何更改VS2010的[默认开发语言]默认环境设置 .
- 强烈推荐,关于5G最深刻的一篇文!
- 全面的framebuffer详解一
- Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)...
- linux sys伪用户作用,linux用户管理详解
- 灰度共生矩阵(Gray Level Co-occurrence Matrix,GLCM)
- HTML5新标签-Video
- 人工智能的主要研究领域
- 基于OptiSystem的光接收机的设计和仿真
- 9种常见的反爬虫策略思路
- 思维导图与知识树的区别
- win7从服务器拷文件提示错误,windows7无法复制文件提示“一个意外错误使您无法复制该文件”如何解决...
- win10退出微软账号
- 阔别母校35年!院士,履新北大!
- Facebook POP 动画框架 进阶指南
热门文章
- 转 php 观察者模式
- 『号外』 排名进入3000,特致感谢!
- 胃部不适,原来好辛苦!
- 实时内核(Core)和实时操作系统(RTOS)有何不同?
- 从Linus Torvalds一封发飙的电邮开始谈设备树究竟是棵什么树?
- getimg()在java中,java – 使用getClass()加载资源getResource()
- Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...
- Flink-Java版单词计数(批处理流处理)
- 图像目标分割_4 DeepLab-V1
- bp神经网络预测_股指期货价格变动趋势往往反映的是股票价格的走势,因此BP神经网络对股指期货价格的准确预测就是对股票价格的准确预测。...