上线服务运维操作常用命令

已上线的服务要配置自动化监控,做到在问题出现之前发现问题,解决问题,防患于未然。当然,定期对服务器进行一次全面检查也是不可缺少的。针对服务器检查,我整理了一下常用的命令。

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

猜你喜欢

转载自www.cnblogs.com/zjfjava/p/10836248.html