zabbix_agentd重装后启动时IPC和共享内存段问题

zabbix_agentd不知为啥被干掉后重装了zabbix,zabbix用户组id也变了。

重装zabbix后导致zabbix_agentd无法启动,两个问题

问题1:

zabbix_agentd [4796]: cannot attach to existing shared memory: [13] Permission denied
4796:20190213:172151.185 cannot allocate shared memory for collector

查看共享内存段:

[[email protected] ~]# ipcs -m
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x6c01c2b4 327680     498        600        292944     0 
0x00000000 32769      root       600        134217728  129         dest

以上几个字段的意思是:键 shmid 拥有者 权限 字节 nattch 状态

其中key为0x6c01c2b4的内存段owner为498,是zabbix用户旧的uid

删除该共享内存即可:

[[email protected] ~]# ipcrm -m 327680 #删除共享内存(注意,这里对共享内存段的操作要使用shmid值)
[[email protected] ~]# ipcs -m
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x00000000 32769      root       600        134217728  129         dest

重启zabbix即可

问题2:

zabbix_agentd [13265]: cannot recreate Zabbix semaphores for IPC key 0x7a02188f Semaphore ID 4294967295: [22] Invalid argument

报错提示了key 0x7a02188f
查看KEY为0x7a02188f的信号队列:

[[email protected] ~]# ipcs 0x7a02188f

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00000000 0          root       600        1         
0x00000000 32769      root       600        1         
0x7a02188f 196610     498        600        14  #问题在这里,owner的uid是旧zabbix用户id      
0x7a020002 294915     zabbix     600        14        

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages    

删除KEY为0x7a02188fde信号量数组

[[email protected] ~]# ipcrm -S 0x7a02188f
[[email protected] ~]# ipcs 0x7a02188f     

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00000000 0          root       600        1         
0x00000000 32769      root       600        1         
0x7a020002 294915     zabbix     600        14        

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages    

重启zabbix即可

以上两个问题原因:

zabbix_agentd异常关闭导致信号量数组和共享内存段的属主还是旧uid,但是每个进程启动的时候其key值是固定的,所以重装zabbix后,它没有权限删除和重新创建信号量数组和共享内存段,从而出现了无法启动的问题

以上问题的解决也是参考网上的博客文档,可能存在不足,后续完善。

问题3:

zabbix_agentd [13172]: cannot create IPC key for path [/etc/zabbix/zabbix_agentd.conf] id [l]: [13] Permission denied
 13172:20190214:103932.147 cannot create IPC key for collector

这个问题是zabbx 配置文件的目录没权限导致的,还是之前重装zabbix导致zabbix用户组id改变了

[[email protected] ~]# ll /etc/zabbix/
total 32
drwxr-xr-x 2 498 499  4096 Feb 11 15:40 plugins
drwxrwxr-x 2 498 499  4096 Feb  1 11:00 plugins_conf
-rw-r--r-- 1 498 499  5832 Nov 13 05:41 zabbix_agentd.conf
-rw-r--r-- 1 498 499 10423 Jan 28 18:48 zabbix_agentd.conf.rpmnew
drwxr-xr-x 2 498 499  4096 Feb 11 15:40 zabbix_agentd.d
[[email protected] ~]# ll /etc/zabbix/ -d
drwxr-x---. 5 498 499 4096 Feb 14 09:42 /etc/zabbix/
[[email protected] ~]# chown zabbix:zabbix  /etc/zabbix/ -R              
[[email protected] ~]# ll /etc/zabbix/ -d                   
drwxr-x---. 5 zabbix zabbix 4096 Feb 14 09:42 /etc/zabbix/
[[email protected] ~]# ll /etc/zabbix/
total 32
drwxr-xr-x 2 zabbix zabbix  4096 Feb 11 15:40 plugins
drwxrwxr-x 2 zabbix zabbix  4096 Feb  1 11:00 plugins_conf
-rw-r--r-- 1 zabbix zabbix  5832 Nov 13 05:41 zabbix_agentd.conf
-rw-r--r-- 1 zabbix zabbix 10423 Jan 28 18:48 zabbix_agentd.conf.rpmnew
drwxr-xr-x 2 zabbix zabbix  4096 Feb 11 15:40 zabbix_agentd.d
[[email protected] ~]# /etc/init.d/zabbix-agent restart 
Shutting down Zabbix agent:                                [FAILED]
Starting Zabbix agent:                                     [  OK  ]

猜你喜欢

转载自www.cnblogs.com/wshenjin/p/10373429.html