Linux服务器检查工具

使用工具对网络进行测试

By Jamie

检查现网设备硬件相关信息

[TOC]

设备随机读写性能测试

Crepe

fio -direct=1 -iodepth=32 -rw=write -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/data/fiotest/fiotest.txt -name=Write_BandWidth_Test

网络测试

Crepe

# 需要注意和本机不能在同一个网段下
wget https://iperf.fr/download/fedora/iperf3-3.1.3-1.fc24.x86_64.rpm
rpm -ivh iperf3-3.1.3-1.fc24.x86_64.rpm
# 服务端
iperf3  -s 
# 客户端
iperf3 -c 192.168.100.21 -B 192.168.100.22 

查看网卡实时传输速度

# 查看网卡实时传输速度,依赖tcpdump和pv
tcpdump -i enp26s0f0 -w - | pv -bert >/dev/null

OpenEuler修改yum源

1. 备份
\cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.backup
2. 修改为阿里源地址
 sed -i "s#repo.openeuler.org#mirrors.aliyun.com/openeuler#g" /etc/yum.repos.d/openEuler.repo
3. 运行生成缓存
yum makecache

隧道穿透

PC端本机访问测试服务器数据库
ssh -f -N -L localhost:10010:localhost:10010 renjing@1.1.1.1  -p22622
ssh -f -N -L localhost:10009:localhost:10009 renjing@1.1.1.1  -p22622
ssh -f -N -L localhost:10009:127.0.0.1:3306 rj@1.1.1.1  -p22
ssh -f -N -L localhost:3306:127.0.0.1:3306 root@1.1.1.1  -p22
ssh -f -N -L localhost:6379:127.0.0.1:6379 root@1.1.1.1  -p22
ssh -f -N -L localhost:6379:127.0.0.1:6379 root@1.1.1.1  -p22

自动化执行脚本

#!/bin/bash
my_string="1.1.1.1"
IFS=','
read -ra my_array <<< "$my_string"
for element in "${my_array[@]}"; do
    echo "Host: $element"
    HOST=$element
    DATABASE=http_flow
    PD="password"
    RKYHL="select '$HOST', sum(up)/1024/1024 from http_flow.20231126 where http = 'push-rtmp-l13.douyincdn.com';"
    
    expect <<EOF
    spawn mysql -h$HOST -upalog -p$PD
    expect "mysql>"
    sleep 1
    send "$RKYHL\r"
    expect "mysql>"
    send "quit\r"
    expect "mysql>"
EOF
done

python启动测试服务

# python3
python3.11 -m http.server 9000
# python2
python -m SimpleHTTPServer 8081

pip操作

# 下载加速
-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 下载包
pip3.10 download -r requirements.txt 

yum操作

yum install vim --downloadonly --downloaddir=/root/
yum install multitail -y

清理缓存

echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

查看进程运行时间

ps -eo pid,etime,cmd | grep "flowexport"
ps -p 25662 -o lstart
ps -eo pid,tty,user,comm,lstart,etime | grep clickhouse

检查是否为SSD

cat /sys/block/sda/queue/rotational 

lsblk -d -o name,rota

命令中的sda是磁盘名称。
返回结果:
返回0:SSD盘(固态硬盘)
返回1:SATA盘(使用SATA口的机械硬盘)

网卡状态

nmcli device status

设置时区

timedatectl set-timezone Asia/Shanghai

检查文件字符

cat 1.txt | hexdump -Cc | more

求次数和求总和

| awk -F '|' '{count[$10]++;} END {for(i in count) {print i,count[i]}}' | sort -nrk2 | more
| awk -F '|' '{sum+=$4} END {print "Sum = ", sum}'

获取指定格式数据

# 循环每个文件获取对应项的数据
for i in *.json; do cat $i | grep -o '"queryCnt": "[^"]*"' | cut -d'"' -f4 | head -n1; done

目录合并

mount -t overlay overlay -o lowerdir=/data/data01:/data/data02,upperdir=/data/data,workdir=/data/data/tmp_worker /data/data

iftop观察网卡

wget https://pdw.ex-parrot.com/iftop/download/iftop-0.17.tar.gz
tar -zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure --prefix=/usr/local/iftop 
make && make install
cp iftop /usr/bin/

查找超过指定尺寸的文件

find ./ -type f -size +10M
# 查找并删除
find ./ -type f -size +10M -delete

wireshark打开多个窗口

open -n /Applications/Wireshark.app golang.pcap 

查找文件

find ./ -name "*.rpm" -type f  -print | xargs file

设置时区

timedatectl set-timezone Asia/Shanghai

网卡状态

nmcli device status

ls命令

# 不排序输出目录文件名
ls -f 
# 查看命令参数
man ls | grep -w '\-f'

查看数据聚合排序

zcat /data/flowexport/53/1/20230215/*202302151030* | awk -F '|' '{count[$9]++;} END {for(i in count) {print i,count[i]}}' | sort -nrk2 | more
zcat /data/flowexport/53/1/20230215/*202302151030* | awk -F '|' '{count[$1]++;} END {for(i in count) {print i,count[i]}}' | sort -nrk2 | more

| sort -t'|' -k2,2n | tail -n 10

for i in *.json; do cat $i | grep -o '"queryCnt": "[^"]*"' | cut -d'"' -f4 | head -n1; done

求和

cat res.csv | awk -F ',' '{print $2}' |xargs echo -n | tr ' ' '+'  | xargs echo | bc 

awk -F '|' '{sum+=$4} END {print "Sum = ", sum}'

根据时间聚合

ls -f | awk -F '_'  '{a[substr($3,1,10)]++} END {for(i in a) print i,a[i]}' | sort

| awk -F '|' '{print $9}' | sort -n | uniq -c

配置网卡的IP

ip add a 192.168.100.10/24 dev enp175s0f1
nmtui
nmcli
ethtool eno1

空环境安装rpm

// 下载
wget http://121.36.97.194/openEuler-23.03/OS/x86_64/Packages/openssh-clients-9.1p1-3.oe2303.x86_64.rpm

// 在外部环境执行
rm -rf usr/ var/ etc/ 
for i in *.rpm;do echo $i && rpm2cpio $i | cpio -idmv; done
cd ../ && docker cp rpm-package blissful_goldberg:/  && cd rpm-package

// 在容器内执行
cd /rpm-package
cp -r ./usr/* /usr/ && cp -r ./etc/* /etc/ && cp -r ./var/* /var/  
rm -rf /rpm-package
Tags: network