• 监控体系(二)


    监控概述

    监控对象:
    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:大体意思是已经处理完,等待下次请求的数量 

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

  • 相关阅读:
    Eletron 打开文件夹,截图
    nodejs 与 json
    drupal sql 源码解析query.inc 文件
    The maximum column size is 767 bytes (Mysql)
    php 过滤emoji
    Mysql delete操作
    Mysql update 一个表中自己的数据
    form 表单排序
    jquery parents用法
    MYSQL数据库重点:流程控制语句
  • 原文地址:https://www.cnblogs.com/wuhg/p/10487644.html
Copyright © 2020-2023  润新知