У меня есть настройки с Elastic Search, Log Stash, Kibana и Filebeat с версиями, как показано ниже.
1) Эластичный поиск: 6.2.4
2) LogStash: 6.2.4
3) кибана: 6.2.4
Мой конвейер Logstash выглядит так:
sudo vim /etc/logstash/conf.d/02-beats-input.conf
input {
beats {
port => "5044"
ssl => true
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}
filter {
#If log line contains tab character followed by 'at' then we will tag that
entry as stacktrace
if [message] =~ "\tat" {
grok {
match => ["message", "^(\tat)"]
add_tag => ["stacktrace"]
}
}
#Grokking Spring Boot's default log format
grok {
match => { "message" => "(?<timestamp>%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %
{TIME}) %{LOGLEVEL:level} %{NUMBER:pid} --- \[(?<thread>[A-Za-z0-
9-]+)\] [A-Za-z0-9.]*\.(?<class>[A-Za-z0-9#_]+)\s*:\s+(?
<logmessage>.*)"}
}
#grok {
# match => { "message" => "(?<timestamp>%{YEAR}-%{MONTHNUM}-%{MONTHDAY}
# %{TIME}) %{LOGLEVEL:level} %{NUMBER:pid} --- .+? :\s+(?
# <logmessage>.*)"}
#}
grok {
match => { "source" => "/var/log/containers/%{DATA:pod_name}_%
{DATA:namespace}_%{GREEDYDATA:container_name}-%{DATA:container_id}.log"
}
remove_field => ["source"]
}
sudo vim /etc/logstash/conf.d/30-elasticsearch-output.conf
output {
elasticsearch {
hosts => ["localhost:9200"]
sniffing => true
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
Упругий поиск, Kibana, Logstash выполняются на одной виртуальной машине, где приложение и Filebeat работают на другой виртуальной машине.
В настоящее время существует несоответствие с датой между этими двумя виртуальными машинами, которое мне еще нужно исправить.
Последний вход в систему обнаружения кибаны приведен ниже с определенной отметкой времени.
message:
{"log":"TACACS+: No port assigned for host, \"XX.XX.XX.XX\". Using default
port 49 instead.\n","stream":"stdout","time":"**2018-05-
17T00:58:09.401752809Z**"}
@timestamp:
May 16th 2018, 17:58:09.408
Последний журнал в приложении, как указано ниже, с определенной отметкой времени.
{"log":"TACACS+: No port assigned for host, \"XX.XX.XX.XX\". Using default
port 49 instead.\n","stream":"stdout","time":"**2018-05-
17T06:06:44.365607578Z**"}
Если вы видите вышеупомянутые два журнала, ясно, что kibana показывает журналы с некоторой задержкой, особенно в вышеупомянутом случае, это имеет задержку около 5 часов. Я также вижу, что задержка продолжает увеличиваться. Я вижу все журналы на кибане, хотя. Проблема в задержке, которую я вижу.
Может ли кто-нибудь помочь мне понять это поведение? Это из-за расхождения во времени между двумя виртуальными машинами? оба находятся в часовом поясе PDT. Размер бревна должен быть достаточно маленьким, и я не ожидаю каких-либо удушающих ударов.
Пожалуйста, дайте мне знать, если вам нужны другие подробности по этому вопросу.