<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Linux系統-部署-運維系列導航

       

      服務器監控指標

      服務器日常監控巡檢時,總會遇到不同服務器的不同告警,使用不同的監控工具,監控的指標有所不同,但最基礎的服務器資源指標,基本都支持,比如zabbix + ,Prometheus + Grafana。
      本文只針對服務器資源的相關告警,總結常用的處理方案,其他業務性指標(尤其與業務系統相關),需要針對具體業務再分析,不過處理方案的思想是相通的。
       

      CPU告警

      通過 top 命令,查看所有進程運行情況,在結果界面,通過 shift + p 切換視圖,按照CPU使用率倒序排列,找出CPU使用率最高的進程依次分析(查看 %CPU 列)
      特別關注:top命令顯示的 CPU 使用率是按照單核計算的,即100%代表使用了單核的滿負荷,如果服務器為4核,則理論最大為400%
      [root@localhost ~]# top
      Tasks: 197 total,   1 running, 196 sleeping,   0 stopped,   0 zombie
      %Cpu(s):  1.2 us,  1.3 sy,  0.0 ni, 97.3 id,  0.2 wa,  0.0 hi,  0.1 si,  0.0 st
      KiB Mem :  8008984 total,  1046216 free,  4712336 used,  2250432 buff/cache
      KiB Swap:  7208956 total,  4409068 free,  2799888 used.  2373196 avail Mem 
      
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                          
       1456 root      20   0   10.5g 361648 242164 S   3.0  4.5  12461:08 clickhouse-server --config-file=/etc/clickhouse-+
       1089 root      20   0 5755452 238580   2644 S   1.7  3.0   4330:47 java -jar V2XRealtimeServer.jar                  
       1086 root      20   0 5822324 319628   3028 S   1.3  4.0   4161:58 java -jar V2XRawDataServer.jar                   
      10174 root      20   0 5819584 963512   4420 S   1.3 12.0   3619:07 java -jar V2XWebSocketServer.jar                 
       2105 mysql     20   0 3205688 907124   7584 S   0.7 11.3   1462:50 /usr/sbin/mysqld --daemonize --pid-file=/var/run+
       1090 root      20   0  148952   4648    780 S   0.3  0.1 420:01.32 /usr/local/redis/bin/redis-server 0.0.0.0:7379 [+
      17013 root      20   0  162128   2344   1600 R   0.3  0.0   0:00.04 top                                              
          1 root      20   0  125516   2636   1492 S   0.0  0.0 133:31.76 /usr/lib/systemd/systemd --switched-root --syste+
       
      根據不同進程的情況,可能會有以下現象
      1. CPU持續告警,一般為計算型應用程序,如數據清洗、轉換、計算等,即該應用運行時本就會使用更多CPU資源
      2. 偶然告警,只要告警不超過CPU總資源的70%,不引起系統卡頓,原則上可以暫時不用處理
      3. 偶然告警,但告警頻率逐漸增高,可能由于應用程序bug、漏洞引起
      4. 特定時間段告警,一般跟業務關聯性較高,比如流量高峰
      常用處理方案
      1. 根據實際業務需要,可以限制單應用的運行性能(如集群部署時,可以適當降低單節點性能),則調整應用相關配置,限制線程數、并發量等
      2. 如果公共組件該版本有相關漏洞缺陷,則根據官方指示,修補漏洞,或者升級版本
      3. 解決業務流量高的問題,使流量更均衡,如集群部署,消息緩存,負載均衡,定時任務調整等
      4. 擴容服務器資源,如增加CPU資源,或者將應用服務遷移至資源性能更高的服務器

      內存告警

      通過 top 命令,查看所有進程運行情況,在結果界面,通過 shift + M 切換視圖,按照 內存 使用量倒序排列,找出內存使用量最高的進程依次分析(查看 RES 和 %MEM 列)
      [root@localhost ~]# top
      Tasks: 195 total,   1 running, 194 sleeping,   0 stopped,   0 zombie
      %Cpu(s):  1.3 us,  1.1 sy,  0.0 ni, 97.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
      KiB Mem :  8008984 total,   969272 free,  4721960 used,  2317752 buff/cache
      KiB Swap:  7208956 total,  4409068 free,  2799888 used.  2363556 avail Mem 
      
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                          
      10174 root      20   0 5819584 963512   4420 S   1.3 12.0   3619:52 java -jar V2XWebSocketServer.jar                 
      10166 root      20   0 5768092 921932   4252 S   0.0 11.5 364:51.16 java -jar V2XStatisticsServer.jar                
       2105 mysql     20   0 3205688 907124   7584 S   0.0 11.3   1463:03 /usr/sbin/mysqld --daemonize --pid-file=/var/run+
       1087 root      20   0 5809328 449920   2736 S   0.0  5.6 226:25.74 java -jar V2XApiServer.jar                       
       1456 root      20   0   10.5g 369520 242164 S   3.0  4.6  12463:01 clickhouse-server --config-file=/etc/clickhouse-+
       1086 root      20   0 5822324 319628   3028 S   1.3  4.0   4162:45 java -jar V2XRawDataServer.jar                   
       1064 root      20   0 5702928 286440   2272 S   0.3  3.6 721:06.60 java -jar msbus.jar                              
       1089 root      20   0 5755452 238580   2644 S   1.7  3.0   4331:30 java -jar V2XRealtimeServer.jar                  
      27891 root      20   0 1111052  25192   2324 S   0.0  0.3   4:21.71 /usr/bin/dockerd -H fd:// --containerd=/run/cont+
       
      常用處理方案
      1. 調整應用服務相關參數,限制內存占用、緩存空間大小、緩存隊列長度、緩存保留時間、內存管理參數等
      2. 擴容服務器內存資源,或將應用服務遷移至高性能服務器

       

      磁盤空間容量告警

      通過 df -h 命令,查看磁盤各分區占用量(查看 Use% 和 Mounted on 列),然后使用 du -sh 命令逐級查找分區內磁盤使用量最高的目錄
      [root@ecs-fb36-0002 ~]# df -h
      Filesystem                                    Size  Used Avail Use% Mounted on
      devtmpfs                                       16G     0   16G   0% /dev
      tmpfs                                          16G  832K   16G   1% /dev/shm
      tmpfs                                          16G  1.7G   14G  11% /run
      tmpfs                                          16G     0   16G   0% /sys/fs/cgroup
      /dev/mapper/klas_host--10--169--183--49-root   95G  9.6G   86G  11% /
      tmpfs                                          16G  3.5M   16G   1% /tmp
      /dev/vda2                                    1014M  217M  798M  22% /boot
      /dev/vda1                                     200M  5.8M  195M   3% /boot/efi
      /dev/mapper/vgdata-lvdata                     100G   56G   45G  56% /data
      tmpfs                                         3.1G     0  3.1G   0% /run/user/993
      tmpfs                                         3.1G     0  3.1G   0% /run/user/1000
      
      #分析 /data 目錄,然后繼續分析 /data/jnpf 目錄
      [root@ecs-fb36-0002 ~]# du -sh /data/*
      4.6M    /data/h5
      40M    /data/ioc-guanai
      242M    /data/jdk
      54G    /data/jnpf
      5.2M    /data/redis
      952M    /data/soft

       

      常用解決方案
      1. 占用磁盤高的為日志文件,則可以參考 Linux日志管理經驗總結(crontab+logrotate)
      2. 數據盤磁盤占用高(獨立掛載磁盤的分區,如 /data),包括安裝程序、數據文件等,則根據實際業務場景,調整相關參數,限制數據保存時間、數據壓縮等
      3. 系統盤磁盤占用高(/ 根分區),則考慮將相關應用程序遷移至數據盤,如果應用程序支持,可以將安裝目錄整體遷移(如 修改Docker鏡像存儲目錄,減輕系統盤負擔,即配置到數據盤后,將現有數據遷移到數據盤,重啟服務),否則調整相關參數,可以將數據存儲目錄、日志目錄遷移至數據盤
      4. 擴容服務器磁盤資源,而且只能擴容數據盤,或者增加獨立掛載磁盤,然后將相關業務遷移至新磁盤

       

      磁盤IO告警

      使用 iotop 命令(Linux系統默認沒有集成,需要單獨安裝,CentOS可以使用 yum,也可以 官網下載安裝包),查看磁盤IO最高的進程,其中 SWAPIN 列為swap交換百分比,IO> 列為IO等待所占用的百分比。
      [root@localhost ~]# iotop -o
      Total DISK READ :    0.00 B/s | Total DISK WRITE :     388.00 K/s
      Actual DISK READ:    0.00 B/s | Actual DISK WRITE:     633.68 K/s
        TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                
        518 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.16 % [xfsaild/dm-0]
      20271 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/3:2]
       2178 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % java -jar V2XRawDataServer.jar
       2229 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % java -jar V2XRawDataServer.jar
       2286 be/4 root        0.00 B/s   30.61 K/s  0.00 %  0.00 % java -jar msbus.jar
       1801 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % clickhouse-server --config-f~khouse-server.pid [BgSchPool]
      23520 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % clickhouse-server --config-f~khouse-server.pid [Collector]
       1253 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % java -jar V2XRealtimeServer.jar
       1254 be/4 root        0.00 B/s  814.17 B/s  0.00 %  0.00 % java -jar msbus.jar
      10253 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % java -jar V2XStatisticsServer.jar
       1698 be/4 root        0.00 B/s  142.72 K/s  0.00 %  0.00 % clickhouse-server --config-f~khouse-server.pid [Formatter]
       1700 be/4 root        0.00 B/s  407.08 B/s  0.00 %  0.00 % clickhouse-server --config-f~khouse-server.pid [BgSchPool]
       
      與 CPU告警場景類似,根據不同進程的情況,可能會有以下現象
      1. 磁盤IO持續告警,一般為存儲型應用程序,如文件系統,數據庫等,即該應用運行時本就會使用更多磁盤IO
      2. 偶然告警,只要告警不超過70%,不引起系統卡頓,原則上可以暫時不用處理qq
      3. 偶然告警,但告警頻率逐漸增高,可能由于應用程序bug、漏洞引起
      4. 特定時間段告警,一般跟業務關聯性較高,比如流量高峰
      常用處理方案
      1. 根據實際業務需要,可以限制單應用的運行性能(如集群部署時,可以適當降低單節點性能),則調整應用相關配置,限制線程數、并發量、緩存參數等
      2. 如果公共組件該版本有相關漏洞缺陷,則根據官方指示,修補漏洞,或者升級版本
      3. 解決業務流量高的問題,使流量更均衡,如集群部署,消息緩存,負載均衡,定時任務調整等
      4. 提升服務器磁盤性能,如使用SSD磁盤,或者將應用服務遷移至資源性能更高的服務器

       

      TCP連接告警

      通過 netstat 命令,查看和統計不同狀態的TCP連接數量,以及相應的應用程序。
      TCP連接狀態告警,一般只存在兩種:ESTABLISHED(已連接狀態)、TIME_WAIT(主動關閉端的最后狀態,等待操作系統回收,其中,主動關閉可以是服務端,也可以是客戶端),其他TCP連接的狀態,幾乎不會出現數量太多,本文將不考慮。
      1. ESTABLISHED,不管是服務端應用程序還是客戶端應用程序,該狀態的TCP連接過多,說明該應用服務的業務量已經不是單體服務可以處理的,所以需要擴展應用服務
      2. TIME_WAIT,服務端應用程序和客戶端應用程序都可能會出現,而且這是TCP連接的最后一個狀態,接下來只有等待操作系統回收(回收周期根據不同操作系統,可能為30秒 - 2分鐘),但是,在被回收前,該連接仍然會占用操作系統一個套接字資源,如果短時間內出現過多TIME_WAIT,可能是因為高并發且持續的短連接業務場景,最終可能會逐步將操作系統套接字資源耗盡,從而無法再創建 TCP連接
       
      常用解決方案
      1. ESTABLISHED,服服務端的應用程序,可以考慮多節點部署,搭建集群或搭建負載均衡,或者將單服務拆分為多服務,分別部署到不同的服務器實現負載均衡
      2. ESTABLISHED,客戶端的應用程序,可以考慮使用連接池,避免所有請求都建立新的連接,也可以考慮多節點部署客戶端,或者將客戶端業務拆分為多個客戶端,然后分別部署到不同的服務器
      3. TIME_WAIT,可以考慮使用TCP長連接;如果是http服務端出現告警,可以考慮在客戶端連接時將 connection 設置為 keep-alive,避免服務端主動斷開連接;也可以從操作系統層調整相關參數,一方面開啟套接字復用,一方面使操作系統更快的回收,調整方案如下
      #vim /etc/sysctl.conf,增加或修改以下參數
      net.ipv4.tcp_tw_reuse=1
      net.ipv4.tcp_tw_recycle=1
      net.ipv4.tcp_fin_timeout=30
      
      #調整后刷新生效
      sysctl -p

       

      附錄:TCP相關統計命令

      1.使用netstat 統計不同狀態TCP連接數量
      特別關注:腳本中NR>2由于netstat命令前2行輸出為描述信息
      [root@localhost ~]# netstat -antp
      Active Internet connections (servers and established)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
      tcp        0      0 0.0.0.0:33071           0.0.0.0:*               LISTEN      2105/mysqld         
      tcp        0      0 0.0.0.0:7379            0.0.0.0:*               LISTEN      1090/redis-server 0 
      tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1244/sshd           
      
      [root@localhost ~]# netstat -antp | awk -F '[ /]+' 'NR>2 {count[$6]++} END {for(state in count) print state,"\t\t",count[state] }'
      LISTEN          16
      CLOSE_WAIT          2
      ESTABLISHED          273
      FIN_WAIT2          1
      TIME_WAIT          1
       
      2.使用netstat統計指定狀態TCP連接不同進程數量
      [root@localhost ~]# netstat -antp | grep -i established | awk -F '[ /]+' '{count[$8]++} END {for(app in count) print app,"\t\t",count[app] }'
      java          124
      
      mysqld          109
      clickhouse-ser          6
      sshd:          1
      redis-server          31

       

       

       
      posted on 2023-09-04 10:28  xiaoyaozhe  閱讀(432)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人精品18| 国产成人综合亚洲欧美日韩| 一级片黄色一区二区三区| 久久精品人人槡人妻人人玩| 国产老妇伦国产熟女老妇高清| 亚洲人成自拍网站在线观看| 国产亚洲精品视频一二区| 精品少妇后入一区二区三区| 中文字幕日韩精品有码| 日本久久一区二区三区高清| 精品久久久久久无码不卡| 国产mv在线天堂mv免费观看| 国产精品一区二区不卡视频| 资源在线观看视频一区二区| 欧美乱大交aaaa片if| 国产自拍偷拍视频在线观看| 日本在线a一区视频高清视频| 国产91丝袜在线观看| 国产亚洲精品综合一区二区| 午夜成人精品福利网站在线观看| 五月天丁香婷婷亚洲欧洲国产| 激情综合色区网激情五月| 少妇被粗大的猛烈进出69影院一| 国产成人精品1024免费下载| 五月婷之久久综合丝袜美腿| 色综合天天综合天天综| 国产边打电话边被躁视频| 国产在线观看播放av| 中文字幕无码不卡一区二区三区| 亚洲精品乱码免费精品乱| 中文字幕在线国产精品| 一本加勒比hezyo无码专区| 亚洲中文字幕无码久久2020| 丁香五月婷激情综合第九色 | 国产高清在线不卡一区| 成人精品一区二区三区在线观看| 99久久国产福利自产拍| 一区二区三区岛国av毛片| 青草99在线免费观看| 国产中文字幕在线一区| 在线a级毛片无码免费真人|