在单个节点弹性搜索和logstash中,我们用20 In和200 In的文件解析测试了在不同类型的AWS实例(如中型、大型和Xlarge )上的弹性搜索。
Logstash conf
input {
file {
}
}
filter {
mutate
{
gsub => ["message", "\n", " "]
}
mutate
{
gsub => ["message", "\t", " "]
}
multiline
{
pattern => "^ "
what => "previous"
}
grok { match => [ "message", "%{TIME:log_time}\|%{WORD:Message_type}\|%{GREEDYDATA:Component}\|%{NUMBER:line_number}\| %{GREEDYDATA:log_message}"]
match => [ "path" , "%{GREEDYDATA}/%{GREEDYDATA:loccode}/%{GREEDYDATA:_machine}\:%{DATE:logdate}.log"]
break_on_match => false
}
#To check location is S or L
if [loccode] == "S" or [loccode] == "L" {
ruby {
code => " temp = event['_machine'].split('_')
if !temp.nil? || !temp.empty?
event['_machine'] = temp[0]
end"
}
}
mutate {
add_field => ["event_timestamp", "%{@timestamp}" ]
replace => [ "log_time", "%{logdate} %{log_time}" ]
# Remove the 'logdate' field since we don't need it anymore.
lowercase=>["loccode"]
remove => "logdate"
}
# to get all site details (site name, city and co-ordinates)
sitelocator{sitename => "loccode" datafile=>"vendor/sitelocator/SiteDetails.csv"}
date { locale=>"en"
match => [ "log_time", "yyyy-MM-dd HH:mm:ss", "MM-dd-yyyy HH:mm:ss.SSS","ISO8601" ] }
}
output {
elasticsearch{
}
}环境详细信息:中型实例3.75RAM 1核存储:4 GB SSD 64位网络性能:中度实例运行: Logstash,弹性搜索
设想:1
**With default settings**
Result :
20mb logfile 23 mins Events Per/second 175
200mb logfile 3 hrs 3 mins Events Per/second 175
Added the following to settings:
Java heap size : 2GB
bootstrap.mlockall: true
indices.fielddata.cache.size: "30%"
indices.cache.filter.size: "30%"
index.translog.flush_threshold_ops: 50000
indices.memory.index_buffer_size: 50%
# Search thread pool
threadpool.search.type: fixed
threadpool.search.size: 20
threadpool.search.queue_size: 100
**With added settings**
Result:
20mb logfile 22 mins Events Per/second 180
200mb logfile 3 hrs 07 mins Events Per/second 180场景2
环境详细信息: R3大型15.25RAM 2核存储:32 GB SSD 64位网络性能:中度实例运行: Logstash,弹性搜索
**With default settings**
Result :
20mb logfile 7 mins Events Per/second 750
200mb logfile 65 mins Events Per/second 800
Added the following to settings:
Java heap size: 7gb
other parameters same as above
**With added settings**
Result:
20mb logfile 7 mins Events Per/second 800
200mb logfile 55 mins Events Per/second 800设想3
环境详细信息: R3高内存超大内存r3.xLarge30.5RAM 4核存储:32 GB SSD 64位网络性能:中度实例运行: Logstash,弹性搜索
**With default settings**
Result:
20mb logfile 7 mins Events Per/second 1200
200mb logfile 34 mins Events Per/second 1200
Added the following to settings:
Java heap size: 15gb
other parameters same as above
**With added settings**
Result:
20mb logfile 7 mins Events Per/second 1200
200mb logfile 34 mins Events Per/second 1200我想知道
感谢在这方面的任何帮助,因为我是新的日志和弹性搜索。
发布于 2015-02-18 11:24:45
1-如果您想要评论您的perf,我们需要看到您的logstash配置。
Logstash性能是过滤器/输出/工作人员设置的混合体。
多过滤器=更少的事件/秒。
一个好主意是扩大规模,如果您有逻辑存储的额外问题。更多的工作人员--更多的实例--可能会增加事件/秒/秒。人们与发送者一起工作到拉比姆queu和规模逻辑存储节点后面。
2-见1
3-有IO限值,而索梅汀有较好的节数。Elasticsearch被设计用于处理碎片/节点等。
4-日志存储监测目前只是过程监测。使用java调试器可以找到一些线索,但是您必须在logstash用户组中找到信息。对于elasticsearch来说,监视elasticsearch集群是一个奇迹。
发布于 2017-07-25 18:11:54
我们监控日志的方式:
1)直接监测弹性:对ES api进行一个简单的about/info调用(如果ES下降,您将被关闭)
2)监测弹性状态。取决于你怎么用。您可以查找在env中有意义的活动(文档#、索引大小等)或其他统计数据。如果您看到stat正在移动,您就知道logstash正在成功地将消息发送到ES中。
3) Logstash本身:只需点击它正在监听的端口即可。如果港口变黑了..。洛什死了/不是在跑。
https://serverfault.com/questions/669534
复制相似问题