监控平台搭建-磁盘

磁盘:随着大数据快速发展、人工智能、自动化、云平台。数据量指数的增长。磁盘的使用量也在增长。目前的机器基本上采用SSD或者SATA盘,一直有人比较那个好。会不会使用时间短。寿命不长。但是最新的某科技公司的测试评论。已经显示了。SSD更安全,速度更快(SATA真的OUT)。SSD 是没有扇区、扇面、没有扫扇道...这些概念。本文讲解一下磁盘监控项。与一些排查思想。

常用的磁盘检查命令:

vmstat内存读写情况、iostat查看磁盘读写情况、top查看应用负责、strace -p 查看应用执行动作、sar、df、 MegaCli64、dd、hdparm、du、cat /proc/$pid/io、/proc/sys/vm/block_dump...

监控平台监控指标:

1)分区读写监控

测试所有已挂载分区是否可读写,作为基础监控项(非0读写有问题)

cat /proc/mounts

2)磁盘相关采集项

df.bytes.free:磁盘可用量

df.bytes.free.percent:磁盘可用量占总量的百分比

df.bytes.total:磁盘总大小

df.bytes.used:磁盘已用大小

df.bytes.used.percent:磁盘已用大小占总量的百分比(监控这个指标报警)

df.inodes.total:inode总数

df.inodes.free:磁盘可用inode数目

df.inodes.free.percent:可用inode百分比

df.inodes.used:磁盘已用的inode数据

df.inodes.used.percent:已用inode百分比(监控这个指标报警)

3)IO相关采集项

计算方法:每秒采集一次/proc/diskstats

disk.io.ios_in_progress:当前正在运行的实际I / O请求数

disk.io.msec_read:所有读取花费的总计ms数

disk.io.msec_total:ios_in_progress> = 1的时间量

disk.io.msec_weighted_total:统计最近的I / O完成时间和积压。

disk.io.msec_write:所有写入所花费的总时间

disk.io.read_merged:相邻的读取请求合并在单个req中

disk.io.read_requests:读取成功完成的总数(汇总)

disk.io.read_sectors:成功读取的扇区总数

disk.io.write_merged:相邻的写请求合并在单个请求中

disk.io.write_requests:成功写入磁盘的总次数

disk.io.write_sectors:成功写入扇区数的总次数

disk.io.read_bytes:单位是byte的数字

disk.io.write_bytes:单位是byte的数字

4)下面几个值就是iostat -x 1看到的值

disk.io.avgrq_sz:平均请求扇区的大小

disk.io.avgqu-sz:是平均请求队列的长度。毫无疑问,队列长度越短越好

disk.io.await:每一个IO请求的处理的平均时间(单位是毫秒)

disk.io.svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)

disk.io.util:在统计时间内所有处理IO时间,除以总共统计时间。是个百分数,比如56.43,表示56.43%。目前我的公司就是监控这个指标报警,之后去排查问题

5)一些常见的linux磁盘的专业术语(具体请百度)

如何提高机器的磁盘性能

1)首先想到的就是换性能好的磁盘。这个好像是最高效的方式,SSD具有更好的性能,访问数据都是随机的。更小的功耗。LVM(逻辑卷)的扩容。

2)然后就是Raid (RAID0, RAID1, RAID5, RAID0+1)。通过raid实际数据在多块磁盘的并发读写和数据备份。增强磁盘的可用性和容错能力

3)确定机器的上线的需求。运维人员一定要知道,机器的使用场景。小文件(占用Inode例如图片)读写瓶颈是磁盘的寻址(tps),大文件(占用磁盘容量)读写的性能瓶颈是带宽

4)Linux有一句话(一切皆文件)。空闲内存作文件系统访问的cache,因此系统内存越大存储系统的性能也越好

5)最后就是架构层面的优化,CDN(nginx、squid..),机房内部反向代理(squid),memcached,消息队列,缓存机制。总之就是静态的采用缓存机制。非静态的优化性能,减小调用磁盘

那些问题导致磁盘缓慢:

1)应用程序设计的缺陷和数据库查询的滥用、操作人员的失误、都有可能导致性能问题

2)性能瓶颈可能是因为程序设计缺陷/内存太小/磁盘有损坏、性能差,但是最终都是CPU耗尽的结果(这就话很实用),系统负载极高,响应迟缓,甚至暂时失去响应。登陆不上机器。

3)由于linux的swap机制。物理内存不够时会使用交换内存(可以调优参数),大量使用swap会带来磁盘I0进而导致CPU消耗

4)可能造成cpu瓶颈的问题:频繁执Perl,php,java程序生成动态web;数据库查询大量的where子句、order by/group by排序……

