从零学习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