[英]Sending logs to elastic search using logstash
我在10.xx1中設置了單節點ELK,其中安裝了Logstash,Elastic Search和Kibana。
我的應用程序在另一台服務器10.xx2中運行,我希望將日志轉發到彈性搜索。
我在10.xx2中的日志文件/var/log/myapp/myapp.log
在10.xx1中,我在/etc/logstash/conf.d中提供了此輸入
input {
file {
path => "/var/log/myapp/myapp.log"
type => "syslog"
}
}
output {
elasticsearch {
hosts => ["10.252.30.11:9200"]
index => "versa"
}
}
我的問題如下
我可以回答1和2。
Logstash
上至少安裝Logstash
(不推薦)或Filebeat
或Packetbeat
之一。 Filebeat或Packetbeat都很不錯,而且可以從Elastic.co公司免費獲得。 Packetbeat用於通過網絡而不是日志文件捕獲應用程序日志。 對於您的情況,使用文件日志,只需使用Filebeat。 (filebeat .yml)
才能將其日志記錄到10.xx1 filebeat: prospectors: - paths: - /var/log/myapp/myapp.log
和
logstash: hosts: ["10.xx1:5044"]
在安裝了Logstash的10.xx1上(以及用於安裝ELK的其他文件),您需要為Logstash創建一些配置文件:
02-beats-input.conf
的輸入文件添加到/etc/logstash/conf.d/
input { beats { port => 5044 ssl => false } }
03-myapp-filter.conf
的過濾器文件添加到/etc/logstash/conf.d/
。 您應該找到一個匹配您的日志的過濾器模式。 對於2:
Kibana充當Elasticsearch的Web界面。 一旦啟動,默認情況下它將在端口5601上可用。然后,您可以使用發現界面搜索術語,例如“錯誤”。 它將返回該術語的前500個文檔。
對於3:
另一個Elasticsearch將允許您在節點之間傳播數據。 但是,節點可以輕松處理幾千兆字節而不會出現問題。
對於4:
您無法為數據設置有效期限。 至少它不是自動的,您必須搜索所有今天到期的日志並將其刪除。
另一個解決方案(也是更好的解決方案)是每天有一個索引( index => "versa-%{+YYYY.MM.dd}"
),然后在7天后刪除索引(使用Elasticsearch策展人和cron輕松完成)工作)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.