一、网络设置基础命令
1.1 ifconfig命令---查看所有活动的网络接口信息
1.1.1 查看指定网卡设备
格式命令:ifconfig 设备名
1.1.2 显示所有网卡设备,包括未启动的设备
格式命令:ifconfig -a
1.1.3 创建虚拟网卡
格式命令:ifconfig ens33:0 192.168.233.100/24(重启即失效)
1.1.4 网络设备的开启/关闭
- 重启网络:systemctl restart network (工作中不推荐!!!属于全局操作!!!)
- 格式命令:ifconfig 设备名 up 开启(简写:ifup 设备名)
ifconfig 设备名 down 关闭(简写:ifdown 设备名)
1.1.5 静态查看网络通信情况
命令格式:ifconfig -s
1.1.6 配置网卡相关信息
配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33
mtu:最大传输单元(默认一般为1500)
更改配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33
1.2 route命令---查看路由表信息(以下操作重启即失效)
1.2.1 route-a 将地址信息以数字形式显示
1.2.2 添加路由表条目
例:route add -net 192.168.14.0/24 gw 192.168.233.2 dev ens33
- 192.168.14.0/24:目标网段地址
- gw 192.168.233.2:指定网关进行中转
- dev ens33:通过ens33这个网卡设备进行转发
1.2.3 删除路由表条4条目
例:route del -net 192.168.140/24
1.2.4 添加/删除默认路由
添加:route add default gw 192.168.233.21
删除:route del default gw 192.168.233.21
1.3 永久更改主机名
命令格式:hostnamectl set-hostname [主机名]
设置完后su命令刷新
1.4 netstat---查看网络连接情况
常用选项:
- -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
- -n:以数字的形式显示相关的主机地址、端口等信息
- -r:显示路由表信息
- -l:显示处于监听(Listening)状态的网络连接及端口信息
- -t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
- -u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
- -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
例:netstat -antp | grep 22(也可为服务名)
- LISTEN:网络通信中等待连接的tcp端口状态,一旦进入listen状态,表示正在等待建立连接
- 0.0.0.0:22:表示所有主机都可以和本机的22端口建立连接
- 192.168.247.21:22:表示只有192.168.247.21可以和本机的22端口建立连接
- ESTABLISHED:tcp连接以建立成功,并且正在进行数据传输
1.5 ss---统计网络连接情况(获取 socket 统计信息)
ss与netstat命令优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
常用选项:
- -t: tcp协议相关
- -u: udp协议相关
- -w: 裸套接字相关
- -x:unix sock相关
- -l: listen状态的连接
- -a: 所有
- -n: 数字格式
- -p: 相关的程序及PID
例:ss -nltp | grep 22 查看tcp的所有包含22的端口
注: netstat和ss主要作用:通过grep根据端口号或服务名查找对应的服务名或端口号
在实际工作中,端口冲突一般的解决方式为:更改配置文件,更改端口号(不推荐强杀,也不推荐关闭)
1.6 ping命令---测试网络连通性
常用选项:
- -c:发送包的个数(常用)
- -i:发送包的间隔时间
- -W:超时时间
- -w:多少秒后停止 ping 命令操作
1.7 nslookup命令---测试DNS域名解析
命令格式:nslookup 目标主机地址 [DNS服务器地址]
1.8 dig命令---可以显示出更多详细信息
1.9 域名解析配置文件
配置文件位置:/etc/resolv.conf
1.10 本地主机映射文件
文件位置:/etc/hosts
二、五大负载
需先安装epe源:yum -y install epel-release.noarch
2.1 CPU负载
2.1.1 静态查看CPU:top
2.1.2动态实时监控cpu:htop(需安装)
常用选项:
- -u 只显示指定用户进程信息
- -p 只显示指定pid进程信息 (后面跟进程号)
- 1 2 :代表有2个CPU
- Mem:内存使用情况
- Swp:swap分区使用情况
- Tasks:总线程数量
- running:正在运行的线程数量
- Load average:三个分别表示过去的5分钟、10分钟、15分钟系统的平均负载
- Uptime:系统从启动到现在为止的运行时间
- PID:进程的ID
- USER:进程的用户
- PRI:进程的优先级别
- NI:进程的优先级别的数值
- VIRT:进程占用的虚拟内存值
- RES:进程占用的物理内存值
- SHR:进程使用的共享内存值
- S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
- %CPU:该进程占用的CPU使用率
- %MEM:该进程占用的物理内存和总内存的百分比
- TIME+:该进程启动后占用的总的CPU时间
- COMMAND:进程启动的启动命令名称
总结:htop比top功能更强大,htop支持鼠标操作,htop显示的列表信息更加完整,实时显示的更快。并且使用F1-F9进行交互,比如实用的F3进行搜索服务名或进程号,F9直接kill进程
2.2 内存负载
查看命令:free -h
清空内存缓存:echo 1 > /proc/sys/vm/drop_caches(巡检期或发版期使用)
2.3 磁盘负载
2.3.1 静态查看:iostat
2.3.2 动态实时监控磁盘的读写情况:iotop(需安装)
常用命令:
- -p PID:监控的进程pid
- -u USER:监控的进程用户
- Total DISK READ:磁盘总读速率
- Actual DISK READ:磁盘实际读速率
- Total DISK WRITE:磁盘总写速率
- Actual DISK WRITE:磁盘实际写速率
- TID:进程的ID
- USER:进程的用户
- DISK READ:读性能
- DISK WRITE:写性能
- IO>:读写占用的百分比
- COMMAND:进程启动的启动命令名称
总结:对比iostat,iotop可以实时动态查看到哪一个进程产生了IO,并且产生的IO性能进行实时更新,以及占用CPU信息。还可以查看iowait,一般iowait值超过20%就需要注意了。主要监控数据库和redis缓存
2.4 网络负载
作用:监控网络的带宽使用率,了解系统的网络负载情况;如果请求量和响应量超出服务器本身的处理范围,就会造成网络崩溃
2.4.1 静态查看:ifconfig
2.4.2 动态实时监控流量数据:iftop(需安装)
Cum:
开启iftop到目前
接收
发送
总计
的数据大小
peak:
接收
发送
总计
的峰值大小
rates:
2秒内接收的平均流量值 10秒内接收的平均流量值 40秒内接收和发送的总流量值
2秒内发送的平均流量值 10秒内发送的平均流量值 40秒内接收和发送的总流量值
2秒内接收和发送的总流量值 10秒内接收和发送的总流量值 40秒内接收和发送的总流量值
总结:可以实时监控流量数据,发现检测服务器故障,发现流量异常、
2.5 进程负载
使用top htop iotop ps -aux 都可以查看进程占用CPU情况