Elasticsearch是位于Elastic Stack核心的分布式搜索和分析引擎。Logstash和Beats有助于收集、聚合和丰富您的数据并将其存储在Elasticsearch中。Kibana使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。
阅读这篇文章之前,先阅读一下这篇文章: 分布式日志系统收集平台ELK+EFK,从部署到实战(上)!
ElasticSearch集群
预备姿势

关于颜色:
绿色:所有数据都完整,且副本数满足
黄色:所有数据都完整,但是副本数不满足
红色:一个或多个索引数据不完整
搭建
部署流程:
1. 安装es
2. 配置systemctl edit elasticsearch
3. 注意hosts解析
配置文件
cat> /etc/elasticsearch/elasticsearch.yml <<EOF cluster.name: oldboy_linux node.name: node-2path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch bootstrap.memory_lock: true network.host: 127.0.0.1,10.0.0.52http.port: 9200discovery.seed_hosts: ["10.0.0.51","10.0.0.52"]cluster.initial_master_nodes: ["10.0.0.51"]EOF
配置说明 es01 es02都要配置
cp /etc/elasticsearch/elasticsearch.yml{,.single}cat> /etc/elasticsearch/elasticsearch.yml <<EOF
cluster.name: oldboy_linux
#集群名称,所有属于同一集群的节点,集群名字要统一. 默认是elasticsearch node.name: es02.oldboylinux.cn
#每个节点不同。path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 127.0.0.1,10.0.0.91http.port: 9200discovery.seed_hosts:
- "es01.oldboylinux.cn"
- "es02.oldboylinux.cn"#集群中节点的地址.cluster.initial_master_nodes: ["es01.oldboylinux.cn"] #集群中默认哪个是主节点.EOF


插入数据后

说明与注意事项
#01 1.插入和读取数据在任意节点都可以执行,效果一样2.es-head可以连接集群内任一台服务#03.主节点负责读写如果主分片所在的节点坏掉了,副本分片会升为主分片#04.主节点负责调度如果主节点坏掉了,数据节点会自动升为主节点#05.通讯端口默认会有2个通讯端口:9200和93009300并没有在配置文件里配置过 如果开启了防火墙并且没有放开9300端口,那么集群通讯就会失败#06.搭建集群的时候保证节点数据一致或者直接清空es数据目录,然后重启即可/var/lib/elasticsearch/
重新理解副本数-分片数
实战理解
创建索引-linux81-并设置分片数为3,副本数0PUT /linux81/{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 0
}}
删除索引
DELETE /linux/
修改副本数(随机可以修改)
PUT /linux81/_settings/{
"settings": {
"number_of_replicas": 1
}}

企业推荐配置
#根据节点数设置2个节点: 默认就可以 1分片 1个副本3个节点: 重要的数据,2副本 不重要的默认 1分片 1个副本#应用场景日志收集: 1副本3分片 搜索功能: 2副本3分片
Filebea收集日志
Filebeat概述
Golang语言软件
收集性能高
Filebeat --> ES <-- Kibana展示
Filebeat --> Logstash-->ES <-- Kibana展示
可以收集各种系统,服务,应用日志
极速应用指南


ES集群

[root@oldboy-elastic-stack-es01 ~]# cat /etc/elasticsearch/elasticsearch.ymlcluster.name: oldboy_linux#集群名称,所有属于同一集群的节点,集群名字要统一. 默认是elasticsearchnode.name: es01.oldboylinux.cn#每个节点不同。path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch bootstrap.memory_lock: true network.host: 127.0.0.1,10.0.0.90http.port: 9200discovery.seed_hosts: - "es01.oldboylinux.cn" - "es02.oldboylinux.cn"#集群中节点的地址.cluster.initial_master_nodes: ["es01.oldboylinux.cn"]#集群中默认哪个是主节点,用于新节点加入后初始化.
部署Filebeat
rpm -ivh filebeat-7.9.3-x86_64.rpm

初步配置:收集secure日志
hosts解析10.0.0.90 es01.oldboylinux.cn10.0.0.91 es02.oldboylinux.cn10.0.0.92 es03.oldboylinux.cn10.0.0.93 kafka.oldboylinux.cn[root@web01 ~]# cat /etc/filebeat/filebeat.ymlfilebeat.inputs:- type: log enabled: true paths: - /var/log/secure output.elasticsearch: hosts: - "es01.oldboylinux.cn:9200" - "es02.oldboylinux.cn:9200" - "es03.oldboylinux.cn:9200"systemctl enable filebeat.service systemctl start filebeat.service ps -ef |grep filebeat root 78082 1 0 08:57 ? 00:00:00 /usr/share/filebeat/bin/filebeat --environment systemd -c /etc/filebeat/filebeat.yml --path.home /usr/share/filebeat --path.config /etc/filebeat --path.data /var/lib/filebeat --path.logs /var/log/filebeat
检查ES


接入Kibana
在es01部署kibana
rpm -ivh kibana-7.9.3-x86_64.rpm
配置文件
[root@oldboy-elastic-stack-es01 ~]# cat /etc/kibana/kibana.ymlserver.port: 5601server.host: "10.0.0.90"server.name: "kibana.oldboylinux.cn"elasticsearch.hosts: [ "http://es01.oldboylinux.cn:9200" ]kibana.index: ".kibana"logging.dest: /var/log/kibana/kibana.log logging.quiet: false i18n.locale: "zh-CN" systemctl enable kibana.service systemctl start kibana.service ps -ef |grep kibana ss -lntup |grep 5601
浏览器访问kibana.oldboylinux.cn:5601
hosts解析 windows###oldboy-elastic-stack#########10.0.0.90 es01.oldboylinux.cn kibana.oldboylinux.cn10.0.0.91 es02.oldboylinux.cn10.0.0.92 es03.oldboylinux.cn10.0.0.93 kafka.oldboylinux.cn###oldboy-elastic-stack#########
Kibana展示数据

kibana连接ES

创建索引模式




查看

修改时间范围

简单展示

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69952968/viewspace-3100131/ ,如需转载,请注明出处,否则将追究法律责任。