Linux 监控

11 篇文章 0 订阅
Linux 监控

​ 监控管理必然是需要看到linux 系统的现在存在有多少进程。 那么和proc 这个文件打交道也是必然的。

  • proc 目录介绍

    GUN/Liunx 系统中 /proc 目录 是位于内存中的伪文件系统。 该目录下保存的不是真正的文件系统和目录,而是一些运行时的一些信息。 通过与之对应的 pid ,找到对应文件名称。还有一些事系统的
    同时可以通过cat\more \less 来查看一些系统信息 如 cat /proc/cpuinfo、 为cpu 信息参数 cat /proc/cmdline 系统的启动参数。

#!/bin/sh
#操作系统启动参数
cat /proc/cmdline
#cpu 系统信息
cat /proc/cpuinfo
# 物理内存的镜像
cat /proc/kcore
# 系统负载的平均值,前三列分代表 最近1分钟、5分钟、15分钟
cat /proc/loadavg
# 一般有free 命令统计当前内存使用信息可以使用文件查看
cat /proc/meminfo
# 磁盘设备的磁盘I/O 统计信息列表
cat /proc/diskstats
# 网络流入流出的统计数量、包括收发包的数量
cat /proc/net/dev

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
  eth0: 258663414550 494895031    0    0    0     0          0         0 223986048501 423614357    0    0    0     0       0          0
veth34aa1d7: 23926071533 34294044    0    0    0     0          0         0 30009475229 33798617    0    0    0     0       0          0
    lo: 89769734360 405242781    0    0    0     0          0         0 89769734360 405242781    0    0    0     0       0          0
docker0: 24042786168 36791796    0    0    0     0          0         0 31063206258 36258181    0    0    0     0       0          0
# 查看当前系统支持的文件系统
cat /proc/filesystems
# 系统已经加载的所有块设备和字符设备的信息
cat /proc/devices
# 块设备分区的主设备号 和次设备号
cat /proc/partitions
# 当前系统虚拟内存的统计数据
cat /proc/vmstat
# 当前系统运行的内核版本号
cat /proc/version
# 系统上次启动以来的时间
cat /proc/uptime
  • 进程目录下的文件
    • cwd:cwd 是一个软链接,指向项目运行目录
    • exe:exe 软链接,指向进程的可执行文件
    • environ:包括与进程相关的环境变量
    • fd: 包含了进程打开的每一个文件描述符,这些文件描述符是指向实际文件的一个符号链接。
    • limits: 保存进程使用资源的限制信息,包括软限制、硬限制已经取值单位。
    • task: 包含了当前进程所运行的每一个线程相关信息,每一个线程的相关信息文件均保存在一个线程号的目录下。
使用脚本监控Linux
#!/bin/bash

cpu_idle = $(top -n2 | grep 'Cpu' | tail -n 1 | awk '{ print $8}') 
cpu_usage = $(echo "100 - $cpu_idle" | bc) # cpu 利用率
mem_free = $(free -h | awk '/Mem:/ {print $4 + $6 +$7}')# 内存剩余
mem_total = $(free -h | awk '/Mem:/ {print $2}')# 内存总量
mem_used = $(echo "$mem_total - $mem_free") # 内存使用量
mem_rate = $(echo "$mem_used * 100 / mem_total" | bc) # 内存使用率 bc 用于计算
disk_usage = $(df -h / | tail -n 1 | awk '{print $5 }')# 磁盘使用率
disk_size = $(df -h / | tail -n 1 |awk '{print $2}') # 磁盘大小
disk_use = $(df -h / | tail -n 1 |awk '{print $3}') # 磁盘使用大小

echo "cpu 利用率 : $cpu_usage %"
echo "内存剩余 : $mem_free M"
echo "内存总量 : $mem_total %"
echo "内存使用量 : $mem_used %"
echo "内存使用率 : $mem_rate %"
echo "磁盘使用率 : $disk_usage %"
echo "磁盘大小 : $disk_size "
echo "磁盘使用大小 : $disk_use"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值