1.问题
Lack of free swap space on Zabbix server
在监控云主机的时候经常会遇到这种情况,虽然内存基本没用,但是就是提示这个消息
因为zabbix不 会考虑云主机,云主机没有swap,Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。也就是说得有物理内存
2.解决
我这里有两个linux服务器,test是amazon的,zabbix server是阿里云的.
使用的监控模板是Template OS Linux
Configuration-Templates-Template OS Linux-Triggers
选择Lack of free swap space on {HOST.NAME}
如果不想监测linux系统的swap,可以 将Expression修改为:{Template OS Linux:system.swap.size[,pfree].last(0)}<>0
因为swap一直为0,所以不会触发。也可以禁用这个监控项目的触发
Host-test agent-triggers-Template OS Linux: Lack of free swap space on {HOST.NAME}-disable
禁用所有的这个linux 触发
Configuration-Templates-Template OS Linux-Triggers-Template OS Linux: Lack of free swap space on {HOST.NAME}-disable
我把我的zabbix server的这个触发禁用,对test agent增加swap
amazon ec2如何增加swap?
1.查看当前系统中是否已经启用swap分区
[centos@ip-172-31-18-11 ~]$ cat /proc/swaps
Filename Type Size Used Priority
[centos@ip-172-31-18-11 ~]$
2.如果没有启用swap分区功能,则新建一个专门的文件用于swap分区
[centos@ip-172-31-18-11 ~]$ sudo mkdir /data
[centos@ip-172-31-18-11 ~]$ sudo dd if=/dev/zero of=/data/swap bs=512 count=8388616
8388616+0 records in
8388616+0 records out
4294971392 bytes (4.3 GB) copied, 63.751 s, 67.4 MB/s
[centos@ip-172-31-18-11 ~]$
注:dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,if=输入文件名,即指定源文件,of=输出文件名,即指定目的文件。此文件的大小是count的大小乘以bs大小,上面命令的大小是4294971392,即4GB
我们测试不需要这么大count=8388616=>count=8192,
bs*count=4194304,4MB
sudo dd
if
=
/dev/zero
of=
/data/swap
bs=512 count=8192
3.通过mkswap命令将上面新建出的文件做成swap分区
[centos@ip-172-31-18-11 ~]$ sudo mkswap /data/swap
Setting up swapspace version 1, size = 4194304 KiB
no label, UUID=5a04cd8e-411e-493a-882a-04f5bc251e1e
[centos@ip-172-31-18-11 ~]$
4.查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成30或者60
[centos@ip-172-31-18-11 ~]$ cat /proc/sys/vm/swappiness
30
[centos@ip-172-31-18-11 ~]$
sysctl -a |
grep
swappiness
调整命令
sysctl -w vm.swappiness=30
注:若想永久修改,则编辑/etc/sysctl.conf文件
5.启用此交换分区的交换功能
[centos@ip-172-31-18-11 ~]$ sudo swapon /data/swap
swapon: /data/swap: insecure permissions 0644, 0600 suggested.
[centos@ip-172-31-18-11 ~]$
6.查看添加效果
[centos@ip-172-31-18-11 ~]$ free
total used free shared buff/cache available
Mem: 1013892 73924 70364 57752 869604 703016
Swap: 4194304 0 4194304
[centos@ip-172-31-18-11 ~]$
7.查看test agent 这台服务器是否还有Lack of free swap space on Zabbix server报警
Dashboard 里的problem没有这个问题了。
参考链接:https://blog.csdn.net/windle89/article/details/77771483 zabbix报警 Lack of free swap space on zabbix
参考链接:https://yq.aliyun.com/articles/52098 阿里云云主机添加swap分区与swap性能优化