zabbix自定义监控系统信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env bash

#系统时间
system_start_time=$(uptime|awk '{print $3}'|awk -F ',' '{print $NR}')

#cpu负载信息
cpu_avg1=$(top -bn 1 |grep 'load average' |awk -F ":" '{print $5}'|awk -F ',' '{print $1}')
cpu_avg5=$(top -bn 1 |grep 'load average' |awk -F ":" '{print $5}'|awk -F ',' '{print $2}')
cpu_avg15=$(top -bn 1 |grep 'load average' |awk -F ":" '{print $5}'|awk -F ',' '{print $3}')

#内存信息
memory_total="$(free -m | awk '/Mem:/ {print $2}')"
memory_used="$(free -m | awk '/Mem:/ {print $3}')"
memory_free="$(free -m | awk '/Mem:/ {print $4}')"
memory_available="$(free -m | awk '/Mem:/ {print $NF}')"

#磁盘信息


#网络流量
interface="enp4s0" # 网卡名称
interval=1 # 输出时间间隔
rx_rate=$(sar -n DEV $interval 1|grep "$interface"|awk NR==1 | awk '{print $6}')
tx_rate=$(sar -n DEV $interval 1|grep "$interface"|awk NR==1 | awk '{print $7}')

case $1 in
cpu_avg1)
echo $cpu_avg1
;;
cpu_avg5)
echo $cpu_avg5
;;
cpu_avg15)
echo $cpu_avg15
;;
memory_total)
echo $memory_total
;;
memory_used)
echo $memory_used
;;
memory_free)
echo $memory_free
;;
memory_available)
echo $memory_available
;;
rx_rate)
echo $rx_rate
;;
tx_rate)
echo $tx_rate
;;
esac