ELK运维中遇到的问题及解决方案

起因

ELK现网部署遇到过很多问题,这里汇总下趟过的坑

问题

ELK支持集群部署,支持多节点多分片多副本等方式,如何评估怎么配置能够满足当前生产环境的需求?

Elastic Stack方案栈提供rally压测工具,对ELK集群进行压测并给出详尽的压测报告,可使用rally工具自带的数据集也可使用自定义的数据集,结合现网数据量进行评估

logstash grok工具正则表达式如何配置调试?

logstash grok正则表达式的编写是一个苦力活,这里推荐一个在线调试工具grok 在线调试工具可以提高正则调试效率,另外,为了确保日志都能导入到ElasticSearch中,建议采用下面配置

output {
    if "_grokparsefailure" in [tags] {
        file {
            path => "./test-%{+YYYY-MM-dd}.txt"
            codec => line { format => "%{message}"}
        }
    }else{
        elasticsearch {
            hosts => ["10.12.239.142:9200"]
            user => "logstash_internal"
            password => "endertest"
        }
    }
}

没有被grok正则解析的日志集中导入到一个文件,定期查看该文件,调整正则表达式

一天日志有多行,在ElasticSearch中如何合并成一行显示?

使用logstash multiline组件

如何监控ELK集群自身的健康状态?

引入x-pack组件,全面监控ELK各个节点的运行状态,并提高ELK集群的安全性

如何向ElasticSearch中导入不同结构的日志?

logstash会创建一个默认的模板导入数据,如果需要导入不同结构的数据,对每个结构的数据建立按日期的索引就需要logstash配置中指定索引使用的模板,具体配置可参考这篇博客

ElasticSearch JVM内存如何配置?

笔者现网就遇到过导入日志一直延迟,ELK集群运行一天后几乎成瘫痪状态,这里就是ElasticSearch JVM内存设置的问题,默认JVM可用内存只有1G,这对于ElasticSearch来说非常小,运行一段时间以后就一直处于GC状态了,一般建议这个值尽量大,但是不要超过32G,修改jvm.options文件可设置这个值

Loading Disqus comments...
Table of Contents