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) 業務監控 (數據庫信息)活動產生多少流量 產生多少注冊量 帶來多少價值

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM