前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统性能该如何监控?原来还可以这样做...

系统性能该如何监控?原来还可以这样做...

作者头像
用户6367961
发布2021-07-20 11:47:34
1.2K0
发布2021-07-20 11:47:34
举报
文章被收录于专栏:自学测试之道自学测试之道

1. Nmon介绍

Nmon是一款计算机性能系统监控工具,因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统。

2. Nmon可监控的数据

内存使用情况

代码语言:javascript
复制
磁盘适配器
代码语言:javascript
复制
文件系统中的可用空间
代码语言:javascript
复制
CPU使用率
代码语言:javascript
复制
页面空间和页面速度
代码语言:javascript
复制
异步I/O,仅适用于AIX
代码语言:javascript
复制
网络文件系统(NFS)
代码语言:javascript
复制
磁盘I/O速度和读写比率
代码语言:javascript
复制
服务器详细信息和资源
代码语言:javascript
复制
内核统计信息
代码语言:javascript
复制
消耗资源最多的进程

运行队列信息

3. Nmon优点

代码语言:javascript
复制
①、占用系统资源少(一般不到2%)
代码语言:javascript
复制
②、功能强大(监控数据类型全面)
代码语言:javascript
复制
③、结合grafana之类的仪表图,可以更直观的实时展示所监控的数据
代码语言:javascript
复制
④、移植性、兼容性较好

4. Nmon下载与安装

在安装之后,需要检查操作系统的信息和Linux的发行版,来确定对应的nmon版本

# 查看操作系统的信息

uname -a

#Linux查看版本当前操作系统发行版信息

cat /etc/issue 或 cat /etc/redhat-release

如下:

代码语言:javascript
复制
如图:我的系统为64位,Linux的版本为centos7.6
代码语言:javascript
复制
下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

根据我的操作系统,选择需要的内容进行下载:

下载好之后通过xftp上传到服务器。然后执行以下命令:

代码语言:javascript
复制
# 新建一个nmon文件夹
代码语言:javascript
复制
mkdir nmon
代码语言:javascript
复制
# 解压到指定目录
代码语言:javascript
复制
tar xvfz nmon16e_mpginc.tar.gz -C /root/nmon
代码语言:javascript
复制
# 给工具授权
代码语言:javascript
复制
chmod -x nmon 777

5. Nmon运行

代码语言:javascript
复制
# 进入安装目录
代码语言:javascript
复制
cd nmon
代码语言:javascript
复制
cd nmon
代码语言:javascript
复制
#运行
代码语言:javascript
复制
./nmon
代码语言:javascript
复制

6. Nmon快捷键说明

代码语言:javascript
复制
# c
代码语言:javascript
复制
查看CPU相关信息
代码语言:javascript
复制
# m
代码语言:javascript
复制
查看内存相关信息
代码语言:javascript
复制
# d         
代码语言:javascript
复制
查看磁盘相关信息
代码语言:javascript
复制
# n         
代码语言:javascript
复制
查看网络相关信息
代码语言:javascript
复制
# t
代码语言:javascript
复制
查看相关进程信息
代码语言:javascript
复制
# h         

查看帮助相关信息

1. EasyNmon介绍

代码语言:javascript
复制
    为了方便多场景批量监控,作者用golang写了个监控程序,可以通过web页面启动和停止nmon服务, 适配Loadrunner和jmeter进行性能测试,可以做到批量执行场景并生成监控报告
代码语言:javascript
复制
环境适配:该执行文件默认为CentOS(6.5-7.4)版本,Ubuntu和SUSE需要下载对应版本的nmon替换!

go的http框架采用gin:https://gin-gonic.github.io/gin/

图表插件:echarts:http://echarts.baidu.com/

2. EasyNmon下载

见gitee:https://gitee.com/mzky/easyNmon

3. EasyNmon安装

通过xftp上传到服务器,新建easynmon的文件夹

然后解压到指定目录

tar -zxvfeasyNmon.tar.gz -C /root/easynmon

4.EasyNmon启动

进入文件夹

cd easynmon

cd easynmon

然后运行./easynmon

出现下面内容,则表示启动成功

5.EasyNmon访问

通过访问服务器的ip+端口即可访问。

6.EasyNmonWeb页面

可以通过帮助信息里面的信息,访问web页面查看该工具的页面管理功能,如下图:

1.Skywalking介绍

SkyWalking 是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

架构:

2.Skywalking环境搭建

下载:

地址:http://skywalking.apache.org/zh/downloads/

目前建议使用6.6的版本,可以完美兼容我们公司的系统

下载完成之后解压即用,无需安装

不需要修改配置文件,在bin目录下执行startup.bat(windows)或startup.sh(Linux)即可启动服务:

出现conllector和webapp表示成功