5)可能造成内存瓶颈问题:高并发用户访问、系统进程多(每个进程都会消耗内存,驻留内存),java内存泄露……

6)可能造成磁盘IO瓶颈问题:生成cache文件,数据库频繁更新,或者查询大表……

如何查看磁盘缓慢(来点实际的)

1)swap(当内存不足时会调用SWAP)

a.si列表示由磁盘调入内存,也就是内存进入内存交换区的数量;

b.so列表示由内存调入磁盘,也就是内存交换区进入内存的数量

c.一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要考虑是否增加系统内存。或者扩展机器提高可用性

2)IO

a.bi列表示从块设备读入的数据总量(即读磁盘,单位KB/秒)

b.bo列表示写入到块设备的数据总量(即写磁盘,单位KB/秒)

这里设置的bi+bo参考值为1000,如果超过1000,而且wa值比较大,则表示系统磁盘IO性能瓶颈。

下篇文章会介绍内存的监控项--上51CTO评论我的文章。及时改进

时间: 2024-12-22 13:29:04

监控平台搭建-磁盘的相关文章

Cacti监控平台搭建

作为一名Linux SA,日常最重要的就是保证网站正常稳定的运行,我们需要实时监控网站.服务器的运行状态,这时需要借助开源软件(cacti.nagios.zabbix等)监控来实现. Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdtool是cacti的关键. Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成.snmp抓到数据不是存

监控平台搭建-监控项

本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监控工具的优缺点.写一些新搭建监控平台.需要哪些监控项.避免监控一头雾水.具体每个监控项会有若干小项. 监控的简单架构 具体一个机器监控项.基本就是下面的这些.尽量少的监控项,更加高效的分析报警 (1)首先一定是基础的硬件层面(机器的的基础组件) ipmi .监控cpu.温度.卡槽.raid状态.内存 (2)系统层面监控.(这里只介

Nagios监控平台搭建

Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios和cacti有什么区别呢?简单的来说cacti主要监控流量,服务器状态页面展示:nagios主要监控服务,邮件及短信报警灯,当然也有简单的流量监控界面,二者综合使用效果更好.(附Nagios工作简单逻辑图) Nagios监控客户端需要借助插件及NR

Linux监控平台搭建

linux监控平台介绍 zabbix监控介绍 安装zabbix linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等cacti.smokeping偏向于基础监控,成图非常漂亮cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图o

linux监控平台搭建(1)监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码

            (一)监控平台介绍 (二)zabbix监控介绍 (三)安装zabbix 实验需要两台机器:服务端(133)和客户端(134) 1.首先在服务端安装Zabbix的yum扩展源. 下载地址: www.zabbix.com/download wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm 2.安装一下这个rpm包 rpm -ivh zabbix-re

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

https://www.cnblogs.com/Detector/p/10104254.html 前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率.但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效果实在一般:在Windows下渲染效果不好,在linux环境(非GUI环境)下更是无法使用,这一点我在如何选择性能测试工具中有过简单的描述. 所以,在做性能测试时,为Jmete

linux监控平台搭建-内存

上一篇文章说的硬盘.就写一下.更加重要的东西.在手机上面是RAM.机器是memory.内存是按照字节编址.每个地址的存储单元可以存放8bit的数据.cpu 通过内存地址获取一条指令和数据.内存溢出out-of-memory killer 负责终止使用内存过多的进程.详细的细节请查看/var/log/messages文件.建立索引常会发生这种情况.管理员可以限制服务不被OOM.数据的预热.压力测定时.自动化测试.灰度发布.监控采集. 每一个内存都是进程产生的.到底什么是内存.其实进程是有自己的虚拟

linux监控平台搭建-cpu

目前服务器的主流CPU是intel或者AMD.到底主频是什么.多核.多线程.并发.并行.超频.一级缓存.二级缓存.三级缓存.i386.x86 cpu:含有算术逻辑.控制.记忆等单元 频率:就是CPU每秒钟可以进行的工作次数.3.0GHz 这个CPU在一秒内进行3.0*10(9) 外频:CPU与外部组件进行数据传输.运算是的速度.最好与内存相匹配. 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数:

Nagios监控平台搭建--安装篇

一.服务端安装: 1.在服务端搭建lamp环境 Yum  install -y  httpd  php 2.服务端安装nagios主程序 Useradd  -s /sbin/nologing ./configure  --prefix=/usr/local/nagios  --with-command-group=nagios ./configure时如果发现perl  command not  found时要安装 perl这个包,否则make  all时会报错  yum install  -y