目录:
- 性能分析系统级别指标iocpumemnet
- io指标监控命令iostat
- io指标监控命令df
- cpu指标监控命令uptime
- cpu指标监控命令cat/proc/cpuinfo
- cpu指标监控命令mpstat
- cpu指标监控命令sar
- mem指标监控命令cat/proc/meminfo
- mem指标监控命令vmstat
- mem指标监控命令free
- net指标监控命令ping
- net指标监控命令ifconfig
- net指标监控命令hostname
- net指标监控命令netstat
- top命令使用
- top
- ps命令
- ps
- nmon工具
- nmon简介
- nmon使用
- nmon监控与结果分析
- nmon监控与结果分析
- 基本性能监控系统使用
- 基本性能监控系统组成
- 环境搭建
- 环境配置与监控环境的使用
1.性能分析系统级别指标 io cpu mem net
io 指标监控命令 iostat
- 命令描述: 监控系统设备的IO负载情况
- 命令演示: iostat
io 指标监控命令 df
- 命令描述: 列出⽂件系统的整体磁盘空间使⽤情况
- 命令演示: df -h
cpu 指标监控命令 uptime
- 命令描述: 用于显示系统总共运行了多长时间和系统的平均负载
- 命令演示: uptime
cpu 指标监控命令 cat /proc/cpuinfo
- 命令描述: 查看CPU的配置信息
- 命令演示: cat /proc/cpuinfo
cpu 指标监控命令 mpstat
- 命令描述: 是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标
- 命令演示: mpstat
cpu 指标监控命令 sar
- 命令描述: 是一个Linux下的监控工具,可以用来监控CPU性能状况
- 命令演示: sar -u 1 1
mem 指标监控命令 cat /proc/meminfo
- 命令描述: 查看内存相关配置信息
- 命令演示: cat /proc/meminfo
mem 指标监控命令 vmstat
- 命令描述: 用来获得有关进程、内存、虚拟内存、页面交换空间及 CPU活动的信息
- 命令演示: vmstat
mem 指标监控命令 free
- 命令描述: 显示系统使用和空闲内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
- 命令演示: free, free -g
net 指标监控命令 ping
- 命令描述: 向目标系统发送报文,检测网络连通性的工具
- 命令演示: ping
net 指标监控命令 ifconfig
- 命令描述: 用于获取网卡配置与网络状态等信息
- 命令演示: ifconfig
net 指标监控命令 hostname
- 命令描述: 显示本机的hostname, 修改本机的hostname
- 命令演示: hostname
net 指标监控命令 netstat
- 命令描述: 用于显示各种网络相关信息,如网络连接,路由表,接口状态等
- 命令演示:
- netstat -an
- netstat -at
- netstat -au
- netstat -p
2.top 命令使用
top
- 命令描述: 实时的显示系统中各个进程的资源占用情况
- 统计信息: 前五行是系统的整体统计信息。
- 进程信息: 统计信息下方类似表格的区域显示的是进程的详细信息,默认5秒刷新一次。
- 命令演示: top
3.ps 命令
ps
- 命令描述: ps是命令是 Process Status 的缩写,linux下最常用的进程查看命令;
- 使用技巧:
- 可以配合管道命令 | 和查找命令 grep 同时执行来查看特定进程。
- 可以配合管道命令 | 和文本分析命令 awk 同时执行来定位具体进程参数值
- 命令演示:
- ps
- ps -aux
- ps -ef
- ps -ef | grep | awk
4.nmon 工具
nmon 简介
- nmon是一种可以在 AIX 与 Linux 操作系统上使用的性能监控与分析工具
- 使用技巧:
- 下载位置:http://nmon.sourceforge.net , 从 Binaries 中下载可执行程序包
- 解压之后选择使用所在操作系统对应的可执行程序
- 可以使用 ln 命令将 nmon 程序软链接添加到 /urs/bin 目录下,这样可以通过 nmon 命令直接运行该程序 参考命令: ln -s nmon
nmon 使用
- 运行 nmon 直接启动
- 常用快捷参数
- c: cpu
- m: 内存
- d: 硬盘
- n: 网络
- t: top进程
- q: 退出
nmon 监控与结果分析
- 启动 nmon 后台监控程序
- 命令: nmon -f -t -s 10 -c 10 -m
- -f 监控结果以文件形式输出,默认:机器名_日期_时间
- -F 指定输出文件名
- -t 显示资源占用率高的进程
- -s 采样频率,单位秒
- -c 采样次数
- -m nmon 数据文件保存的目录
nmon 监控与结果分析
- 图形化分析工具下载位置: https://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
- 用 Excel 打开,需要启用宏
- 在 Analyser 文件中打开性能监控数据文件 *.nmon 浏览图形化性能分析报告
5.基本性能监控系统使用
基本性能监控系统组成
- Collectd + InfluxdDB + Grafana
- Collectd 是一个守护(daemon)进程,用来定期收集系统和应用程序的性能指标,同时提供了以不同的方式来存储这些指标值的机制;
- InfluxDB 开源的、高性能的时序型数据库
- Grafana 一个非常酷的数据可视化平台,常常应用于显示监控数据,支持多种数据源
环境搭建
- 利用 Docker 部署环境
- 步骤:
- 准备数据文件 types.db collectd.conf
- 启动influxDB
- 启动grafana
- 启动collectd
准备数据文件 types.db collectd.conf
> docker create --name temporary mwaeckerlin/collectd
> docker cp temporary:/usr/share/collectd/types.db types.db
> docker cp temporary:/etc/collectd/collectd.conf collectd.conf
> sudo mkdir -p <your path>
> sudo mv -i types.db <your path>
> sudo mv -i collectd.conf <your path>
> docker rm temporary
启动 InfluxDB
docker run -d \--name influxdb \-e INFLUXDB_COLLECTD_ENABLED=true \-e INFLUXDB_COLLECTD_DATABASE=_internal \-e INFLUXDB_COLLECTD_TYPESDB=/usr/share/collectd/types.db \-e INFLUXDB_COLLECTD_SECURITY_LEVEL=none \-v <your path>/types.db:/usr/share/collectd/types.db \influxdb:1.8
启动 grafana
docker run -d \--name=grafana \-p 3000:3000 \--link influxdb:influxdb grafana/grafana
-
默认用户名 / 密码: admin / admin
启动 collectd
docker run -d \--name collectd \--hostname localhost \--link influxdb:influxdb \-v <your path>/collectd.conf:/etc/collectd/collectd.conf \mwaeckerlin/collectd
环境配置与监控环境的使用
- Grafana中配置数据源
- 类型: InfluxDB
- URL: http://influxdb:8086
- Database: _internal
- Grafana 中配置Dashboard
- Import id 555
- collectd 启用对应的监控数据
- 编辑配置文件 collectd.conf
- 启用对应的监控选项