监控体系(二)

监控概述

监控对象:
1.监控对象的理解:CPU 是怎么工作的。原理
2.监控对象的指标:CPU使用率 CPU负载 CPU个数 上下文切换
3.确定性能基准线:怎么样才算故障?CPU负载多少才算高

监控范围:
1.硬件监控 服务器的硬件故障
2.操作系统监控 CPU 内存 IO 进程
3.应用服务监控
4.业务监控


硬件监控

服务器:

远程控制卡:DELL服务器:iDRAC
HP服务器:ILO
IBM服务器:IMM

方式:Linux就可以使用IPMI BMC控制器

工具:ipmitool
1.硬件要支持
2.操作系统 Linux IPMI
3.管理工具 ipmitool

安装:yum install -y OpenIPMI ipmitool

启动:systemctl start ipmi

帮助:ipmitool help

使用IPMI有两种方式 1 本地调用 2 远程调用 (IP地址 用户名和密码)

ipmi配置网络,有两种方式:
1. ipmi over lan(通过网卡)
2. 独立(通过插入网线控制)

硬件监控方式:   1.使用IPMI   2.机房巡检

snmp安装: yum install -y net-snmp net-snmp-utils

snmp配置:

1
2
3
cd /etc/snmp/
mv snmpd.conf snmpd.conf.bak
vim snmpd.conf

snmp启动: systemctl start snmpd

snmp默认udp启动端口:netstat -nulp 

snmp默认tcp启动端口:netstat -ntlp 

  

snmp参考文档:http://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html

1
snmpget -v2c -c shhnwangjian 192.168.137.11 1.3.6.1.2.1.1.3.0

1.3.6.1.2.1.1.3.0为OID

1
snmpget -v2c -c shhnwangjian 192.168.137.11 1.3.6.1.4.1.2021.10.1.3.1

这条命令表示获取一分钟系统平均负载

1
snmpwalk -v2c -c shhnwangjian 192.168.137.11 1.3.6.1.4.1.2021.10.1.3

这条命令表示获取一分钟、5分钟、15分钟的系统平均负载,等同于uptime

SNMP常用OID

路由器和交换机:

通过SNMP监控

系统监控

重要指标: CPU 、内存 、IO Input/Output(网络、磁盘)

线程概念文章:

http://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=416915373&idx=1&sn=f80a13b099237534a3ef777d511d831a&scene=0#wechat_redirect&utm_source=tuicool&utm_medium=referral

1、CPU

三个重要的概念:(单位:时间片)
 - 上下文切换:CPU调度器实施的进程的切换过程,上下文切换
 - 运行队列(负载):运行队列
 - 使用率:

确定服务类型:

 - IO密集型 数据库
 - CPU密集型 web mail

确定性能基准线:

 - 运行队列:1-3线程 1CPU 4核 负载不超过12

 - CPU使用:65%-70% 用户态利用率
                    30-35% 内核态利用
                    0%-5% 空闲

                   上下文切换: 越少越好 

监控工具:top vmstat mpstat

top: 按P CPU使用率排序;按M 内存使用率排序

vmstat:vmstat 1 10  每隔1秒获取1次,次数10次

企业面试题:如果系统负载达到200了,SSH连接不上。如何让SSH连接上 

解答: 可以改变SSH的优先级

linux用户态和内核态

2、内存

单位: 页 4KB (读取按页为单位操作)

寻址、空间

监控工具:free、vmstat

根据available 查看可用内存

shared,进程间通信使用共享内存

si 数据从交换分区读取到内存的大小

so 数据从内存读取到交换分区的大小

3、硬盘

单位: 块

监控工具: df -h 、iotop (安装 yum install -y iotop)、iostat

IOPS  IO's Per Second 每秒的IO请求次数

分类:顺序IO 、随机IO

4、网络

监控工具:iftop、Smokeping、Piwik

http://alibench.com

http://ce.cloud.360.cn

http://ping.chinaz.com/

http://www.webpagetest.org/  (国外访问站点的性能测试网址)

IBM    nmon 二进制      性能测试用

http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/index.html

链接:http://pan.baidu.com/s/1boXV6R9 密码:sblf 

chmod +x nmon16e_x86_rhel72 
./nmon16e_x86_rhel72
-c  采集的次数
-s  采集的间隔时间
-f  生成一个文件
-m  指定生成文件位置

我们可以直接输入一个c 一个m一个d。这个是实时的一个状态 

./nmon16e_x86_rhel72 -c 10 -s 10 -f -m /tmp/
ls
localhost_160831_0435.nmon  nmon16e_x86_rhel72

前面为主机名后面是日期(年月日时分) 
因为测试可能需要,我们要制作成表格,所以现在将文件上传到桌面上 
我们打开下载的工具

解压文件夹,打开nmon analyser v34a.xls 

点击Analyse nmon data找到我们刚刚复制出来的文件,就可以看到了。 

 

应用监控

举例Nginx

依赖模块安装: yum install -y gcc glibc gcc-c++ pcre-devel openssl-devel wget

cd /usr/local/src

wget http://nginx.org/download/nginx-1.10.1.tar.gz

tar zxf nginx-1.10.1.tar.gz 

备注: configure 是Shell脚本。执行它的作用:生成 Makefile文件

创建nginx用户 useradd -s /sbin/nologin -M nginx

编译安装

1
2
3
4
./configure --prefix=/usr/local/nginx-1.10.1
--user=nginx --group=nginx
--with-http_ssl_module
--with-http_stub_status_module

make

make install

ln -s /usr/local/nginx-1.10.1/ /usr/local/nginx

查看80端口是否被暂用,启动nginx

1
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

netstat -ntlp

启动状态监控

1
2
3
4
5
6
7
8
9
10
server {
        listen       9003;
        server_name  0.0.0.0;
        location /nginx_status {
                stub_status on;
                access_log off;
                allow 127.0.0.1;
                deny all;
        }
}

/usr/local/nginx/sbin/nginx -s reload

 浏览器访问

Active connections:当前活跃的连接数 

Reading:当前读取客户端heardr的数量 

Writing:当前返回给客户端heardr的数量  #如果这个指标飙升,说明是后面的节点挂掉了,例如数据库等。 

Waiting:大体意思是已经处理完,等待下次请求的数量 

提示:我们只需要关注活动链接即可

原文地址:https://www.cnblogs.com/wuhg/p/10487644.html