Allgemeine Anweisungen zur Systemüberwachung
Bei der routinemäßigen Wartung von Diensten wird im Allgemeinen überprüft, ob die CPU-, Speicher-, Festplatten- und Netzwerkindikatoren normal sind.
1. oberster Befehl
Der Befehl top wird häufig zur Überwachung des Status von Linux-Systemen verwendet. Dabei handelt es sich um ein häufig verwendetes Leistungsanalysetool, das die Ressourcennutzung jedes Prozesses im System in Echtzeit anzeigt.
1.1 Befehlssyntax
top [选项]
1.2 Befehlsoptionen
Optionen | veranschaulichen |
---|---|
-B | Im Verarbeitungsmodus arbeiten |
-C | Zeigt die vollständige Befehlszeile statt nur den Befehlsnamen an |
-D | Bildschirmaktualisierungsintervall |
-ich | Leerlauf-Prozessschalter |
-S | Vertraulicher Modus |
-S | Akkumulationsmodus |
-In用户名或UID |
Geben Sie den Benutzernamen an |
-Ppid |
Geben Sie den Prozess an. Sie können mehrere PIDs angeben |
-Nnumber |
Stoppen Sie nach den Bildschirmaktualisierungszeiten |
-H | Sehen Sie sich die untergeordneten Threads unter dem Prozess an |
1.3 Detaillierte Erläuterung der Befehle
Ergebnis der Befehlsausführung:
[root@centos ~]# top
## 系统统计信息
top - 14:47:31 up 9 days, 21:24, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 183 total, 1 running, 182 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1881884 total, 1170352 free, 273080 used, 438452 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1446460 avail Mem
## 系统进程信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1197 root 20 0 1169468 31704 14136 S 0.1 1.7 7:49.70 dockerd-current
788 root 20 0 275072 4976 3656 S 0.0 0.3 4:46.40 vmtoolsd
1340 root 20 0 476448 13136 5416 S 0.0 0.7 5:19.59 docker-containe
9 root 20 0 0 0 0 S 0.0 0.0 0:10.06 rcu_sched
10004 root 20 0 0 0 0 S 0.0 0.0 0:02.56 kworker/1:2
13306 redis 20 0 143060 5796 1444 S 0.0 0.3 0:00.30 redis-server
1 root 20 0 193740 6828 4228 S 0.0 0.4 0:06.43 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
Systemstatistik:
## 任务队列信息
top - 14:47:31 up 9 days, 21:24, 1 user, load average: 0.00, 0.01, 0.05
14:47:31 # 当前系统时间
up 9 days, 21:24 # 系统运行时间
1 user # 当前登录用户数
load average: 0.00, 0.01, 0.05 # 系统平均负载数,表示最近1分钟、最近5分钟、最近15分钟的系统平均负载数
## 进程统计信息
Tasks: 183 total, 1 running, 182 sleeping, 0 stopped, 0 zombie
183 total # 系统当前总进程数
1 running # 正在运行进程数
182 sleeping # 睡眠进程数
0 stopped # 停止进程数
0 zombie # 僵尸进程数
## CPU统计信息
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
0.0 us # 用户空间CPU占用率
0.0 sy # 内核空间CPU占用率
0.0 ni # 用户进程空间改变过优先级的进程CPU的占用率
100.0 id # 空闲CPU占有率
0.0 wa # 等待输入输出的CPU时间百分比
0.0 hi # 硬件中断请求
0.0 si # 软件中断请求
0.0 st # 分配给运行在其它虚拟机上的任务的实际CPU时间
## 内存状态,单位是KB
KiB Mem : 1881884 total, 1170352 free, 273080 used, 438452 buff/cache
1881884 total # 物理内存总量
1170352 free # 空闲内存
273080 used # 已使用内存
438452 buff/cache # 内核缓存使用
## swap交换分区信息
KiB Swap: 2097148 total, 2097148 free, 0 used. 1446460 avail Mem
2097148 total # 交换分区总量
2097148 free # 空闲交换分区
0 used # 已使用交换分区
1446460 avail Mem # 缓冲交换区
Informationen zum Systemprozess:
## 系统进程信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1197 root 20 0 1169468 31704 14136 S 0.1 1.7 7:49.70 dockerd-current
PID # 进程id
USER # 进程所有者的用户名
PR # 进程优先级
NI # nice值,负值表示高优先级,正值表示低优先级
VIRT # 进程使用的虚拟内存总量,VIRT=SWAP+RES,单位KB
RES # 进程使用的、未被换出的物理内存大小,RES=CODE+DATA,单位KB
SHR # 共享内存大小,单位KB
S # 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU # 上次更新到现在的CPU时间占用百分比
%MEM # 进程使用的物理内存百分比
TIME+ # 进程使用的CPU时间总计,单位1/100秒
COMMAND # 进程名称[命令名/命令行]
1. Drücken Sie1
, um die Anzeige detaillierter CPU-Statistiken ein- oder auszuschalten
2. Drücken Sie die BuchstabentasteB
, um den Anzeigeeffekt des aktuellen Prozesses ein- oder auszuschalten
3, top -H -p pid
, überprüfen Sie den untergeordneten Thread unter der Prozess-PID
2. freier Befehl
Überprüfen Sie den physischen freien, genutzten und Swap-Speicherstatus
2.1 Befehlssyntax
free [选项]
2.2 Befehlsoptionen
Optionen | veranschaulichen |
---|---|
-B | Speichernutzung in Bytes anzeigen |
-k | Speichernutzung in KB anzeigen |
-M | Speichernutzung in MB anzeigen |
-Ö | Spalte „Pufferabgleich“ nicht anzeigen |
-Snumber |
Überwachen Sie kontinuierlich die Speichernutzung |
-T | Speichersummenspalte anzeigen |
2.3 Detaillierte Erläuterung der Befehle
Ergebnis der Befehlsausführung:
[root@centos ~]# free
total used free shared buff/cache available
Mem: 1881884 272696 1170692 9084 438496 1446824
Swap: 2097148 0 2097148
Mem # 表示物理内存统计
Swap # 表示物理内存统计(total=used+free)
used # 表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)
free # 表示空闲物理内存总数
shared # 表示共享内存
buff/cache #
available #
3. df-Befehl
Überprüfen Sie die Speicherplatznutzung von Festplattenpartitionen. Die Standardeinheit ist KB.
3.1 Befehlssyntax
df [选项]
3.2 Befehlsoptionen
Optionen | veranschaulichen |
---|---|
-A | Alle Dateisysteme anzeigen |
-H | Festplattennutzung anzeigen |
-ich | Überprüfen Sie die Inode-Nutzung |
3.3 Detaillierte Erläuterung der Befehle
Ergebnis der Befehlsausführung:
[root@hecs-141089 bin]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 893M 0 893M 0% /dev
tmpfs 909M 0 909M 0% /dev/shm
tmpfs 909M 8.5M 900M 1% /run
tmpfs 909M 0 909M 0% /sys/fs/cgroup
/dev/vda1 40G 2.7G 35G 8% /
tmpfs 182M 0 182M 0% /run/user/0
4. ps-Befehl
Prozessstatistiken anzeigen
4.1 Befehlssyntax
ps [选项]
4.2 Befehlsoptionen
Optionen | veranschaulichen |
---|---|
-A | Zeigt Informationen zu allen Prozessen unter dem aktuellen Terminal an, einschließlich der Prozesse anderer Benutzer |
-In | Geben Sie Prozessinformationen in einem benutzerorientierten Format aus |
-X | Zeigen Sie die Prozesse des aktuellen Benutzers in allen Terminals an |
-Es ist | Informationen zu allen Prozessen im System anzeigen |
-l | Prozessinformationen im Langformat anzeigen |
-F | Prozessinformationen im vollständigen Format anzeigen |
-T | Sehen Sie sich die untergeordneten Threads unter dem Prozess an |
4.3 Detaillierte Erläuterung der Befehle
Ergebnis der Befehlsausführung:
[root@centos ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 2 0 0 Oct31 ? 00:00:00 [kthreadd]
root 4 2 0 Oct31 ? 00:00:00 [kworker/0:0H]
root 6 2 0 Oct31 ? 00:00:00 [ksoftirqd/0]
[root@centos ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S Oct31 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< Oct31 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S Oct31 0:00 [ksoftirqd/0]
5. Crontab-Befehl
Führen Sie ein Shell-Skript oder eine Reihe von Linux-Befehlen zu einem bestimmten Zeitpunkt aus
# 添加定时任务
crontab -e
# 每天早上3点运行/root/bin/backup.sh脚本
0 5 * * * /root/bin/backup.sh
# 分 时 日 月 周 命令
# 显示crontab文件
crontab -l
# 删除crontab文件
crontab -r
# 删除crontab文件前提醒用户
crontab -ir
6. Befehl „Port anzeigen“.
6.1 netstat-Befehl
Überprüfen Sie, welche Ports auf diesem Computer geöffnet sind. Alle Ports sind auf diesem Computer geöffnet
# 安装
yum -y install net-tools
# 列出所有端口
netstat -a
# 列出所有tcp端口
netstat -at
# 列出所有udp端口
netstat -au
6.2 lsof-Befehl
Überprüfen Sie den Status der belegten Ports
# 安装
yum -y install lsof
# 查看指定端口占用情况
lsof -i:22
# 查看指定进程打开了哪些文件、加载库、依赖库
lsof -p 13306
# 查看指定目录被那个进程打开
lsof /root
6.3 SS-Befehl
# 输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix
ss
# 查看主机监听的tcp端口信息
ss -tnl
# 查看监听的tcp连接
ss -tna
6.4 NC-Befehl
Scannen Sie, welche Ports für eine bestimmte IP geöffnet sind
# 安装
yum -y install nc
# 查看ip指定端口是否开放
nc -z 192.168.123.75 22
# 超时等待查看ip指定端口是否开发
nc -w 3 -z 192.168.123.75 22
6.5 nmap-Befehl
Scannen Sie die angegebene IP-Portnummer
nmap 192.168.123.75
7. Überprüfen Sie die Systemressourcennutzung
7.1 Blickbefehl
Kann CPU, Lastdurchschnitt, Speicher, Netzwerkverkehr, Festplatten-E/A, andere Prozessoren sowie Datei- und Systemauslastung überwachen
# 安装
yum install -y glances
# 使用
glances
# 退出
q
7.2 Nethogs-Befehl
Überprüfen Sie dynamisch, wie viel Datenverkehr ein bestimmter Prozess verbraucht, und erfahren Sie, welche Prozesse mit der Außenwelt kommunizieren.
# 安装
yum install -y nethogs
# 使用
nethogs
# 退出
8. Netzwerkverkehr anzeigen
8.1 tcpdump-Befehl
Erfassen Sie Pakete, um den Netzwerkverkehr anzuzeigen
# 安装
yum -y install tcpdump
# 监听ens192接口上的所有流量并输出到控制台
tcpdump -i ens192
# 监听ens192接口与192.168.123.245通信的所有流量并输出到控制台
tcpdump -i ens192 host 192.168.123.245
# 监听ens192接口上所有传输层协议为TCP的流量并输出到控制台
tcpdump -i ens192 tcp
# 监听ens192接口上所有端口号为80的流量并输出到控制台
tcpdump -i ens192 port 80
# 监听ens192接口上所有来自192.168.123.245的流量并输出到文件packets.pcap
tcpdump -i ens192 src 192.168.123.245 -w packets.pcap
# 监听ens192接口上所有去往192.168.123.245的流量并输出到文件packets.pcap
tcpdump -i ens192 dst 192.168.123.245 -w packets.pcap
8.2 ifconfig-Befehl
Wird zum Konfigurieren und Anzeigen des spezifischen Status von Netzwerkschnittstellen verwendet
# 安装
yum -y install net-tools
# 显示所有已激活网卡信息
ifconfig
# 单独显示ens192网卡信息
ifconfig ens192
# 启动网卡ens192
ifconfig ens192 up
# 关闭网卡ens192
ifconfig ens192 down
# 设置能通过的最大数据包大小为 1500 bytes
ifconfig ens192 mtu 1500
# 开启网卡ens192的arp协议
ifconfig ens192 arp
#关闭网卡ens192的arp协议
ifconfig ens192 arp
8.3 iftop-Befehl
Es handelt sich um ein Echtzeit-Verkehrsüberwachungstool, mit dem die Verkehrsbedingungen im Netzwerk angezeigt werden können, einschließlich Echtzeitrate, Gesamtverkehr, durchschnittlicher Verkehr usw. Es werden keine historischen Daten erfasst, es gibt keine Berichte und es kann nur der Gesamtverkehr vom Beginn der Sendung bis heute angezeigt werden.
# 安装
yum install -y iftop
# 使用
iftop
# 退出
q