2017-01-03 6 views
0

Я очень новичок в elasticsearch-kibana-logstash и, похоже, не могу найти решение для этого.Создать индекс в кибане без использования kibana

Я пытаюсь создать индекс, который я увижу в kibana, не используя команду POST в разделе «Инструменты».

Я поставил test.conf-

input { 
file { 
    path => "/home/user/logs/server.log" 
    type => "test-type" 
    start_position => "beginning" 
} 
} 

output { 
elasticsearch { 
    hosts => ["localhost:9200"] 
    index => "new-index" 
} 
} 

, а затем

bin/logstash -f test.conf из logstash каталога

то, что я получаю, что я не могу найти новый индекс в kibana (индекс шаблоны), когда я использую elasticsearch - http://localhost:9200/new-index/, он представляет ошибку, и когда я перехожу на http://localhost:9600/ (порт, который он показывает), у него нет никаких ошибок

Большое спасибо за помощь!

+0

Что вы имеете в виду, что вы не можете найти 'новый-индекс', который вы пытаетесь создать, используя' logstash', в вашем списке индексов в 'http: // localhost: 9200'? – Kulasangar

+0

Не могу найти его в кибане .. Разве это не должно быть там ...? – Dardar1991

+0

Я также попытался установить 'hosts => [" http: // localhost: 5601/"]' (порт kibana) без успеха либо – Dardar1991

ответ

0

Я на самом деле удалось создать индекс даже без первого его создания в Kibana

Я использовал следующий конфигурационный файл -

input { 
    file { 
    path => "/home/hadar/tmp/logs/server.log" 
    type => "test-type" 
    id => "NEWTRY" 
    start_position => "beginning" 
} 
} 

filter { 
    grok { 
    match => { "message" => "%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day} %{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second} - %{LOGLEVEL:level} - %{WORD:scriptName}.%{WORD:scriptEND} - " } 
    } 
} 

output { 
    elasticsearch { 
    hosts => ["localhost:9200"] 
    index => "new-index" 
    codec => line { format => "%{year}-%{month}-%{day} %{hour}:%{minute}:%{second} - %{level} - %{scriptName}.%{scriptEND} - \"%{message}\"" } 
    } 
} 

Я удостоверился, что индекс не был уже в Kibana (I пробовал с другими именами индексов тоже, чтобы быть уверенным ...), и в итоге я увидел индекс с информацией журнала в обеих Kibana (я добавил его в разделе индексного рисунка) и Elasticsearch, когда я перешел на http://localhost:9200/new-index

только я должен сделали было стереть .sincedb_XXX файлы, которые создаются под data/plugins/inputs/file/ после каждого Logstash запустить

ИЛИ

другое решение (только для тестов среды) является добавление sincedb_path=>"/dev/null" плагину файла ввода, который указывает не создать .sincedb_XXX file

0

Это очевидно, что вы не сможете найти индекс, который вы создали с помощью logstash в Kibana, если вы не вручную создать его там в Managemen секции Kibana.

Убедитесь, что у вас есть то же имя индекса, который вы создали с помощью logstash. Посмотрите на doc, который транспортирует:

При определении шаблона индекса, индексы, которые соответствуют этому шаблону должен существовать в Elasticsearch. Эти индексы должны содержать данные.

, который в значительной степени говорит о том, что индекс должен существовать для вас, чтобы создать индекс в Kibana. Надеюсь, поможет!

+0

Спасибо, я догадываюсь, что я пропустил понимание концепции этих инструментов ... Я думал, что это все один подключенный инструмент, но я думаю, что это не – Dardar1991

+0

Да, это правильно. Это в основном стопка продуктов, которая имеет собственный способ обработки. Но тогда ES действует как ядро ​​вокруг стека. – Kulasangar

Смежные вопросы