ELK的配置详细信息

72 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

Elasticsearch信息:

配置文件路径: ll /etc/elasticsearch/下面都是配置文件 最重要的是 /etc/elasticsearch/elasticsearch.yml 日志文件路径: /var/log/elasticsearch

Logstash信息:

配置文件路径: /etc/logstash 日志文件路径: /var/log/logstash

elasticsearch 配置详解:

cluster部分:========== cluster.name: elasticsearch 配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es, 如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。

node部分:=========== node.name: node-1 定义节点名称 node.attr.rack: r1 向节点添加自定义属性

Paths部分:========== path.data: /var/lib/elasticsearch 设置索引数据的存储路径 path.logs: /var/log/elasticsearch 设置日志文件的存储路径

Memory部分:======= bootstrap.memory_lock: true 启动时锁定内存,为了保证es正常运行

Network部分:======== network.host: 192.168.0.1 设置绑定的ip地址,可以是ipv4或ipv6的 http.port: 9200 设置对外服务的http端口,默认为9200。

Discovery部分:======= discovery.zen.ping.unicast.hosts: ["host1", "host2"] 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点 discovery.zen.minimum_master_nodes: 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。 默认为1,对于大的集群来说,可以设置大一点的值(2-4)

Gateway部分:======== gateway.recover_after_nodes: 3 设置集群中N个节点启动时进行数据恢复,默认为1

Various部分: [ˈveriəs]=======各种各样==== action.destructive_requires_name: true 删除索引时需要显式名称

常用命令:

验证服务 curl -X GET http://127.0.0.1:9200 elasticsearch 查看集群统计信息 curl -XGET 'http://localhost:9200/_cluster/stats?pretty' 查看集群状态 curl -X GET 'localhost:9200/_cat/health?v' 创建索引:test_index curl -X PUT HTTP://localhost:9200/test_index?pretty elasticsearch 查看所有索引 curl -X GET HTTP://localhost:9200/_cat/indices?v 删除索引:test_index curl -XDELETE 'localhost:9200/test_index?pretty'

l#### ogstash工作原理: Logstash事件处理有三个阶段:inputs → filters → outputs。是一个接收,处理,转发日志的工具。 支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。 Input模块:输入数据到logstash。 一些常用的输入为: file:从文件系统的文件中读取,类似于tail-f命令 redis:从redis service中读取 beats:从filebeat中读取 kafka:从kafka队列中读取

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第12天,点击查看活动详情

Filters:数据中间处理,对数据进行操作。

一些常用的过滤器为: grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。 它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。内置120多个解析语法。 官方提供的grok表达式:github.com/logstash-pl… grok在线调试:grokdebug.herokuapp.com/ mutate [ˈmjuːteɪt]:对字段进行转换。 例如对字段进行删除、替换、修改、重命名等。 drop:丢弃一部分events不进行处理。 clone:拷贝 event,这个过程中也可以添加或移除字段。 geoip:添加地理信息(为前台kibana图形化展示使用)

Outputs模块:outputs是logstash处理管道的最末端组件。 一个event可以在处理过程中经过多重输出,但是一旦所有的outputs都执行结束,这个event也就完成生命周期。 一些常见的outputs为: elasticsearch:可以高效的保存数据,并且能够方便和简单的进行查询。 file:将event数据保存到文件中。 graphite [ˈɡræfaɪt]:将event数据发送到图形化组件中,一个很流行的开源存储图形化展示的组件。 Codecs模块:codecs 是基于数据流的过滤器,它可以作为input,output的一部分配置。Codecs可以帮助你轻松的分割发送过来已经被序列化的数据。 一些常见的codecs: json:使用json格式对数据进行编码/解码。 multiline:将汇多个事件中数据汇总为一个单一的行。比如:java异常信息和堆栈信息。