ELK的配置详细信息

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队列中读取

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

一些常用的过滤器为:
grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。
它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。内置120多个解析语法。
官方提供的grok表达式:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns
grok在线调试:https://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异常信息和堆栈信息。

发布了45 篇原创文章 · 获赞 0 · 访问量 667

猜你喜欢

转载自blog.csdn.net/xiaowoniuwzx/article/details/105246404