之前对于ES的理解比较肤浅,在重新学习ES6.4的机会,将配置文件进行重点理解
具体参考还是要看:https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
1.关于日志配置
日志是一切问题的排查的依据
可以看到log4j.properties主要有这几部分内容
1.console,后台启动时用不上
2.rollingFile,滚动日志的各种常规配置,只需要修改日志路径即可
3.deprecation_rollingFile, 记录已经废弃的操作日志
4.index_search_slowlog_rolling,慢查询,主要用于优化
这里就一点要说明,log4j,我们知道他的使用一般是定义一个root configuration,然后再定义你自定义的,通过name的继承关系关联java包的内容,你可以单独进行调整,当然也可以参考官网,在配置文件中配置
参考blog:https://www.elastic.co/blog/elasticsearch-logging-secrets
PUT /_cluster/settings
{
"transient": {
"logger.org.elasticsearch.transport": "trace"
}
}
transient代表重启后会消息,用来临时调整一些排查一些问题,很方便,persistent则是重启后依旧有效
这里为了避免无关程序,你需要了解一些ES的常见的包关联到哪些功能
org.elasticsearch.discovery.zen Elasticsearch中的Zen发现的类。如果您有加入/离开群集的节点或主选的问题
org.elasticsearch.env 用于记录引用节点数据路径的消息
org.elasticsearch.indices.recovery 和 org.elasticsearch.index.gateway用于记录涉及分片恢复的消息
org.elasticsearch.cluster.action.shard 用于记录与分片状态相关的消息(失败的分片,分片启动等)
org.elasticsearch.snapshots 与快照和恢复相关的一切
org.elasticsearch.http 监视节点之间的任何绑定或连接/发现问题
org.elasticsearch.marvel.agent.exporter 监视Marvel代理
同理:还有一个是慢查询
PUT /test_index/_settings
{
"index": {
"search.slowlog.level": "trace",
"search.slowlog.threshold.query.trace": "100ms"
}
}