一、系统性能常用指令
cpu & mem & disk & io
常用问题排查工具
- top
- M:shift+m 按内存排序
- T:shift+t 按cpu排序
- l :按平均负载排序
- iotop
- o:切换至only选项,只显示正在产生IO的进程或线程。
- p:切换至processess选项,只显示进程,不显示线程。
- a:切换至accumulated选项,显示从iotop启动后的每个进程累计IO总数,便于持续诊断IO问题。
- ps
- ps -aux | grep xxx : 检查某正则匹配进程信息
- ps -aux --sort -pcpu :按cpu使用升序排序
- ps -aux --sort +pmem :按mem使用降序排序
- ps -aux --sort -pcpu,+pmem :混合使用
- df -h :各挂载磁盘使用量
- du -h [dir] -d 2 :显示某指定路径的磁盘使用情况
- -h :以可视化GB,MB,KB等单位显示使用量
- -d N | --max-depth=N :显示的文件层级
- pstree
- pstree -p
- pstree -p pid : 查看某进程的关联进程数
- free -m : 内存分析
- vmstat :系统整体资源分析
二、docker 常用运维指令
- docker ps
- -a 列出所有容器(存活+异常)
- -s 列出容器的文件总大小占用
- docker inspect [container id | name] :查看指定容器的详细配置(image,network,volume,config…)
- docker system
- df :显示docker占用磁盘使用量情况
- prune :释放容器,镜像等未使用资源,节省磁盘。
- docker stats :查看容器的指标信息(CPU MEM USAGE / LIMIT MEM NET I/O BLOCK I/O)
三、Redis 问题排查&修复
tips: 云redis通过docker容器化部署,正式服维护需维护平台执行 sh webtec/docker/docker_ops.sh等相关指令维护。
问题排查
- cat /usr/local/etc/redis/redis.conf :查看实例配置文件信息
- redis-cli -p port -h address -a password
- info :实例状态信息
- Server
- Replication
- Stats
- Persistence
- Memory
- Keyspace
- …
- client list :当前连接的客户端列表
- –bigkeys :实例的bigkeys信息
- slowlog :慢日志
- get N
- len
- reset
- info :实例状态信息
主从节点维护
- redis-cli -p port -h address -a password
- config get
- slaveof :同步主节点地址
- maxmemory :最大内存
- logfile
- masterauth :主从同步密码
- requirepass:密码
- dir
- repl-backlog-size :主从同步缓冲区大小
- save :RDB备份触发条件
- appendonly :是否开始AOF备份
- appendfsync :AOF 备份频率
- config set
- slaveof no one | slave of “127.0.0.1:6379”
- save “900 1 300 10”
- appendonly [yes|no]
- appendfsync [everysec|always|no]
- maxmemory 256mb
- config get
哨兵节点维护
- cat /usr/local/etc/redis/redis.conf :查看哨兵的配置文件
- redis-cli -p port -h address -a password
- info
- Sentinel
- client list
- sentinel
- reset [name|prefix*] :重置刷新当前哨兵节点信息
- remove [name] :删除对某主节点监听
- monitor [name] [master ip] [master port] [quorum] :新增对某节点的监听
- set [name] auth-pass [password] :设置对某主节点的auth-pass
- info
K8S 问题排查&修复
tips:公测/开发环境建议使用kube-promt 代替kubectl 有输入提示;正式服环境维护需控制中心执行相关维护脚本。
- get
- nodes
- namespaces
- pod
- deployments
- configmaps
- secret
- pv
- pvc
- services
- ingresses
- describe
- node [name]
- namespace [name]
- pods [name]
- deployments [name]
- …
- apply
- create
- autoscale
- cordon [node name]
- uncordon [node name]
- drain [node name]