不定时更新:
1、非正常断电。
服务器突然断电,ups不管用的时候重启启动服务器,这时要先启动zabbix-srever-mysql,再启动zabbix-server,最后启动zabbix-agent。
启动后看不到监控数据可以重新为主机添加模板就可以了。
2、共享内存异常。
共享内存指的是在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。
一次在使用的过程中出现错误。
zabbix的图形界面显示的是zabbix server is not running…
我以为是看错了,结果真的不能操作,后来查看状态发现zabbix-server死了。
日志出现如下 内容:
zabbix_server [7368]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [7374]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [7382]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [7386]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [7391]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [7395]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [7399]: cannot open log: cannot create semaphore set: [28] No space left on device
我就很懵逼,正常运行的情况下也会出现这个???
重启起不来。
在这个配置文件这样写:
[root@localhost ~]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
kernel.sem = 500 64000 64 256
上面的4个数据分别对应:SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数,具体含义和配置如下。
SEMMSL:每个用户拥有信号量最大数量
SEMMNS:系统信号量最大数量
SEMOPM:每次semop系统调用操作数
SEMMNI:系统信号量集最大数量
SEMMSL:每个信号量set中信号量最大个数 设置:默认为250;对于processes参数设置较大的系统建议设置为processes+10
SEMMNS:linux系统中信号量最大个数 设置:默认为32000;SEMMSL * SEMMNI
SEMOPM:semop系统调用允许的信号量最大个数设置:默认为32;或者等于SEMMSL
SEMMNI:linux系统信号量set最大个数 设置:默认为128
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。semaphore就像是能容纳一定人数的电影院,SEMMSL就像是电影票,它和座位是一对一的。票全卖出去了就意味着没有座位了,你进不去,只能等有人出来,或者电影演完才能进。
现在zabbix死了,那么就说明系统默认的不够了,扩大点就可以了。于是上边就扩大了一倍。
然后重新加载文件,重启zabbix,这时发现已经可以起来了。
但是根本的问题没有解决,之前占用的那些信号没有释放。
可以ipcs查一下
[root@localhost ~]# ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 4423680 zabbix 600 14
0x00000000 196609 apache 600 1
0x00000000 229378 apache 600 1
然后把zabbix的全杀掉重启。
[root@localhost ~]# ipcs -s | awk '/zabbix/{print $2}' | xargs -n 1 ipcrm -s
这时重启就OK了。