主要内容:
监控基础(系统监控命令、监控软件)、Zabbix监控服务端部署、Zabbix监控客户端部署、创建监控主机、调用监控模板、自定义key、创建模板、应用集、监控项、绑定模板;
一、监控概述
1)监控的目的
① 实时报告系统的运行情况
每一部分必须同时监控,内容包括吞吐量、反应时间、使用率等;
② 提前发现系统的问题
进行服务器性能调整前,知道调整方向,且找出系统的瓶颈;
2)监控的资源类别
① 公开数据(共有数据)
- Web(HTTP)、FTP、SSH、数据库等应用服务;
- TCP或UDP端口;
② 私有数据
- CPU、内存、磁盘、网卡流量等使用信息;
- 用户、进程等运行信息;
3)系统监控命令
- ps //查看进程
- uptime //查看系统登录时间、平均负载量
- free //查看内存信息(剩余内存容量)
- swapon -s //查看交换分区信息
- df -h //查看磁盘信息和挂载(查看所有磁盘的使用率)
- ifconfig //查看网卡信息
- netstat 或ss //查看服务端口信息
- ping //ping访问测试
- traceroute //路由跟踪
- iostat //查看进程IO请求下发的数量
4)自动化监控系统软件
- Cacti,基于SNMP协议的监控软件,强大的绘图能力;
- Nagios,基于Agent监控,强大的状态检查与报警机制,插件较多,可写监控脚本嵌入到Nagios非常方便;
- Zabbix,基于多种监控机制,支持分布式监控;
- Prometheus,可监控podman容器;
案例:常用系统监控命令
- 查看内存信息(free)
- 查看交换分区信息(swapon -s)
- 查看磁盘信息(df -h)
- 查看CPU信息(uptime)
- 查看网卡信息(ifconfig)
- 查看端口信息(netstat、ss)
例如1:使用命令查看计算机状态数据
1)查看内存与交换分区信息
[root@web1 ~]# free //查看内存信息
total used free shared buff/cache available
Mem: 1446804 53280 1313996 8632 79528 1270840
Swap: 0 0 0
[root@web1 ~]# free | awk '/Mem/{print $4}' //通过awk查看剩余内存容量
1313776
[root@web1 ~]# swapon -s //查看交换分区信息
文件名 类型 大小 已用 权限
/dev/sda3 partition 4194300 218268 -1
例如2:查看磁盘与CPU利用率
1)查看磁盘信息
[root@web1 ~]# df -h //查看所有磁盘的使用率
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 30G 1.3G 29G 5% /
devtmpfs 697M 0 697M 0% /dev
tmpfs 707M 0 707M 0% /dev/shm
tmpfs 707M 8.5M 699M 2% /run
tmpfs 707M 0 707M 0% /sys/fs/cgroup
tmpfs 142M 0 142M 0% /run/user/0
[root@web1 ~]# df -h | awk '/\/$/{print $5}' //查看根分区的利用率
5%
2)查看CPU平均负载
[root@web1 ~]# uptime //查看CPU平均负载量(1,5,15分钟)
10:40:52 up 41 min, 1 user, load average: 0.00, 0.00, 0.00
[root@web1 ~]# uptime | awk '{print $NF}' //仅查看CPU的15分钟平均负载
0.00
例如3:查看网卡信息、端口信息、网络连接信息
1)查看网卡信息(没有ifconfig命令则需安装net-tools软件包)
[root@web1 ~]# ifconfig eth0 //查看eth0网卡信息
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 52:54:00:c3:4d:20 txqueuelen 1000 (Ethernet)
RX packets 3974 bytes 458236 (447.4 KiB)
RX errors 0 dropped 1437 overruns 0 frame 0
TX packets 298 bytes 26816 (26.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@web1 ~]# ifconfig eth1 | awk '/inet /{print $2}' //查看IP地址信息
192.168.2.100
[root@web1 ~]# ifconfig eth1 | awk '/RX p/{print $5}' //网卡接收数据包流量
515054
[root@web1 ~]# ifconfig eth1 | awk '/TX p/{print $5}' //网卡发送数据包流量
73638
2)查看端口信息
[root@web1 ~]# ss -nlptu //查看本机监听的所有端口
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 127.0.0.1:323 *:* users:(("chronyd",pid=455,fd=1))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=466,fd=3))
[root@web1 ~]# ss -anptu //查看所有的网络连接信息
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 127.0.0.1:323 *:* users:(("chronyd",pid=455,fd=1))
tcp LISTEN 0 128 *:22 &