上線服務運維巡檢操作常用命令


已上線的服務要配置自動化監控,做到在問題出現之前發現問題,解決問題,防患於未然。當然,定期對服務器進行一次全面檢查也是不可缺少的。針對服務器檢查,這里整理了一下常用的命令。

1. 操作系統檢查

1.1 CPU監控檢查

使用命令 vmstat 2 10 

或者使用命令 top

1.2 內存使用檢查

使用命令 free -m

1.3 磁盤使用率檢查

使用命令  df -m

 

1.4 操作系統日志檢查

使用以下命令,檢查是否有報錯信息

cat /var/log/messages|grep ERROR

dmesg |grep ERROR

1.5 主機IO平衡檢查

使用命令 sar -d 2 10

1.6 系統資源限制

使用命令 ulimit -a

確認操作系統限制數均已改為最大

1.7 操作系統時間

使用命令 date 

查看是否有時間同步,保持所有服務器一個時間

2. 應用檢查

2.1 服務日志查詢

cat 日志文件 |grep -e ERROR -e error

執行前請注意日志大小,若日志文件非常大,建議使用tail -1000

2.2 JVM參數檢查

檢查腳本中的JVM參數配置

cat /xxx/jetty/bin/jetty.sh |grep JAVA_OPTIONS cat /xxx/startup.sh |grep JVM_OPTS

2.3 查詢運行中的應用

一般是通過 java 或者JVM 作為關鍵詞來查找,單獨的應用可根據腳本中定義的應用名字來查詢,同時也可查看JVM參數

ps -ef |grep java

3. 中間件檢查

3.1 redis檢查

3.1.1 info檢查

登入redis后,執行 info

主要檢查內容:

  • blocked_clients  是否有被阻塞的客戶端
  • used_memory  當前使用內存的大小,是否接近配置的最大內存
  • rdb_last_bgsave_status  rdb上一次保存狀態是否正常
  • aof_enabled     aof是否已開啟。生產環境要求備節點開啟aof,主節點可以關閉。
  • rejected_connections  因為最大客戶端連接數限制,而導致被拒絕連接的個數
  • mem_fragmentation_ratio  redis內存碎片率。數值越大表示碎片率越高,降低碎片率的方式,是重啟redis,重新加載所有key值。

3.1.2 配置檢查: (參數文件位置,可以在info信息上面看到)

grep '^[^#]'  redis.conf

主要檢查內容

  • maxclients 5000   最大連接數。建議設置為5000
  • maxmemory 4g     最大內存限制,根據實際服務器內存配置來確定
  • save 900 1
  • save 300 10
  • save 60 10000    開啟並設置rdb規則,主節點要求開啟rdb。
  • appendonly no    主節點建議設置為no,備節點要求開啟aof

3.1.3 日志檢查

日志文件位置請根據配置檢查中 logfile 的具體定位具體日志文件

cat redis.log |grep -e ERROR -e error

執行前請注意日志大小,若日志文件非常大,建議使用 tail -1000 。

3.2 zookeeper檢查

3.2.1 集群狀態檢查

3.2.2 zk參數檢查

cat ./conf/zoo.cfg

主要檢查確認是否包含自動清理快照的配置,防止因快照太多導致磁盤爆滿。

3.2.3 zk節點數量檢查(快照過大時需要檢查)

先統計生產環境中子節點數,用zkcli.sh連接后

統計命令:

get /000/xxx/user/lock/certificate

子節點數為numChildren

節點數量統計完成后,可以考慮清除大於20W的節點

3.2.4 zk日志檢查

cat zookeeper.out |grep -e ERROR -e error

執行前請注意日志大小,若日志文件非常大,建議使用 tail -10000

3.3 rocketMQ檢查

3.3.1 Rocketmq集群狀態檢查

sh mqadmin clusterList -n 10.253.125.97:19878

確認節點數量正常,狀態正常。

3.3.2 Rocketmq配置文件檢查

cat broker-a.properties

確認以下配置是否已修改

  • maxMessageSize=65536
  • sendMessageThreadPoolNums=128
  • pullMessageThreadPoolNums=128
  • diskMaxUsedSpaceRatio=88
  • mapedFileSizeConsumeQueue=50000000
  • fileReservedTime=120

3.3.3 Rocketmq日志檢查

cat broker.log |grep -e ERROR -e error
cat namesrv.log |grep -e ERROR -e error

4. 數據庫檢查

4.1 參數文件檢查

cat /etc/my.cnf

主要檢查

  • wait_timeout = 1209600 
  • interactive_timeout = 1800
  • slow_query_log = 1
  • slow_query_log_file = slow.log

默認超時時間需要設置為 1209600, 慢日志建議打開。 

4.2 慢日志檢查

若不清楚慢日志輸出在哪兒,可通過執行下面的sql確認慢日志的路徑

mysql> show variables like '%slow_query_log%';

查看慢日志,確認是否存在運行性能較差的sql

4.3 數據庫備份及主從同步查看

確認mysql數據庫備份邏輯, 根據實際情況,要求每晚都能做一次備份。 且備份文件要求保留一周。

主從同步查看確認主從同步進程運行正常。

mysql> show slave status\G 
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 


免責聲明!

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



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