Назад | Перейти на главную страницу

God Process Monitoring - CentOS - Система событий не найдена

у меня есть god установлен как минимум на дюжине (или более) серверов под управлением CentOS 5.5 в версиях i386 и x86_64, которые отлично работают. Я просто установил два новых сервера CentOS 5.5 x86_64 и установил God, но получаю системную ошибку:

$ tail /var/log/god.log 
E [2011-04-22 12:33:17] ERROR: Condition 'God::Conditions::ProcessExits' 
requires an event system but none has been loaded 

$ god check 
using event system: none 
[fail] event system did not load 

$ uname -a 
Linux server2.example.com 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux 

Я не могу найти cn или netlink модуль ядра на любом из моих серверов CentOS. Но у меня есть и другие сервера, которые нормально работают:

$ god check 
using event system: netlink 
starting event handler 
forking off new process 
forked process with pid = 17559 
killing process 
[ok] process exit event received 

$ uname -a 
Linux server1.example.com 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux 

Все серверы работают под управлением ruby ​​v1.8.6-399:

# ruby -v
ruby 1.8.6 (2010-02-05 patchlevel 399) [x86_64-linux]

Ruby происходит из репозитория ELFF:

# rpm -qi ruby
Name        : ruby                         Relocations: (not relocatable)
Version     : 1.8.6.399                         Vendor: Bravenet ELFF <elff@bravenet.com>
Release     : 2.el5                         Build Date: Fri Apr 16 18:53:48 2010
Install Date: Thu Mar 24 11:23:48 2011         Build Host: el-build.local
Group       : Development/Languages         Source RPM: ruby-1.8.6.399-2.el5.src.rpm
Size        : 1738695                          License: Ruby or GPLv2
Signature   : DSA/SHA1, Fri Apr 16 19:07:49 2010, Key ID 551751dfe8b071d6
Packager    : Bravenet ELFF <elff@bravenet.com>

Я немного покопался и вижу, как возникает исключение, когда Бог пытается загрузить обработчик событий Netlink:

no such file to load -- netlink_handler_ext 

Что может отличаться между моими серверами? Я что-то упустил?

netlink_handler_ext - это собственное расширение Ruby, которое является частью Бога. Похоже, что Бог не может загрузить это собственное расширение либо потому, что оно никогда не было скомпилировано и гем не был установлен правильно, либо он не был добавлен в его путь загрузки.

Используйте "gem env" для проверки среды вашего гема, вы сможете найти, где установлен гем, и вручную проверить, присутствует ли собственное расширение на нем.