ELK日志分析平台——Elasticsearch分布式搜索引擎

一、简介

ELK简介

ELK是三个组件的缩写, 分别是Elasticsearch, Logstash, Kibana. ELK平台可以用于实现日志收集、日志搜索和日志分析

  • Elasticsearch:
    是ELK的核心
    一个分布式的实时文档存储,每个字段 可以被索引与搜索
    一个分布式实时分析搜索引擎
    能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
  • Logstash:
    简单说是一个日志收集工具, 可以定义从哪里获取数据, 并且可以简单处理数据, 最后可以定义将数据输出到哪里, 一般输出到es.
  • Kibana:
    数据展示界面, 并且可以分析数据, 例如从es中读取数据进行展示分析. es自己也带有简单的展示dashboard: http://127.0.0.1:9200/_plugin/head/, 当然 前提是你安装了head插件

Elasticsearch简介

基础模块
cluster:管理集群状态,维护集群层面的配置信息。
alloction:封装了分片分配相关的功能和策略。
discovery:发现集群中的节点,以及选举主节点。
gateway:对收到master广播下来的集群状态数据的持久化存储。
indices:管理全局级的索引设置。
http:允许通过JSON over HTTP的方式访问ES的API。
transport:用于集群内节点之间的内部通信。
engine:封装了对Lucene的操作及translog的调用。

Elasticsearch应用场景

  • 信息检索
    日志分析
    业务数据分析
    数据库加速
    运维指标监控

Elasticsearch官网

二、搭建ELK日志分析平台

实验环境:
rhel7.6 Redhat虚拟机
server1 172.25.5.1
server2 172.25.5.2
server3 172.25.5.3

1.各个节点安装配置elasticsearch

server1,server2,server3都要安装配置

安装elasticsearch并开启服务

[root@server1 ~]# cd 7.6
[root@server1 7.6]# ls
elasticsearch-7.6.1-x86_64.rpm
# 需要自己在官网下载
# Elasticsearch是用Java开发的,7.6以前的版本需要安装jdk-8u121-linux-x64.rpm
[root@server1 7.6]# rpm -ivh elasticsearch-7.6.1-x86_64.rpm
[root@server1 7.6]# systemctl daemon-reload
[root@server1 7.6]# systemctl enable elasticsearch
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
[root@server1 7.6]# cd /etc/elasticsearch/
[root@server1 elasticsearch]# ls
elasticsearch.keystore  jvm.options        role_mapping.yml  users
elasticsearch.yml       log4j2.properties  roles.yml         users_roles

2.编写elasticsearch主配置文件

[root@server1 elasticsearch]# vim elasticsearch.yml 
cluster.name: my-es                  # 集群的名称my-es
node.name: server1                   # 当前节点的主机名(主机名需要解析)
path.data: /var/lib/elasticsearch    # 数据目录
path.logs: /var/log/elasticsearch    # 日志目录
#bootstrap.memory_lock: true         #锁定内存分配(生产环境要开,实验环境内存太小,开不开无所谓)
network.host: 172.25.5.1             # 主机IP
http.port: 9200                      # http服务端口
discovery.seed_hosts: ["server1", "server2", "server3"]          #集群主机,表示该集群由三台主机构成,主机名分别是server1,server2和server3
cluster.initial_master_nodes: ["server1", "server2","server3"]   #初始master
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值