执行startup.bat之后会启动如下两个服务:

(1)Skywalking-Collector:追踪信息收集器,通过 gRPC/Http 收集客户端的采集信息,Http默认端口 12800,gRPC默认端口 11800。

(2)Skywalking-Webapp:管理平台页面 默认端口 8080

3.Skywalking怎么监控tomcat

在window环境下:

在tomcat的bin目录下的catalina.bat文件第一行增加如下语句:

set"CATALINA_OPTS=-javaagent:D:\apache-skywalking-apm-6.6.0-1\agent\skywalking-agent.jar"

这句话是说,启动tomcat的时候,使用javaagent探针,探针的位置在D:\apache-skywalking-apm-6.6.0-1\agent\skywalking-agent.jar

也就是说,D:\apache-skywalking-apm-6.6.0-1\agent\skywalking-agent.jar这个是你的skywalking的绝对路径

在Linux环境下:

在tomcat的bin目录下的catalina.sh文件的第一行增加

CATALINA_OPTS="$CATALINA_OPTS-javaagent:/usr/local/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar";exportCATALINA_OPTS

关键就是skywalking-agent.jar这个jar包。把路径指向它即可

如果无效,请先关掉tomcat和skywalking,然后添加Tomcat的监控,然后在启动tomcat,启动skywalking。

成功监控之后,访问服务器的ip+skywalking的端口(8080)即可

4.Skywalking非必须配置

webapp的端口设置。

修改port的值,重启即可

应用名称修改:

修改完成之后的效果:

数据库的修改:

Skywalking使用h2作为自带的数据库。可以把它修改为mysql的数据库,或者是使用es(Elasticsearch)集群来存贮监控数据

需要在mysql中新建好库

完成以上之后,还需要一个mysql连接驱动的jar包。随意找一个mysql连接驱动的jar包,放在oap-libs文件夹下。

完成之后,重启服务,skywalking会自动建表。

5.Skywalking常见指标

cpm 每分钟请求数:

cpm 全称 callper minutes,是吞吐量(Throughput)指标。

SLA 服务等级协议:

SLA 全称Service-Level Agreement,直译为 “服务等级协议”,用来表示提供服务的水平。

在IT中,SLA可以衡量平台的可用性,下面是N个9的计算:

1年 = 365天= 8760小时

99 = 8760 * 1% => 3.65天

99.9 = 8760 * 0.1% =>8.76小时

99.99 = 8760 * 0.01% =>52.6分钟

99.999 = 8760 * 0.001% =>5.26分钟

因此,全年只要发生一次较大规模宕机事故,4个9肯定没戏,一般平台3个9差不多。

但2个9就基本不可用了,相当于全年有87.6小时不可用,每周(一个月按4周算)有1.825小时不可用。

Response Time 响应时间:

表示请求响应时间,对于人来说,响应时间最好不要超过2秒,超过就会觉得卡顿。对于系统接口交互来说,时间自然越短越好,500ms以内是比较好的。

Percent Response 百分位数统计:

表示采集样本中某些值的占比,Skywalking 有 “p50、p75、p90、p95、p99” 一些列值。

途中的 “p99:390” 表示 99%请求的响应时间在390ms以内。

而99%一般用于抛掉一些极端值,表示绝大多数请求。

Slow Endpoint 慢端点:

Endpoint 表示具体的服务,例如一个接口。下面是全局Top N的数据,通过这个可以观测平台性能情况。

监控视角:

Heatmap 热力图:

Heapmap 可译为热力图、热度图都可以,途中颜色越深,表示请求数越多,这和GitHub Contributions很像,commit越多,颜色越深。

横坐标是响应时间,鼠标放上去,可以看到具体的数量。

通过热力图,一方面可以直观感受平台的整体流量,另一方面也可以感受整体性能。

Topology 拓扑图:

拓扑图用来描述平台各服务之间的依赖关系,也可以理解为平台服务的整体结构。

下图是整体的依赖关系,正方体上面的小图标表示应用的类型,如:Spring MVC、H2、Kafka

JVM 信息:

实例中有JVM的堆、GC、CPU、CLR等信息,不过对于监控,Promethus 是个更好的选择。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3. Nmon优点
  • 4. Nmon下载与安装
  • 5. Nmon运行
  • 6. Nmon快捷键说明
  • 1. EasyNmon介绍
  • 2. EasyNmon下载
  • 3. EasyNmon安装
  • 4.EasyNmon启动
  • 5.EasyNmon访问
  • 6.EasyNmonWeb页面
  • 1.Skywalking介绍
  • 2.Skywalking环境搭建
  • 3.Skywalking怎么监控tomcat
  • 4.Skywalking非必须配置
  • 5.Skywalking常见指标
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档