ELK日志分析--ES(Elasticsearch)--(一)

这篇具有很好参考价值的文章主要介绍了ELK日志分析--ES(Elasticsearch)--(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. ES基本介绍

  2. 单机ES部署

  3. ES(Elasticsearch)集群部署

1.基本介绍

Elasticsearch:存储、搜索和分析

Elasticsearch是Elastic Stack核心的分布式搜索和分析引擎。Logstash和Beats有助于收集,聚合和丰富你的数据并将其存储在Elasticsearch中。使用Kibana,你可以交互式地探索,可视化和共享对数据的见解,并管理和监视堆栈。Elasticsearch是发生索引,搜索和分析数据的地方。

Elasticsearch为所有类型的数据提供近乎实时的搜索和分析。

        1.1  ES支持的数据类型

  • 结构化文本

  • 非结构化文本

  • 数字数据

  • 地理空间数据

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

        1.2  文档元数据

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

_all 字段在7.0版本中已被废除

_version 为了解决在大量并发写入时候文档冲突问题

_score 用于标识在一次查询结果中某条数据和希望查询到的目标的相似度  

        1.3  索引

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

        1.4  Type

在 7.0 之前,一个 Index 可以设置多个 Types 7.0 开始一个索引只能建立一个 Type: _doc

        1.5  Elasticsearch 和关系型数据库的比较

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

        1.6  增删改查(RD使用)

要增删改查 Elasticsearch 的中数据,需要使用 REST API

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

2.单机ES部署

        2.1  配置ESyum仓库

        (一)导入Elasticsearch GPG密钥

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

        (二)在/etc/yum.repos.d/下创建elasticsearch.repo文件写入

[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

启用ES并安装下载:

# yum install --enablerepo=elasticsearch elasticsearch

        2.2  使用`systemd运行Elasticsearch(ES)

# systemctl daemon-reload
# systemctl enable elasticsearch.service

Elasticsearch可按以下方式启动和停止:

# systemctl start elasticsearch.service
# systemctl stop elasticsearch.service

3.ES(Elasticsearch)集群部署

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

        3.1  ES 集群基本概念

集群的特性:

Elasticsearch 集群是一个多节点组成的高可用可扩展的分布式系统

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎 集群中的节点角色

Master-eligible Node 和 Master Node

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

Date Node 和 Coordinating Node  

 容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

分片

主分片和副本

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

分片分布示例 : 

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

分片的设定

主分片是在一开始建立索引时候设置的,后期无法更改

生产中要做好数据容量规划。

  • 分片过少 后期如果数量量不断增多,也无法通过增加节点来实现水平扩展 也会导致单个分片存储数据量过多,在以后数据重新分配时耗时。

  • 分片过多 假如长期分片过多,会影响查询结果的相关性打分,从而影响查询结果的准确性 单节点上存放过多的分片会造成资源的浪费,也会影响性能

        3.2  ES集群部署

        部署的方式为二进制和rpm结合版本

        (一)集群环境

集群最少 3 个节点, 集群的每个节点都需要使用非 root 用户(二进制方式)启动。

1 在每个节点上修改安装主目录的属主和属组

 #二进制
 chown  -R ela.ela  /usr/local/elasticsearch-7.10.0

2 在每个节点上设置系统内核参数

设置内存映射

sysctl -w vm.max_map_count=262144 > /etc/sysctl.conf
sysctl -p

还需要设置关于这个进程可以打开的文件描述符数量

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

3 不同的版本依赖不同版本的 Java : 

        (二)二进制方式

官方链接:https://www.elastic.co/cn/support/matrix#matrix_jvm

1 下载二进制压缩包:

#二进制
 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz

程序的主目录会是: /usr/local/elasticsearch-7.10.0

这里假设变量 ES_HOME 的值是 /usr/local/elasticsearch-7.10.0, 此变量将会在下文以及以后的文章中使用。

2 目录结构介绍 :

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

 3 在每个节点创建用户 ela :

#二进制
useradd ela

4 在每个节点上对 ela 用户授权 :

#二进制
chown -R ela.ela /usr/local/elasticsearch-7.10.0

5 在每个节点设置如下集群参数 :

默认情况下 Elasticsearch 会使用: $ES_HOME/config/elasticsearch.yml 作为配置文件启动进程。

编译配置文件 /usr/local/elasticsearch-7.10.0/config/elasticsearch.yml 并添加如下内容:

ela1 节点 设置的内容如下:

cluster.name: elk
node.name: ela1    #s
node.data: true
network.host: 0.0.0.0
http.port: 9200

discovery.seed_hosts: #官方指定写法如下,3台机器一样
   - ela1  #节点1主机名称
   - 192.168.122.106:9300  #节点2的ip加端口
   - 192.168.122.218  #节点3的ip
cluster.initial_master_nodes: ["ela1", "ela2", "ela3"]

ela2 节点设置的内容如下:

cluster.name: elk
node.name: ela2
node.data: true
network.host: 0.0.0.0
http.port: 9200

discovery.seed_hosts:
   - ela1
   - 192.168.122.106:9300
   - 192.168.122.218
cluster.initial_master_nodes: ["ela1", "ela2", "ela3"]

ela3 节点设置的内容如下:

cluster.name: elk
node.name: ela3
node.data: true
network.host: 0.0.0.0
http.port: 9200

discovery.seed_hosts:
   - ela1
   - 192.168.122.106:9300
   - 192.168.122.218
cluster.initial_master_nodes: ["ela1", "ela2", "ela3"]

参数说明

  • cluster.name 集群名称,各节点配成相同的集群名称。

  • node.name 节点名称,各节点配置不同。

  • node.data 指示节点是否为数据节点。数据节点包含并管理索引的一部分。

  • network.host 绑定节点IP。

  • http.port 监听端口。

  • path.data 数据存储目录。

  • path.logs 日志存储目录。

  • discovery.seed_hosts 指定集群成员,用于主动发现他们,所有成员都要写进来,包括自己,每个节点中应该写一样的信息。

  • cluster.initial_master_nodes 指定有资格成为 master 的节点

  • http.cors.enabled 用于允许head插件访问ES。

  • http.cors.allow-origin 允许的源地址。

注意:
  • 当您为提供自定义设置时 network.host,Elasticsearch会假设您正在从开发模式过渡到生产模式,并将许多系统启动检查从警告升级到异常。

  • cluster.initial_master_nodes 中的节点名称需要和 node.name 的名称一致。

        (三)启动集群

在每个节点上启动 elasticsearch 进程

注意:yum方式直接启动服务即可,以下为二进制方式的启动

切换到普通用户 ela,yum安装的直接使用systemctl start elasticsearch启动。

# su - ela

执行如下命令:

# cd /usr/local/elasticsearch-7.10.0

# ./bin/elasticsearch -d -p /tmp/elasticsearch.pid

-d 后台运行 -p 指定一个文件,用于存放进程的 pid

默认端口号是 :

  • 9200 用于外部访问的监听端口,比如查看集群状态,向其传输数据,查询数据等

  • 9300 用户集群中节点之间的互相通信,比如主节点的选举,集群节点信息的通告等。

注意:如果集群配置错误,想重新初始化集群,只需要删除数据目录,重启服务即可

         (四)日志        

日志消息可以在 $ES_HOME/logs/ 目录中找到

YUM安装的日志:cat /var/log/elasticsearch/elasticsearch.log

假如启动失败,从这个日志中查询报错信息

        (五)查看集群健康状态

# curl -X GET "localhost:9200/_cat/health?v"

三种不同状态的含义

  • 黄色 如果您仅运行单个Elasticsearch实例,则集群状态将保持黄色。单 节点群集具有完整的功能,但是无法将数据复制到另一个节点以提供弹性。

  • 绿色 副本分片必须可用,群集状态为绿色。

  • 红色 如果群集状态为红色,则某些数据不可用。

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

        (六)查看集群节点信息

# curl -X GET "localhost:9200/_cat/nodes?v"

容器部署elk cat: /var/log/elasticsearch/elasticsearch.log: no such file or d,ELK,elasticsearch,elk,搜索引擎

        3.3  关闭 Elasticsearch 进程

# 二进制方式
# pkill -F /tmp/elasticsearch.pid

        3.3   排错

一般报错,常出现之前使用 root 用户启动,之后又使用普通用户启动的情况。 还有集群节点的 IP 地址变化的情况。

# 找到进程
[ela@ela1 elasticsearch-7.10.0]$ jdk/bin/jps
8244 Jps
7526 Elasticsearch

# 杀死进程
[ela@ela1 elasticsearch-7.10.0]$ kill -9 7526

查看相关日志:

logs/elk.log

根据日志修改相关配置信息

解决完成后执行如下操作

# 删除数据目录中的所有文件
[ela@ela1 elasticsearch-7.10.0]$ rm -rf data/*

# 删除日志
[ela@ela1 elasticsearch-7.10.0]$ rm -rf logs/*


# 删除 keystore 文件
[ela@ela1 elasticsearch-7.10.0]$ rm -rf config/elasticsearch.keystore

# 重新启动进程
[ela@ela1 elasticsearch-7.10.0]$ bin/elasticsearch -d -p /tmp/elk.pid文章来源地址https://www.toymoban.com/news/detail-786120.html

到了这里,关于ELK日志分析--ES(Elasticsearch)--(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ELK企业级日志分析系统】安装与部署ELK详解

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash和kibana三个开源工具配合使用 , 完成更强大的,用户对日志的查询、排序、统计需求。 ElasticSearch ElasticSearch:是基于Lucene(一个 全文检索引擎的架构 )开发的分布式存储检索引擎,用来存储各类日志。 El

    2024年02月16日
    浏览(33)
  • ELK(Elasticsearch+Logstash+Kibana)日志分析系统

    目录 前言 一、ELK日志分析系统概述 1、三大组件工具介绍 1.1 Elasticsearch 1.1.1 Elasticsearch概念 1.1.2 关系型数据库和ElasticSearch中的对应关系 1.1.3 Elasticsearch提供的操作命令 1.2 Logstash 1.2.1 Logstash概念 1.2.2 Logstash的主要组件 1.2.3 Logstash主机分类 1.2.4 Logstash工作过程 1.3 Kiabana 2、

    2024年04月25日
    浏览(33)
  • elasticsearch定期删除策略 - 日志分析系统ELK搭建

    日志分析系统ELK搭建 ELK ELK是日志收集、索引与检索三件套,包含了三个组件 ElasticSearch Logstash Kibana 其中ElasticSearch完成日志的索引,并提供查询接口,Logstash完成日志的收集,Kibana则提供可视化展示 有了ELK,我们不再需要到线上的每一台机器上grep日志,而且能可视化查询任

    2023年04月08日
    浏览(31)
  • Linux:ELK:日志分析系统(使用elasticsearch集群)

    1. 将日志进行集中化管理(beats) 2. 将日志格式化(logstash) 将其安装在那个上面就对那个进行监控 3. 对格式化后的数据进行索引和存储(elasticsearch) 4. 前端数据的展示(kibana) 要准备安装包 elasticsearch elasticsearch-head kibana logstash node phantomjs 这些安装包都在网上很好找,自

    2024年02月14日
    浏览(32)
  • ELK日志分析系统概述及部署

    E: Elasticsearch L: Logstash K: Kibana 优点 提高安全性 集中化管理 缺点 对日志分析困难 ①将日志进行集中化管理 ②将日志格式化(Logstash)并输出到Elasticsearch ③对格式化后的数据进行索引和存储 ④前端数据的展示(Kibana) 提供了一个分布式多用户能力的全文搜索引擎 Elast

    2024年02月16日
    浏览(30)
  • ELK 日志分析系统介绍与部署

    目录 一、ELK 简介:  1.开源工具介绍:  2.其它组件:   2.1 Filebeat:  2.2 Fluentd:  2.3 缓存/消息队列(redis、kafka、RabbitMQ等):  3. filebeat 结合 logstash 带来好处: 二、为什么要使用 ELK: 三、完整日志系统基本特征: 四、ELK 的工作原理: 五、ELK 日志分析系统部署:  1.

    2024年02月07日
    浏览(31)
  • 源码部署ELK日志分析管理系统

    日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散在储存不同的设备上

    2024年02月09日
    浏览(33)
  • ELK日志分析系统的详细介绍与部署

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的 用户对日志的查询、排序、统计需求 。 集中化管理日志后,日志的统计和检索的效率降低。 ELK 提供了一个 完整的日志管理和分析解决方案 ,能够帮助用户

    2024年02月07日
    浏览(24)
  • 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

    在一台新的虚拟机 系统类型:Centos7.5 节点IP: 192.168.246.235 软件版本:nginx-1.14.2、kibana-6.5.4-linux-x86_64.tar.gz 安装配置Kibana (1)安装 安装包看上篇怎么下载的 (2)配置 在文件最后面,加上即可 配置项含义: 其他配置项可参考: (3)启动 安装配置Nginx反向代理 (1)配置

    2023年04月09日
    浏览(59)
  • ELK企业级日志分析系统(elasticsearch+logstash+kibana)

    目录 一.ELK概述 1.定义 (1)ElasticSearch (2)Kiabana (3)Logstash (4)Filebeat 2.filebeat结合logstash带来好处 3.为什么要是用ELK? 4.完整日志系统基本特征 5.ELK 的工作原理 二.部署ELK 1.环境配置 2.ELK集群部署(node1、node2) 3.部署 Elasticsearch 软件 4.安装Elasticsearch-head 插件 (1)编译安

    2024年04月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包