首页
学习
活动
专区
圈层
工具
发布

日常运维管理(二)

监控io性能 :

有时候发现系统cpu和内存均有剩余,但是负载却很高,使用vmstat发现b列和wa列负载很高,要是想更详细的查看磁盘状态,那我们就用到了今天所讲的iostat。

yum install -y sysstat

#iostat //直接查看磁盘的现状

#iostat 1 10 //和vmstat一样的功能

KB_read/s 读硬盘的速度 KB_wrtn/s 写硬盘的速度

#iostat x 1 (每隔一秒就会展现一次磁盘的IO状态)

我们重点关注的是 %util:如果长期大于50%代表着你的硬盘读写很厉害,代表着硬盘存在问题,有些故障,如果硬盘很慢,就算cpu在高,内存再多也是没用的。(案列:使用命令查看状态发现有个磁盘长时间99%,只能更换硬盘)。

#iotop (动态显示IO的状态)

yum install -y iotop 安装所需的服务

最上面一栏可以看到实时动态的IO读写。


内存使用情况 (free) :

#free -m 指定使用MB为单位显示

#free -h 指定使用合适的单位显示

total=used+free+buff+cache

buff:缓冲; (磁盘)–>(内存)cache–>cpu

cache:缓存; cpu–>(内存)buff–>(磁盘)

avaiable=free+buffer+cache (通常也是我们查看的值)

有时候我们来判定内存是否够用与否,查看swap即可,如果已经开始使用swap了,就代表内存已经不足了,及时增加内存(或者程序有问题,有BUG)!


查看系统进程(ps) :

#ps aux (静态的查看系统所有的进程,top是动态的)

STAT部分说明:

D 不能中断的进程(不经常看到的进程)

  R run状态的进程

    S sleep状态的进程(几乎不占用资源

      T 暂停的进程

        Z 僵尸进程(几乎没有,有的话就杀死

< 高优先级进程

            N 低优先级进程

               L 内存中被锁了内存分页(几乎没有

                  s 主进程

                     l 多线程进程

+ 前台进程

经常使用的是去查看某个进程是否存在

#ps aux |grep mysql

如果想要杀死某个进程,我们会使用kill 1234(pid) 如果我们想要查看一个进程的详细信息(每个pid都有一个目录) ls -l /proc/505/ 查看505进程的详细信息


查看网络状态(netstat) :

#netstat 查看网络状态

#ss -an 用的比较多的一个命令,用来查看连接状态

#ss -an |grep -i ESTAB 只查看已经建立的连接

#netstat -lnp 查看监听端口

#netstat -an 查看系统的网络连接状况

ESTABLISHED:客户端与服务端已经建立数据连接(并发连接数) TIME_WAIT:客户端与服务端连接还没有断开,处于等待的一个状态 LISTEN: 侦听状态

实用运维管理命令:

一次性查看所有的连接状态 (熟能生巧)###
代码语言:javascript
复制
#netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'

小扩展: 扩展tcp三次握手四次挥手(面试考点) tshark几个用法


Linux下的抓包工具(tcpdump) :

如果遇到攻击,网卡流量异常,我们需要知道是哪个IP攻击我们,这时候我们就用到了抓包工具。

#yum install -y tcpdump

#tcpdump -nn -i ens33 查看指定网卡的流量包

-nn:转换成数字显示IP+端口号

#tcpdump -nn -i ens33 port 22 查看指定端口

代码语言:javascript
复制
#tcpdump -nn -i ens33 not port 22 and host 172.32.5.205
host:查看指定主机
not port 22: 访问的非22端口
代码语言:javascript
复制
#tcpdump -nn -i ens33 not port 22 and host 172.32.5.205 -c 100
-c:制定数量为100条
代码语言:javascript
复制
#tcpdump -nn -i ens33 not port 22 and host 172.32.5.205 -c 100 -w /tmp/1.cap
-w: 指定保存位置(但是我们保存的1.cap是不可以直接cat查看的) 如果不晓得一个文件是什么类型的文件可以使用 file /tmp/1.cap
代码语言:javascript
复制
#tcpdump -r /tmp/1.cap
-r: 读取

实用运维管理命令:

#yum install -y wireshark
代码语言:javascript
复制
#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实时访问情况(有哪个IP访问了具体哪个网页)

下一篇
举报
领券