从零学习ELK

 ElK是Elasticsearch、Logstash、 Kibana的缩写,了解这个分布式搜索引擎就要从这三个组件学起。来看看官网的介绍:

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

 

Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

 

Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。

 

一、Elasticsearch、Kibana、Beats的安装过程参照官网:https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html

 

二、Elasticsearch 集群

    1、集群配置

# ---------------------------------- Cluster -----------------------------------
# 集群名称
cluster.name: elasticsearch-cluster
# 节点名称
node.name: node-
# ip配置
network.host: 0.0.0.0
# 端口配置
http.port: 9200
# 服务发现:es 服务器ip集合
discovery.seed_hosts: ["192.168.1.106","192.168.1.107","192.168.1.108"]
# 初始化主节点名称
cluster.initial_master_nodes: ["node-106"]

    2、Elasticsearch-Head查看集群状态

 3、Elasticsearch 根据集群名称,通过服务发现获取所有的Elasticsearch服务器节点,并将其加入集群,当主节点宕机,会重新选举新的master节点。(注意遇到节点无法加入集群是注意以下两个问题:1、不要复制节点文件目录到其他集群,复制的节点目录无法加入主节点 2、删除一下data 重新启动就可以了 3、es5之后的都不能使用添加启动参数或者修改配置文件等方法启动了,必须要创建用户,创建elasticsearch文件夹)

 

二、Kibana可视化图形界面,通过elasticsearch的Api,把数据展示在前端界面上。

    1、下载安装kibana

# 下载
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.9.3-darwin-x86_64.tar.gz
# 解压
tar xzvf kibana-7.9.3-darwin-x86_64.tar.gz
cd kibana-7.9.3-darwin-x86_64/
#修改配置文件conf/kibana.yml中的elasticsearch 的ip地址
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://192.168.106.116:9200","http://192.168.106.116:9201"]
# 启动
./bin/kibana

    2、访问查看:http://192.168.106.116:5601/

 

三、Beats 是轻量级的数据收集器,数据进过处理后直接输送到elasticsearch或者Logstash,beats种类很多,可以通过官网查看

  1、Metricbeat、Filebeat,这两个数据收集器前者是收集系统磁盘、内存、CPU等参数,后者是收集服务器日志(Apache、Nginx、mysql等),看下安装过程

# 1、Metricbeat安装过程
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.9.3-linux-x86_64.tar.gz
tar xzvf metricbeat-7.9.3-linux-x86_64.tar.gz

#将module添加到system
./metricbeat modules enable system

#Set up the initial environment
./metricbeat setup -e

#修改metricbeat.yml文件
host: "192.168.106.116:5601"
output.elasticsearch:
  hosts: ["192.168.106.116:9200","192.168.106.116:9201"]

#Start Metricbeat
./metricbeat -e

# 2、Filebeat安装过程
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.3-linux-x86_64.tar.gz
tar xzvf filebeat-7.9.3-linux-x86_64.tar.gz

#确定需要启用的模块
./filebeat modules list

# 修改filebeat.yml文件中elasticsearch和kibana的服务器地址
host: "192.168.106.116:5601"
output.elasticsearch:
  hosts: ["192.168.106.116:9200","192.168.106.116:9201"]
  
# 修改modules.d/apache.yml
- module: apache
  # Access logs
  access:
    enabled: true
    var.paths: ["/zyspace/java-project/phoenix-archive/debug/debug-*.log","/zyspace/java-project/phoenix-archive/debug/info-*.log"]

  # Error logs
  error:
    enabled: true
    var.paths: ["/zyspace/java-project/phoenix-archive/error/error-*.log"]


#添加相关模块
./filebeat modules enable apache

#Set up assets
./filebeat setup -e

# 启动
sudo chown root filebeat.yml 
sudo chown root modules.d/system.yml sudo 
./filebeat -e

    2、访问查看效果:http://192.168.106.116:5601/app/observability,可以很清楚看到相关日志以及服务器的相关信息,我不需要在到服务器上查看相关的log日志了。

四、Logstast是一个接收,处理,转发日志的工具

 

文章详情点击:http://www.xiaoyuge.com.cn/#/article/detail?articleId=74