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
查看共享内存段:
[root@10.0.3.122 ~]# 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
删除该共享内存即可:
[root@10.0.3.122 ~]# ipcrm -m 327680 #删除共享内存(注意,这里对共享内存段的操作要使用shmid值)
[root@10.0.3.122 ~]# 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的信号队列:
[root@10.0.3.122 ~]# 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信号量数组
[root@10.0.3.122 ~]# ipcrm -S 0x7a02188f
[root@10.0.3.122 ~]# 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改变了
[root@10.0.3.122 ~]# 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
[root@10.0.3.122 ~]# ll /etc/zabbix/ -d
drwxr-x---. 5 498 499 4096 Feb 14 09:42 /etc/zabbix/
[root@10.0.3.122 ~]# chown zabbix:zabbix /etc/zabbix/ -R
[root@10.0.3.122 ~]# ll /etc/zabbix/ -d
drwxr-x---. 5 zabbix zabbix 4096 Feb 14 09:42 /etc/zabbix/
[root@10.0.3.122 ~]# 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
[root@10.0.3.122 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [FAILED]
Starting Zabbix agent: [ OK ]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能