LINUX.ORG.RU
ФорумAdmin

LogStash + Zabbix error

 ,


0

1

Немного вводной:

Zabbix живет на CentOs 6.5.

LogStash на Windows 7.

Пытаюсь заставить LogStash отправлять данные в Заббикс.

test.conf:

input
{
    file
    {
        path => "C:\Users\test\Documents\error.log"
    }
}

filter{
    ruby
    {
        code =>
        "
        if event['message'].include?('test') then  ##  DROP all lines by filter
                event.cancel
        end
#        event['zabbix_host'] = 'windows' #   (the host configured in Zabbix)
#        event['zabbix_item'] = 'win.key' #   (the item key on the host in Zabbix)
        event['send_field'] = 'message' #   (the field name that is sending to Zabbix)
        "
    }
}

output {
        zabbix
        {
            zabbix_server_host => '192.168.93.179'
	    zabbix_host => windows
#	    multi_value => ['win.key']
	    zabbix_key => "win.key"
        }
         file {
             path => "C:\Users\test\Documents\parse-error.log"
         }

}

Однако при выполнении получаю ошибку:

Field referenced by windows is missing

ОДНАКО! В Заббиксе хост с именем windows определен и имеет ip машины, на которой я настраиваю logstash. Для проверки связи (мало ли) выполнил команду:

zabbix_sender.exe -z 192.168.93.179 -p 10051 -s windows -k win.key -o mzfk

Эта команда успешно выполнилась и в Latest date я увидел то, что отправил.

В чем я не прав?

Мб поможет.

Для людей, которые хотят помочь:

В данном описании я пользуюсь logstash 2.0.0

До этого использовал версию 1.2.4, но она с виндой совсем не дружит. Конфиг файл изначально был написан для 1.2.4, потом переделан под 2.0.0, скорее всего где-то в нем скрывается ошибка.

Так же я не понимаю следующего. 1.2.4 для отправки сообщения в заббик использует приблуду zabbix_sender. Месторасположение zabbix_sender'а указывается в output, однако в 2.0.0 я не нашел как указать zabbix_sender, и сложилось впечатление, что он совсем не нужен. Так ли это?

zabbixtime
() автор топика
Ответ на: комментарий от pewpewpewpew

Не совсем понял.

потому что нет event['windows']

Наверно с помощью этого можно создать поле (Field) в фильме Руби, однако я с этим не очень знаком (почитаю).

Однако я настроил и все заработало. Для тех, кто сюда попал через поисковик в поисках решения: Logstash 2.0.0, в отличии от прошлых версий в переменных «zabbix_host» и «zabbix_key» хотел видеть не явное имя того или иного. Ему нужно указать ПОЛЯ (Field), которые были созданы ранее, и в которых записана нужная информация. Я сделал так: В фильтре добавит новую обрабоку (идет сразу после руби):

mutate
{
add_field => {
«zhost» => «windows» #Имя хоста в Заббиксе
«zkey» => «windows.key» #Имя ключа нужного итема в Заббиксе
}
}

а в Output:

output {
zabbix
{
zabbix_server_host => «HOSTNAME»
zabbix_host => «zhost»
zabbix_key => «zkey»
}
}

Надеюсь кому-то помогло ;)

zabbixtime
() автор топика
Ответ на: комментарий от pewpewpewpew

разобрался.

Разобрался что имел в виду pewpewpewpew.

То что я раньше писал про mutate - лишнее, можно просто в фильтре руби добавить строчки:

event['zhost'] = 'windows'
event['zkey'] = 'windows.key'

zabbixtime
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.