zoukankan      html  css  js  c++  java
  • Zabbix 监控基础知识(CPU 内存 磁盘 网络 进程 负载等常用命令、安装)

    第一章 监控知识基本概述

    1.为什么要使用监控

    1.对系统不间断实时监控
    2.实时反馈系统当前状态
    3.保证服务可靠性安全性
    4.保证业务持续稳定运行

    2.如何进行监控,比如我们需要监控磁盘的使用率

    1.如何查看磁盘使用率 df -h
    2.监控磁盘的那些指标 block、 inode
    3.如何获取具体的信息 df -h|awk '///{print(NF-1)}'
    4.获取的数值到达多少报警 80%

    3.流行的监控工具

    1.Zabbix
    2.Lepus(天兔)数据库监控系统
    3.Open-Falcon 小米
    4.Prometheus(普罗米修斯, Docker、 K8s)

    4.如果去到一家新公司,如何入手监控

    1.硬件监控 路由器、交换机、防火墙
    2.系统监控 CPU、内存、磁盘、网络、进程、 TCP
    3.服务监控 nginx、 php、 tomcat、 redis、 memcache、 mysql
    4.WEB 监控 请求时间、响应时间、加载时间、
    5.日志监控 ELk(收集、存储、分析、展示) 日志易
    6.安全监控 Firewalld、 WAF(Nginx+lua)、安全宝、牛盾云、安全狗
    7.网络监控 smokeping 多机房
    8.业务监控 活动引入多少流量、产生多少注册量、带来多大价值

    
    

    第三章 zabbix 监控快速安装

    1.配置zabbix仓库
    
    [root@m01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    2.安装 Zabbix 程序包,以及 MySQL、 Zabbix-agent
    
    [root@m01 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
    [root@m01 ~]# systemctl start mariadb.service && systemctl enable mariadb.service
    3.创建 Zabbix 数据库以及用户
    
    [root@m01 ~]# mysqladmin password 123456
    [root@m01 ~]# mysql -uroot -p123456
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
    MariaDB [(none)]> flush privileges;
    4.导入 Zabbix 数据至数据库中
    
    [root@m01 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.11/create.sql.gz | mysql -uzabbix -pzabbix zabbix
    5.编辑/etc/zabbix/zabbix_server.conf 文件,修改数据库配置
    
    [root@m01 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_server.conf 
    ...............
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix
    ...............
    6.启动 Zabbix 服务进程,并加入开机自启
    
    [root@m01 ~]# systemctl start zabbix-server.service 
    [root@m01 ~]# systemctl enable zabbix-server.service
    7.配置 Apache 的配置文件/etc/httpd/conf.d/zabbix.conf,修改时区
    
    [root@m01 ~]# grep "Shanghai" /etc/httpd/conf.d/zabbix.conf 
            php_value date.timezone Asia/Shanghai
    8.重启 Apache Web 服务器
    
    [root@m01 ~]# systemctl start httpd

    第四章 WEB安装步骤

    1.浏览器打开地址:http://10.0.1.61/zabbix/setup.php

    2.检查依赖项是否存在异常

    3.配置zabbix连接数据库

    4.配置 ZabbixServer 服务器的信息

    5.最终确认检查

    6.安装成功

    提示已成功地安装了 Zabbix 前端。配置文件/etc/zabbix/web/zabbix.conf.php 被创建。

    7.登陆zabbix

    默认登陆 ZabbixWeb 的用户名 Admin,密码 zabbix

    8.调整字符集为中文

     

     

     

    9.修复中文乱码

    打开图形之后会发现语言为乱码,原因是缺少字体

      

    解决方法:安装字体并替换现有字体

    [root@m01 ~]# yum install wqy-microhei-fonts -y
    [root@m01 ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

    切换到zabbix站点目录

    cd  /var/www/zabbix/include
    sed   -i   's/DejaVuSans/graphfont/g'    defines.inc.php

    再次刷新发现已经变成中文了

    第二章 单机时代如何监控

    CPU信息

    一台物理机的物理CPU的个数,一个CPU上的核数,一个核上面支持的线程数

    有下面的计算公式:

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
    # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

    CPU架构

    多个物理CPU,各个CPU通过总线进行通信,效率比较低,如下

     

    多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信,如下:

     

    多核超线程,每个核有两个逻辑的处理单元,两个线程共同分享一个核的资源,如下: 

     

    从上面执行的结果来看,证明我使用的cpu有2 * 6 = 12核,每个核有2个超线程,所以有24个逻辑cpu。

    查看内 存信息  cat /proc/meminfo

    CPU型号的查询方式[root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

    40 Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz

    # 查看物理CPU个数
    [root@localhost ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    2
    [root@localhost ~]# grep 'physical id' /proc/cpuinfo | sort -u | wc -l
    2
    
    # 查看每个物理CPU中core的个数(即核数)
    [root@localhost ~]#  cat /proc/cpuinfo| grep "cpu cores"| uniq
    cpu cores    : 10
    
    # 查看逻辑CPU的个数
    [root@localhost ~]# cat /proc/cpuinfo| grep "processor"| wc -l
    40
    [root@localhost ~]# lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                40
    On-line CPU(s) list:   0-39
    Thread(s) per core:    2    #thread就是每个core上的硬件线程数,即超线程
    Core(s) per socket:    10  # Core就是平时说的核,双核、四核等,就是每个CPU上的核数
    座:                 2    # == Socket(s):     2  Socket就是主板上插CPU的槽的数量  2个cpu
    NUMA 节点:         2
    厂商 ID:           GenuineIntel
    CPU 系列:          6
    型号:              79
    型号名称:        Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
    步进:              1
    CPU MHz:             1201.110
    CPU max MHz:           3100.0000
    CPU min MHz:           1200.0000
    BogoMIPS:            4399.96
    虚拟化:           VT-x
    L1d 缓存:          32K
    L1i 缓存:          32K
    L2 缓存:           256K
    L3 缓存:           25600K
    NUMA 节点0 CPU:    0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38
    NUMA 节点1 CPU:    1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39
    Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
    [root@localhost ~]# 
    
    
    对操作系统来说,其逻辑CPU的数量就是Socket*Core*Thread

     

    1、CPU 监控命令: w、 top、 htop、 glances

    %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    us 用户态: 跟用户的操作有关 0.3%
    sy 系统态: 跟内核的处理有关 0.3%
    id CPU 空闲: 99.3%


    监控什么:
    us: user state 用户态信息 40%  #例如某个用户 ssh远程到主机执行命令 就是用户态任务 (优先)
    sy: system state 内核态信息 40%   #MySQL进程 关注内核信息
    id: idle 空闲状态 20%   #空闲状态
    注意:https://blog.csdn.net/qq_39823627/article/details/78736650 用户态和内核态  https://www.cnblogs.com/gizing/p/10925286.html

    top

    [root@localhost ~]# top
    top - 10:48:34 up 13 days, 9 min,  1 user,  load average: 0.00, 0.01, 0.05
    Tasks: 391 total,   1 running, 390 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st  #us 用户态使用情况  sy 内核使用情况  id 空闲
    KiB Mem : 32656556 total, 31731496 free,   457388 used,   467672 buff/cache
    KiB Swap: 16449532 total, 16449532 free,        0 used. 31729196 avail Mem 
    
       PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                
    172152 root      20   0  162304   2584   1596 R   0.3  0.0   0:00.13 top                                                                                                                    
         1 root      20   0  196572   9728   4188 S   0.0  0.0   0:10.08 systemd                                                                                                                
         2 root      20   0       0      0      0 S   0.0  0.0   0:00.05 kthreadd                                                                                                               
         3 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/0                                                                                                            
         5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                           
         6 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/u384:0                                                                                                         
         8 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/0                                                                                                            
         9 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                                                                 
        10 root      20   0       0      0      0 S   0.0  0.0   1:55.46 rcu_sched                                                                                                              
        11 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                                                                                          
        12 root      rt   0       0      0      0 S   0.0  0.0   0:02.69 watchdog/0                                                                                                             
        13 root      rt   0       0      0      0 S   0.0  0.0   0:02.58 watchdog/1                                                                                                             
        14 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/1                                                                                                            
        15 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/1                                                                                                            
        16 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0                                                                                                            
        17 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                                                           
        18 root      20   0       0      0      0 S   0.0  0.0   0:00.08 kworker/u386:0                                                                                                         
        19 root      rt   0       0      0      0 S   0.0  0.0   0:02.48 watchdog/2                                                                                                             
        20 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/2                                                                                                            
        21 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/2                                                                                                            
        23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0H                                                                                                           
        24 root      rt   0       0      0      0 S   0.0  0.0   0:02.38 watchdog/3                                                                                                             
        25 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/3                                                                                                            
        26 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/3                                                                                                            
        28 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/3:0H                                                                                                           
        29 root      rt   0       0      0      0 S   0.0  0.0   0:02.76 watchdog/4                                                                                                             
        30 root      rt   0       0      0      0 S   0.0  0.0   0:00.13 migration/4                                                                                                            
        31 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/4                                                                                                            
        32 root      20   0       0      0      0 S   0.0  0.0   0:00.27 kworker/4:0                                                                                                            
        33 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/4:0H                                                                                                           
        34 root      rt   0       0      0      0 S   0.0  0.0   0:02.30 watchdog/5                                                                                                             
        35 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/5                                                                                                            
        36 root      20   0       0      0      0 S   0.0  0.0   0:00.13 ksoftirqd/5 
    top命令结果展示

    htop命令结果: 

    glances

    [root@localhost ~]# glances
    localhost.localdomain (CentOS Linux 7.6.1810 64bit / Linux 3.10.0-957.el7.x86_64)                                                                                    Uptime: 13 days, 0:21:31
    
    CPU  [                                                                           0.2%]   CPU       0.2%  nice:     0.0%   MEM      2.0%  active:     262M   SWAP      0.0%   LOAD    40-core
    MEM  [|                                                                          2.0%]   user:     0.1%  irq:      0.0%   total:  31.1G  inactive:   135M   total:   15.7G   1 min:    0.03
    SWAP [                                                                           0.0%]   system:   0.1%  iowait:   0.0%   used:    622M  buffers:   3.07M   used:        0   5 min:    0.02
                                                                                             idle:    99.8%  steal:    0.0%   free:   30.5G  cached:     302M   free:    15.7G   15 min:   0.05
    
    NETWORK     Rx/s   Tx/s   TASKS 392 (430 thr), 1 run, 391 slp, 0 oth sorted automatically by cpu_percent, flat view
    br0           0b     0b
    em1          6Kb    1Kb     CPU%  MEM%  VIRT   RES   PID USER        NI S     TIME+ IOR/s IOW/s Command 
    em2           0b     0b      5.9   0.1  226M 17.1M172258 root         0 R   0:00.94     0     0 /usr/bin/python /usr/bin/glances
    em3           0b     0b      0.0   0.0     0     0    16 root         0 S   0:00.00     0     0 kworker/1:0
    em4           0b     0b      0.0   0.0     0     0    11 root       -20 S   0:00.00     0     0 lru-add-drain
    lo            0b     0b      0.0   0.0     0     0164632 root         0 S   0:00.00     0     0 kworker/2:0
    virbr0        0b     0b      0.0   0.0     0     0   215 root       -20 S   0:00.00     0     0 kintegrityd
    _rbr0-nic     0b     0b      0.0   0.0     0     0   104 root         0 S   0:02.28     0     0 watchdog/19
                                 0.0   0.0     0     0107025 root         0 S   0:00.00     0     0 kworker/9:1
    DISK I/O     R/s    W/s      0.0   0.0     0     0   169 root         0 S   0:02.21     0     0 watchdog/32
    dm-0           0     7K      0.0   0.0     0     0     2 root         0 S   0:00.50     0     0 kthreadd
    dm-1           0      0      0.0   0.0     0     0    80 root         0 S   0:00.80     0     0 migration/14
    dm-2           0      0      0.0   0.0     0     0  4287 root       -20 S   0:00.00     0     0 xfs-eofblocks/d
    sda1           0      0      0.0   0.0     0     0    85 root         0 S   0:00.80     0     0 migration/15
    sda2           0      0      0.0   0.0     0     0    93 root       -20 S   0:00.00     0     0 kworker/16:0H
    sda3           0     7K      0.0   0.0     0     0   119 root         0 S   0:02.30     0     0 watchdog/22
    sr0            0      0      0.0   0.0     0     0   100 root         0 S   0:00.80     0     0 migration/18
                                 0.0   0.0     0     0   129 root         0 S   0:02.73     0     0 watchdog/24
    FILE SYS    Used  Total      0.0   0.0     0     0  4280 root       -20 S   0:00.00     0     0 xfs-conv/dm-0
    /          1.69G  50.0G      0.0   0.0     0     0   136 root         0 S   0:00.29     0     0 ksoftirqd/25
    /boot       146M  1014M      0.0   0.0     0     0  4268 root       -20 S   0:00.00     0     0 xfs_mru_cache
    /home      1.07G  3.75T      0.0   0.0     0     0  2938 root         0 S   0:00.00     0     0 scsi_eh_6
                                 0.0   0.0     0     0  4288 root         0 S   0:02.40     0     0 xfsaild/dm-0
                                 0.0   0.0     0     0   110 root         0 S   0:00.80     0     0 migration/20
                                 0.0   0.0     0     0   170 root         0 S   0:00.80     0     0 migration/32
                                 0.0   0.0     0     0  2685 root         0 S   0:00.00     0     0 scsi_eh_3
                                 0.0   0.0     0     0  2687 root         0 S   0:00.00     0     0 scsi_eh_4
                                 0.0   0.0     0     0  4155 root       -20 S   0:00.00     0     0 kworker/0:1H
                                 0.0   0.0     0     0 21902 root       -20 S   0:00.00     0     0 kworker/5:1H
    
    
    2019-10-09 11:00:12       No warning or critical alert detected
    
    localhost.localdomain (CentOS Linux 7.6.1810 64bit / Linux 3.10.0-957.el7.x86_64)                                                                                    Uptime: 13 days, 0:21:31
    
    CPU  [                                                                           0.2%]   CPU       0.2%  nice:     0.0%   MEM      2.0%  active:     262M   SWAP      0.0%   LOAD    40-core
    MEM  [|                                                                          2.0%]   user:     0.1%  irq:      0.0%   total:  31.1G  inactive:   135M   total:   15.7G   1 min:    0.03
    SWAP [                                                                           0.0%]   system:   0.1%  iowait:   0.0%   used:    622M  buffers:   3.07M   used:        0   5 min:    0.02
                                                                                             idle:    99.8%  steal:    0.0%   free:   30.5G  cached:     302M   free:    15.7G   15 min:   0.05
    
    NETWORK     Rx/s   Tx/s   TASKS 392 (430 thr), 1 run, 391 slp, 0 oth sorted automatically by cpu_percent, flat view
    br0           0b     0b
    em1          6Kb    1Kb     CPU%  MEM%  VIRT   RES   PID USER        NI S     TIME+ IOR/s IOW/s Command 
    em2           0b     0b      5.9   0.1  226M 17.1M172258 root         0 R   0:00.94     0     0 /usr/bin/python /usr/bin/glances
    em3           0b     0b      0.0   0.0     0     0    16 root         0 S   0:00.00     0     0 kworker/1:0
    em4           0b     0b      0.0   0.0     0     0    11 root       -20 S   0:00.00     0     0 lru-add-drain
    lo            0b     0b      0.0   0.0     0     0164632 root         0 S   0:00.00     0     0 kworker/2:0
    virbr0        0b     0b      0.0   0.0     0     0   215 root       -20 S   0:00.00     0     0 kintegrityd
    _rbr0-nic     0b     0b      0.0   0.0     0     0   104 root         0 S   0:02.28     0     0 watchdog/19
                                 0.0   0.0     0     0107025 root         0 S   0:00.00     0     0 kworker/9:1
    DISK I/O     R/s    W/s      0.0   0.0     0     0   169 root         0 S   0:02.21     0     0 watchdog/32
    dm-0           0     7K      0.0   0.0     0     0     2 root         0 S   0:00.50     0     0 kthreadd
    dm-1           0      0      0.0   0.0     0     0    80 root         0 S   0:00.80     0     0 migration/14
    dm-2           0      0      0.0   0.0     0     0  4287 root       -20 S   0:00.00     0     0 xfs-eofblocks/d
    sda1           0      0      0.0   0.0     0     0    85 root         0 S   0:00.80     0     0 migration/15
    sda2           0      0      0.0   0.0     0     0    93 root       -20 S   0:00.00     0     0 kworker/16:0H
    sda3           0     7K      0.0   0.0     0     0   119 root         0 S   0:02.30     0     0 watchdog/22
    sr0            0      0      0.0   0.0     0     0   100 root         0 S   0:00.80     0     0 migration/18
                                 0.0   0.0     0     0   129 root         0 S   0:02.73     0     0 watchdog/24
    FILE SYS    Used  Total      0.0   0.0     0     0  4280 root       -20 S   0:00.00     0     0 xfs-conv/dm-0
    /          1.69G  50.0G      0.0   0.0     0     0   136 root         0 S   0:00.29     0     0 ksoftirqd/25
    /boot       146M  1014M      0.0   0.0     0     0  4268 root       -20 S   0:00.00     0     0 xfs_mru_cache
    /home      1.07G  3.75T      0.0   0.0     0     0  2938 root         0 S   0:00.00     0     0 scsi_eh_6
                                 0.0   0.0     0     0  4288 root         0 S   0:02.40     0     0 xfsaild/dm-0
                                 0.0   0.0     0     0   110 root         0 S   0:00.80     0     0 migration/20
                                 0.0   0.0     0     0   170 root         0 S   0:00.80     0     0 migration/32
                                 0.0   0.0     0     0  2685 root         0 S   0:00.00     0     0 scsi_eh_3
                                 0.0   0.0     0     0  2687 root         0 S   0:00.00     0     0 scsi_eh_4
                                 0.0   0.0     0     0  4155 root       -20 S   0:00.00     0     0 kworker/0:1H
                                 0.0   0.0     0     0 21902 root       -20 S   0:00.00     0     0 kworker/5:1H
    
    
    2019-10-09 11:00:12       No warning or critical alert detected
    glances命令结果展示

    linux下查看cpu负载有两个命令可以看:uptime 和 top

    linux下查看cpu负载及分析

    其中load average的三个值分别表示1分钟、5分钟、15分钟的CPU负载情况,是运维需要经常关注的
    那么怎么确定这些值展现出什么问题呢?
    分析:

    对于单核处理器来说(值的大小和cpu的核数有关系) ,可以把值分为3个级别

    1)小于1.0 如果值小于1,那么说明系统cpu处理很流畅,不会出现等待,堵塞
    2)等于1.0 说明cpu能力刚刚满负荷,
    3)大于1.0 说明cpu已经超负荷,进程处理需要等待了,效率低下

    对于多核处理器说(假设双核),等于说处理能力增加了一倍,比较的值就是2了,小于2.0才不用担心
        负载:(CPU处理任务过多)  
        a 利用文件进行查看:(监控)
          cat /proc/loadavg
          0.00        0.01              0.05             负载值CPU核数有关
          1分钟平均   5分钟平均负载    15分钟平均负载
          eg: 服务器4核的服务器   -- 负载值3左右,就要关注
              服务器128核的服务器 -- 负载值100(数据库服务器)
          
        b 利用命令进行查看:
          [root@localhost ~]# w
           12:41:06 up 38 min,  2 users,  load average: 0.00, 0.01, 0.05

    那么1/5/15分钟以哪个值为准呢?
    一般5和15分钟才具有参考意义。

    2、内存监控命令: free 

    [root@m01 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           977M        105M        724M        6.6M        148M        729M
    Swap:          1.0G          0B        1.0G
        内存:内存使用情况
        a 利用文件进行查看:
        [root@oldboyedu ~]# cat /proc/meminfo 
        MemTotal:        2030172 kB      --- 内存总的容量
        MemFree:         1738164 kB      --- 内存的空闲容量
        MemAvailable:    1714096 kB      --- 内存的可用容量
        Buffers:            2076 kB      --- baffer空间
        Cached:            90616 kB      --- cacahe空间
        SwapCached:            0 kB      --- 交换分区使用情况
    
        b 利用命令进程查看:
        [root@oldboyedu ~]# free -h      --- 以人类可读方式显示内存容量信息
                      total        used        free      shared  buff/cache   available(*)
        Mem:           1.9G        137M        1.7G        9.5M        148M        1.6G
        Swap:          1.0G        0B(*)       1.0G
        
        内存中有两个存储空间
        buffer 缓冲区 在数据准备存储到磁盘中之前 先放到内存中进行缓冲  写缓冲
        cache  缓存区 数据已经存储到磁盘中之后   再把数据转存到内存中  读缓存

    监控什么:
    内存可用率:
    swap空间使用情况:
    注意dd命令 dd if=/dev/hda of=/root/image count=10 bs=512M
    https://www.cnblogs.com/classics/p/11512709.html

    随着时间的推移,用户不断的增多,服务随时可能扛不住会被 oom(out of memory),当系统内存不足的时候,会触发 oom
    1.当系统内存不足的时候就会大量使用 swap
    2.当系统大量使用 swap 的时候,系统会特别卡
    注意: 有时可能内存还有剩余 300Mb-500Mb,但会发现 swap 依然被使用

    [root@ZabbixServer ~]# dd if=/dev/zero of=/dev/null bs=800M
    [root@ZabbixServer ~]# tail -f /var/log/messages
    Out of memory: Kill process 2227 (dd) score 778 or sacrifice child
    Killed process 2227 (dd) total-vm:906724kB, anon-rss:798820kB, file-rss:0kB

    那单机时代,如何使用 shell 脚本来实现服务器的监控 需求: 每隔 1 分钟监控一次内存,当你的可用内存低于 100m,发邮件报警,要求显示剩余内存
    1.怎么获取内存可用的值 free -m|awk '/^Mem/{print $NF}'
    2.获取到内存可用的值如何和设定的阈值进行比较
    3.比较如果大于 100m 则不处理,如果小于 100 则报警
    4.如何每隔 1 分钟执行一次

    [root@ZabbixServer ~]# cat free.sh
    #!/usr/bin/bash
    HostName=$(hostname)_$(hostname -i)
    Date=$(date +%F)
    while true;do
    Free=$(free -m|awk '/^Mem/{print $NF}')
    #echo $Free
    #echo $Date
    #echo $HostName
    if [ $Free -le 100 ];then
    echo "$Date: $HostName Mem Is < ${Free}MB"
    fi
    sleep 5
    done

    3、磁盘监控命令: df、 iotop

    磁盘: df iotop(检查磁盘io消耗) 
    磁盘使用情况
    磁盘的IO消耗

    Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
    sda 0.80 25.32 33.36 221034 291193
    设备名 每秒传输次数 每秒读大小 每秒写大小 读的总大小 写的总大小

    4、网络监控命令: ifconfig、 route、 glances、 iftop、 nethogs、 netstat

    单位换算
    Mbps 100Mbps/8
    MB 12MB
    iftop 中间的<= =>这两个左右箭头,表示的是流量的方向。
    TX:发送流量、 RX:接收流量、 TOTAL:总流量
    #查看 TCP11 中状态
    netstat -an|grep ESTABLISHED
    netstat -rn # 查看路由信息
    netstat -lntup


    5、网络: iftop glances
    监控什么:
    网络带宽使用情况
    [root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    warning: /var/tmp/rpm-tmp.glz3Fp: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
    Preparing... ################################# [100%]
    Updating / installing...
    1:epel-release-7-12 ################################# [100%]
    [root@localhost ~]# yum -y install iftop





    6、进程: top htop ps glances
    监控什么:
    占用内存情况 tomcat(java)---内存占满(内存溢出)--服务出现僵死(重启服务)
    占用CPU情况: MySQL



    7、负载: w top uptime glances(cpu负载、IO负载等)
    监控什么:
    10分钟负载 <CPU内核数
    15分钟负载





    05. 综合架构监控服务器编写脚本(shell python)
    练习题:
    01. 如何监控内存使用情况:
    正常使用情况: 内存使用率高于80%
    异常使用情况: 内存使用率低于20% 发送报警
    02. 如何监控服务运行状态:
    ps -ef|grep -c [n]ginx
    netstat -lntup|grep xxx
    PS: tomcat服务---僵死


    综合架构监控服务体系结构


    1) 硬件监控 服务器 路由器 交换机 防火墙(SNMP)
    2) 系统监控 CPU 内存 磁盘 网络 进程 TCP(十一种状态)
    3) 服务监控 nginx php tomcat redis memcache mysql
    4) 网站监控 请求时间 响应时间 加载时间 页面监控
    5) 日志监控 ELK(收集 存储 分析 展示) 日志易
      eg:access --- 用户源IP地址 北京1000 上海100 深圳500
    6) 安全监控 Firewalld(4层和4层以上) WAF(Nginx+lua)(应用层面) 安全宝 牛盾云 安全狗
    7) 网络监控 smokeping 监控宝 站长工具 奇云测 多机房
    8) 业务监控 (数据库信息)活动产生多少流量 产生多少注册量 带来多少价值

     

     

  • 相关阅读:
    三伏天,华为路由器 AX3 PRO 发热严重,网络断流,改装散热清凉一夏
    MVC扩展(ControllerFactory VS DependencyResolver)
    MVC扩展(Templated Razor Delegates)
    RouteDebugger分析
    MVC扩展(ModelBinder)
    ORACLE 创建多个游标并嵌套循环
    java final初解
    oracle partition by 与 partition by ... order by 分组
    JS实现函数重载2
    使用XslCompiledTransform将XML 转HTML
  • 原文地址:https://www.cnblogs.com/linux985/p/11639578.html
Copyright © 2011-2022 走看看