一、监控对象
1、监控对象的理解:cpu,内存 是怎么工作的,运行原理等
2、监控对象的指标:例如 cpu使用率等
3、确定性能基准线:怎么样算故障,cpu负载多少才算高
二、监控范围
1、硬件监控:服务器硬件的故障,可以使用ipmi监控和机房巡检
(1)、远程控制卡:在服务器上独立的硬件,可以插网线的,可以查看服务器硬件的状态,控制服务器启停,DELL服务器-iDRAC,HP服务器-ILO,IBM服务器-IMM,linux可以使用IPMI对服务器进行远程监控配合远程控制卡上的BMC控制器监听控制服务器
linux可以使用ipmitool管理工具进行远程控制管理,可以本地控制和远程控制
A、硬件需要支持
B、操作系统需要支持,linux都支持
C、需要有管理工具-ipmitool
yum install -y OpenIPMI impitool
systemctl start ipmi
ipmi配置网络,有两种方式:
A、ipmi over lan通过网卡流量走
B、进行独立的配置,通过服务器上的小面板进行配置
(2)、路由器和交换机监控:SNMP(简单网络管理协议)可以get收集数据和set设置,这里使用v2c版本,其中有两个很重要的名词MIB和OID
MIB-管理信息库(监控内容对象的库)
OID-库中每个对象的唯一标识符,是一个字符串或者一串数字,通过标识符查看监控对象具体的情况,如cpu五分钟的负载,需要的OId可以在网络上搜索
yum install -y net-snmp net-snmp-utils
注:被监控端net-snmp,server端安装utils工具
cd /etc/snmp/
mv snmpd.conf snmpd.conf.bak
echo rocommunity abc 192.168.56.11 > snmpd.conf
注:abc是取的组名称,ip是被允许的访问ip地址
systemctl start snmpd
注:snmp默认监听udp的161端口
获取信息:snmpget -v2c abc 192.168.56.11 1.3.6.1.2.1.1.3.0
注:最后面是OID
2、操作系统监控:cpu、内存、硬盘等
CPU
(1)、cpu三个重要的概念–上下文切换,运行队列(负载),使用率
A、上下文切换:微观角度一个cpu同一时刻只能进行一个任务,cpu调度器能让进程不断切换执行,进程的切换过程就是上下文切换
B、运行队列(负载):cpu调度器会维持一个运行队列,使进程排列,排列的队列越多表示越繁忙,负载也就越高
C、使用率:用户态和内核态,应用程序一般运行在用户态,需要调用文件之类的,就会进入到内核态

(3)、确定服务类型
IO密集型–例如数据库
CPU密集型– web、mail
(4)、确定性能基准线(经验值)
A、运行队列:一般1-3个线程,一个4核cpu,每核最多3个线程,负载不超过12是相对比较好的状态
B、CPU使用率:65%-70% 用户态利用率
30%-35% 内核态利用率
0%-5% 空闲
(5)、CPU监控工具
A、Linux自带的top

Us:用户态的百分比
Sy:内核态的百分比
Ni:改变过优先级的进程占用CPU的百分比
Id:空闲的百分比
Wa:IO等待占用的百分比
Hi:处理硬件中断的百分比
Si:处理软件中断的百分比
St:虚拟化抢占cpu的百分比
B、sysstat工具
yum -y install sysstat
vmstat 1 10 注:每个1秒钟获取一次,一共获取10次

r:当前运行队列的状态,cpu还没执行
b:进程阻塞,等待IO完成的状态
cs:上下文切换
mpstat 1 10

内存:以“页”为单位,最小4KB一页,分为只读页,脏页,匿名页
1、两个概念,寻址和空间(可以内存合并,分成大页内存)
2、工具free

shared:共享内存,进程间通信使用的内存
vmstat 1 10

swpd:交换分区的大小
free:可用内存的大小
si:数据从交换分区读取到内存的大小
so:数据从内存读取到交换分区的大小
bi:硬盘(块)读到内存的大小
bo:内存到块(硬盘)的大小
硬盘:块
IOPS IO`s Per Second 每秒io请求次数
顺序IO:快,某些情况下可能接近内存的速度,例如kafka
随机IO:慢,硬盘寻址
工具:iotop,类似于top
Yum install -y iotop
iostat(sysstat工具里面的)

tps:设备每秒的传输次数
网络
工具:iftop
yum -y install iftop

系统监控分析工具:IBM的nmon,可以监控系统和分析系统产生图表
下载nmon后是一个可执行文件,加上执行权限,在windows下载nmonanalyser.xls工具,在linux中执行./nmonxxxx -c 10 -s 10 -f -m /tmp/ (会产生一个文件以主机名时间命名的文件)
注:-c 次数 -s 间隔时间 -f产生文件 -m文件放的位置
然后打开analyser.xls,点击xls中的按钮,加载产生的文件,加载后会保存一个图表文件,就是我们需要的图表(wps可能不行,office行)
3、应用服务监控:各种服务如apache
采集 存储 展示 告警
开源工具
Nagios(报警)+Cacti(绘图)
Zabbix 直接监控IPMI SNMP JVM Server-Agent方式,agent分主动被动
Gangla
4、业务监控:比如电商今天的下单数量之类的,需要前后端代码编写统计
未经允许不得转载:天府数据港官方信息博客 » 【学习】Linux多维监控体系基础
客官点个赞呗! (2)