一、Linux基础篇
1. 发行版本
redhat/centos/suse/debian/
2. 目录结构
/bin
/boot -> grub
/dev
/etc ->init.d sysconfig
/home -> dmtsai Iccnet
/lib -> modules
/mnt
/opt/
/proc
/root
/sbin 做磁盘/网络的配置
/src
/sys
/tmp 所有用户都可以存放的目录,系统管理员一般会定期清除/tmp目录
/usr ->bin ->X11R6 ->share -> local
/var ->log ->lib ->spool ->run 日志文件
/usr
/var
3. 基础服务及组件
FW:防火墙
LB:负载均衡
FTP:
NFS:NFS(Network File System)即网络文件系统。其他参考GFS
MAIL:
DHCP:分配IP
NTP:时间服务器
DNS:
GW: 网关(网络设备,交换机),跨网段服务器之前交换
4. 远程登录
1)远程登录Linux-SSH
(1)口令登录
用户->登录请求->主机
用户<-主机公钥<-主机
用户->公钥加密密码->主机
用户<-主机私钥解密,密码ok允许登录<-主机
用户<-密码ERROR,拒绝登录<-主机
(2)公钥登录
用户->登录请求->主机(存有用户公钥)
用户<-随机字符串<-主机(存有用户公钥)
用户->用户私钥加密字符串->主机(存有用户公钥)
2)Security CRT
定时发送空格,这样security crt就可以一直保持登录。(注意可能更改服务器里的文件)
buffer调大
Appearance 字体设置UTF-8
5. 运维提供的工具及介绍
开发日志访问规则,里面有脚本,可批量跑脚本
查看,下载,批量命令
6. 异常排查
系统错误日志: /var/log.{message,cron,boot.log}
应用日志
性能数据:cpu、内存、io
JVM状态
实时性能工具:
top:综合,偏cpu,内存
1 多核
b 高亮
x 选择列
shift + 箭头
dstat:综合、磁盘
dstat -lcms --top-cpu
iostat:
pidstat: pidstat -d
iftop:网络、实时刷新(类似工具还有nload,ifstat)
nethogs
ss
free
Netstat、ss
内存:
free -m
dstat -lcms --top-mem
IO:
iostat -x 1
dstat -lcmd --top-mem
pidstat
网络
ss -nap
历史性能数据:
sar(每10分钟记录一次)
sar -f saNUM
zabbix
CAT
二、 JVM性能分析
1. Java CPU消耗过多问题排序
top查看java消耗CPU
开启top的线程模式,找出消耗CPU最多的java线程ID
thread-id转为十六进制
jstack javapid > /tmp/jstatck.log
从jstack.log,查看该线程的运行情况
2. Java内存消耗过多问题排查
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath
OR jmap -dump:format=b,file=xxx.hprof<pid>
MAT
jmap -histo:live pid查看类的示例
jstat -gcutil pid 200 200 查看GC情况
三、运维篇
1. 运维的类别: 应用运维,系统运维,DBA
2. 真实的运维
(1)Dev和Ops的相互能力传递
(2)工具可视化
(3)价值观
客户第一、效率优先、持续优化、责任共担、紧密合作
3. 典型的网站拓扑
Fire Wall
负载均衡
应用系统
DB/缓存
4. 万级别系统管理
(1)大批量物理机装机
(2)怎样提高物理资源的使用率
(3)虚拟化:KVM
(4)怎样定制各种操作系统需求
(5)资产怎样管理
(6)服务器和应用的关联:CMDB
(7)。。。
5. 大规模应用管理
(1)可持续的稳定性保障
(2)变更
灰度,窗口,风险意识(敬畏产线变更)
(3)不同/相同应用集群差异化的管理
配置文件
入库配置
可运维性、可拓展性
(4)应用交付(发布)管理
效率(灵活)
风险(灰度),发布包的正确性,变更内容风险
(5)应用系统容量评估
(6)关键组件(中间件等)管理
(7)日常事务管理
N研发 VS 1运维
6. 高可用方案
(1)远程调用框架
(2)集群化及消除单点
(3)缓存
(4)静态化
(5)降级
F5降级
Nginx降级
Client降级
(6)容灾
渠道备份:
短信
银行
第三方支付
运营商线路
IDC容灾机房
切换:
自动化切换
半自动化切换
7. 监控
(1)应用监控
异常
调用耗时,失败率等