晋级Zabbix proxy到3.0.2后无法发动报错51CTO博客 - 众发娱乐

晋级Zabbix proxy到3.0.2后无法发动报错51CTO博客

2019年02月28日13时57分29秒 | 作者: 惜萍 | 标签: 发动,信号量,问题 | 浏览: 678

一 问题描绘

 将一台zabbix proxy由2.4.5晋级到3.0.2后发动了就直接溃散了。

 错误信息如下:

 

2367:20160508:153246.830 One child process died (PID:42385,exitcode/signal:11). Exiting ...

 

42367:20160508:153248.904 Zabbix Proxy stopped. Zabbix 3.0.2 (revision 59540).


将日志等级调高点,设置DebugLevel=4,检查报错

 42629:20160508:153529.004 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42628:20160508:153529.004 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42634:20160508:153529.004 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42651:20160508:153529.004 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42659:20160508:153529.004 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42661:20160508:153529.005 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42655:20160508:153529.005 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42663:20160508:153529.005 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42664:20160508:153529.005 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42666:20160508:153529.005 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42665:20160508:153529.006 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42667:20160508:153529.006 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42630:20160508:153529.006 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42668:20160508:153529.006 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42671:20160508:153529.006 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42670:20160508:153529.007 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42647:20160508:153529.007 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42674:20160508:153529.007 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42680:20160508:153529.007 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...
 42679:20160508:153529.008 Got signal [signal:15(SIGTERM),sender_pid:42623,sender_uid:498,reason:0]. Exiting ...


 9102:20160508:170455.283 End of zbx_strpool_destroy()
  9102:20160508:170455.283 End of free_configuration_cache()
  9102:20160508:170455.283 In free_ipmi_handler()
  9102:20160508:170455.283 End of free_ipmi_handler()
  9102:20160508:170455.284 In free_selfmon_collector() collector:0x7fa793e23000
  9102:20160508:170455.284 End of free_selfmon_collector()
  9102:20160508:170455.284 In unload_modules()
  9102:20160508:170455.284 End of unload_modules()
  9102:20160508:170455.284 Zabbix Proxy stopped. Zabbix 3.0.2 (revision 59540).
zabbix_proxy [9152]: [file:selfmon.c,line:375] lock failed: [22] Invalid argument


总共有4台proxy,每台proxy的操作体系版别都是CentOS6。就独自这一台zabbix proxy发动有问题,刚发动就有进程死掉。



二 问题处理

检查这台proxy服务器的内核版别是3.9.8-1.el6.elrepo.x86_64,而其他几台proxy的内核版别是2.6.32-358.el6.x86_64 刚开始也没有朝着内核版别的问题方向考虑。认为仍是proxy的版别或许体系参数设置有问题。

1.排查Linux下的信号量

检查Zabbix的官方BUG追寻渠道Invalid argument可能是信号量达到了约束

能够测验增大信号量的值

echo 256 40000 32 32000 > /proc/sys/kernel/sem

这个四个参数分别是

SEMMSL 每个信号量集的含有的信号量的最大值

SEMMNS 体系层面的信号量数量最大约束

SEMOPM semop(2)调用能够指定的最大操作数量

SEMMNI 体系层面的信号数量最小约束


经过echo方法更改重启后会失效,能够更改/etc/sysctl.conf

kernel.sem = 250 32000 100 10000

然后履行sysctl -p

更改参数后proxy发动仍然会溃散



2.排查内核版别原因


Updating to latest kernel (3.10.0-327.10.1.el7.x86_64) + reboot solved it for me 
The error reported originally may be something else than what affected me.


检查帖子怀疑是内核版别形成的,这台proxy曾经有人晋级过内核,更改linux发动项设置默许发动内核为2.6.32.重启后问题得到处理,proxy不再溃散。可是之前proxy 2.4.5在3.9.8的内核上能够正常运转。

遇到这个BUG的人挺多的,有好几个帖子都是反应这个问题。


三 弥补常识

这个BUG涉及到Linux下的信号量相关的常识。信号量是为了处理在多进程编程下资源同享的问题。闻名的用信号量来处理的就是哲学家就餐问题。

Linux下运用ipcs指令来检查同享内存,信号量和音讯行列

ipcs 默许是-a参数,显现一切信息

# ipcs

 Shared Memory Segments 
key        shmid      owner      perms      bytes      nattch     status      
0x6c6c6536 0          root       600        4096       0                       
0x68031618 1835009    zabbix     600        8388583    0                                           
0x6c030ad7 11632648   zabbixagen 600        365056     13                      
0x68031672 2392073    zabbix     600        8388583    0                       
0x78031672 2424842    zabbix     600        16777216   0                       
0x74031672 2457611    zabbix     600        4194304    0                       
0x67031672 2490380    zabbix     600        1336934400 0                       
0x73031672 2523149    zabbix     600        235929600  0                       
                     
                

 Semaphore Arrays 
key        semid      owner      perms      nsems     
0x00000000 0          root       600        1         
0x00000000 32769      root       600        1         
0x00000000 4325378    apache     600        1         
0x7a031618 622595     zabbix     600        12        
0x00000000 4358148    apache     600        1         
0x7a030ad7 4292613    zabbixagen 600        13        
0x7a031672 851974     zabbix     600        12        
0x7a031638 1015815    zabbix     600        12        
0x7a031620 1441800    zabbix     600        12        
     

 Message Queues 
key        msqid      owner      perms      used-bytes   messages


ipcs -m  独自显现同享内存片段信息

ipcs -s  独自显现信号量

ipcs -q  独自显现音讯行列

# ipcs -u

 Shared Memory Status 
segments allocated 71
pages allocated 1795473
pages resident  68130
pages swapped   57636
Swap performance: 0 attempts	 0 successes

 Semaphore Status 
used arrays = 16
allocated semaphores = 152

 Messages: Status 
allocated queues = 0
used headers = 0
used space = 0 bytes






参考资料:

https://support.zabbix.com/browse/ZBX-10657

http://www.cnblogs.com/forilen/p/4316358.html

https://support.zabbix.com/browse/ZBX-3974

http://blog.zabbix.com/mysterious-zabbix-problems-how-we-debug-them/1023/

https://en.wikipedia.org/wiki/Semaphore_(programming)




版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    oracle存储进程记载ITeye

    参数,调用,游标
  • 3

    oracle学习笔记1ITeye

    运用,数据库,特性
  • 4

    oracle学习笔记1ITeye

    运用,数据库,特性
  • 5
  • 6
  • 7
  • 8
  • 9

    oracle数据同步技能ITeye

    数据,技能,数据库
  • 10