监控io性能、free、ps、查看网络状态和linux抓包工具

 

2017年11月28日 17:38:15 mojianbin 阅读数:6484

一、监控io性能 
1、iostat -x 磁盘使用 
这里写图片描述
关注最后一列的数值,数值大说明磁盘有异常

2、iotop 磁盘使用 
安装:yum install -y iotop 
这里写图片描述

二、free命令 
查看内存使用多少,剩余多少请看第二行的数据。另外我们还可以加-m或-h 或者-g选项分别以M或G为单位打印内存使用状况:

常用: free -h 
这里写图片描述

三、ps命令 
ps查看系统进程 
用法:ps aux 或 ps -elf 
这里写图片描述

PID :进程的id,想终止某一个进程,则用 ‘kill 进程的pid 有时并不能杀掉,则需要加一个-9选项了 kill -9 进程pid

STAT :表示进程的状态

D:不能中断的进程(通常为IO)

R: 正在运行中的进程

S: 已经中断的进程,通常情况下,系统中大部分进程都是这个状态

T: 已经暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态

Z: 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。

<: 高优先级进程

N: 低优先级进程

L: 在内存中被锁了内存分页

s: 主进程

l: 多线程进程

+: 代表在前台运行的进程

ps命令经常会连同管道符一起使用,用来查看某个进程或者它的数量 
这里写图片描述

四、netstat 查看网络状况

netstat命令用来打印网络连接状况、系统所开放端口、路由表等信息

常用的关于netstat的命令就是这个 netstat -lnp (打印当前系统启动哪些端口)以及 netstat -an (打印网络连接状况)

1、netstat -lnp 打印当前系统启动哪些端口 
这里写图片描述

2、netstat -an 打印网络连接状况 
这里写图片描述

如果你所管理的服务器是一台提供web服务(80端口)的服务器,那么你就可以使用 netstat -an |grep 80 查看当前连接web服务的有哪些IP了。 
这里写图片描述

分享一个小技巧:可以查看所有状态的数字 
netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,”\t”,sta[key]}’ 
这里写图片描述

关注:ESTABLISHED, 网站并发连接数,表示同一时刻有多少个客户端连接到服务端进行通信(1000以内可以接受)

五、linux抓包工具tcpdump 
有时候想看一下某个网卡上都有哪些数据包,尤其是当你初步判定你的服务器上有流量攻击。这时,使用抓包工具来抓一下数据包,就可以知道有哪些IP在攻击你了

没有tcpdump 这个命令,需要用 yum install -y tcpdump 命令去安装一下

tcpdump -nn -i eno16777736

这里写图片描述

需要关注: 
第三列和第四列显示的信息为哪一个IP+port在连接哪一个IP+port。-i 选项后面跟设备名称,如果你想抓eth1网卡的包,后面则要跟eth1.至于-nn选项的作用是让第三列和第四列显示成IP+端口号的形式,如果不加-nn则显示的是主机名+服务名称。

另外介绍一个实用的工具tshark和命令:

tshark -n -t a -R http.request -T fields -e “frame.time” -e “ip.src” -e “http.host” -e “http.request.method” -e “http.request.uri”

指定网卡,80端口的web访问情况 
类似web的访问日志

安装命令:yum install -y wireshark

<think>嗯,用户让我介绍一下运维面试的八股文,我得先整理一下常见的知识点。首先,运维的岗位职责涉及哪些呢?系统监控、故障处理、自动化脚本、备份恢复这些应该是基础。然后,操作系统方面,Linux肯定是重点,比如进程管理、文件权限、Shell命令。网络部分,TCP/IP模型、三次握手、四次挥手,还有常见的协议端口号。数据库方面,MySQL的备份、主从复制、索引优化这些可能常被问到。 接下来是工具中间件,像Nginx的负载均衡配置、DockerKubernetes的基本概念,以及监控工具如Zabbix、Prometheus。自动化运维方面,Ansible、SaltStackJenkins的用法需要了解。安全方面,防火墙配置、漏洞修补、SSL证书管理这些也不能少。 还有故障排查的思路,比如分析日志、资源监控、网络诊断。云计算相关的问题,AWS、阿里云的服务,以及IaC工具Terraform。ShellPython脚本编写能力也是常考的点,得准备几个例子。 需要注意的是,面试官可能会问实际场景题,比如服务器突然崩溃怎么处理,或者如何设计高可用架构。这时候需要结合理论知识实际经验来回答。另外,最近的技术趋势,比如DevOps、CI/CD、微服务架构,也可能被提及。 可能用户希望得到一个结构化的回答,分点列出各个知识点,并给出简要解释。要确保覆盖全面,同时突出重点,帮助用户系统化准备面试。还要提醒注意实战经验项目经历的展示,毕竟理论结合实践更能体现能力。</think>以下为运维岗位面试常见知识点整理("八股文"范畴),采用结构化分类帮助备考: --- ### 一、操作系统基础 1. **Linux常用命令** - 进程管理:`ps aux | grep`, `top`, `kill -9`, `systemctl` - 文件操作:`chmod 755`, `chown`, `find / -name`, `grep -r` - 网络工具:`netstat -tulnp`, `tcpdump`, `ss`, `iftop` - 性能分析:`vmstat`, `iostat`, `free -h`, `df -h` 2. **核心概念** - 文件系统:inode结构、ext4/xfs特性 - 内存管理:Swap机制、OOM Killer原理 - 进程通信:管道、信号量、共享内存 --- ### 二、网络协议与配置 1. **TCP/IP模型** - 三次握手:$$SYN \rightarrow SYN+ACK \rightarrow ACK$$ - 四次挥手:`FIN`包发送与`TIME_WAIT`状态意义 - 常见协议:HTTP/HTTPS、DNS、SSH、ICMP 2. **故障排查** - 连接问题:`telnet IP端口`, `nc -zv`, `curl -I` - MTU配置:分片与MSS协商 - 抓包分析:`tcpdump -i eth0 port 80 -w capture.pcap` --- ### 三、服务与中间件 1. **Web服务器** - Nginx:负载均衡(`upstream`)、反向代理、动静分离 - Apache:MPM工作模式(prefork/worker) 2. **数据库** - MySQL:慢查询优化、Binlog与主从同步、InnoDB锁机制 - Redis:持久化(RDB/AOF)、缓存穿透/雪崩解决方案 3. **容器与编排** - Docker:镜像分层、网络模式(bridge/host)、数据卷 - Kubernetes:Pod生命周期、Service类型、Deployment滚动更新 --- ### 四、监控与自动化 1. **监控工具** - Zabbix:自定义监控项、触发器配置 - Prometheus:时序数据模型、Alertmanager告警规则 - ELK Stack:日志采集与Kibana可视化 2. **自动化运维** - Ansible:Playbook编写、Ad-hoc命令 - CI/CD:Jenkins Pipeline、GitLab Runner集成 --- ### 五、故障处理场景 1. **典型问题** - 服务器负载飙升:`top`查进程→`iostat`看IO→`netstat`找连接 - 磁盘空间不足:`lsof | grep deleted`→清理日志/扩容 - 服务启动失败:检查端口占用、依赖服务状态、SELinux策略 2. **应急预案** - 灰度发布与回滚机制 - 异地多活与容灾设计 --- ### 六、高频面试题示例 1. **理论类** - 描述从浏览器输入URL到页面加载的完整过程 - CAP理论中为什么分布式系统只能满足其中两项? 2. **实践类** - 如何用Shell脚本实现日志定时切割? - 设计一个日均千万PV的系统架构需考虑哪些因素? --- ### 七、加分项准备 1. **证书**:RHCE、AWS Certified DevOps Engineer 2. **开源贡献**:GitHub项目或社区问题修复 3. **技术视野**:Service Mesh、Serverless趋势理解 --- 通过系统性梳理以上知识点,并结合实际项目经验举例说明,可显著提升面试成功率。建议针对薄弱环节进行模拟演练,如搭建实验环境复现典型故障场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值