- ElasticStack基本部署与介绍
- 1.ELK
- 2.ElasticSearch安装与介绍
- 2.1介绍
- 2.2下载
- 2.3配置
- 2.4错误汇总
- 3.Beats安装与介绍
- 3.1介绍
- 3.2下载
- 3.3配置
- 4.Kibana安装与介绍
- 4.1介绍
- 4.2下载
- 4.3配置
- 5.Logstash安装与介绍
- 5.1.介绍
- 5.2下载
- 5.3配置
ELK是三款软件的简称,分别是Elasticsearch、 Logstash、Kibana组成,在发展的过程中,又有新成员Beats的加入,所以就形成了Elastic Stack。所以说,ELK是旧的称呼,Elastic Stack是新的名字。
全系的Elastic Stack技术栈包括:
Elasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
ElasticSearch是Elastic Stack的核心,同时Elasticsearch 是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为Elastic Stack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
https://www.elastic.co/cn/downloads/elasticsearch
2.3配置下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:
因为ElasticSearch不支持Root用户直接 *** 作,因此我们需要创建一个elsearch用户
# 添加新用户 useradd elsearch # 然后通过xftp工具,将刚刚下载的文件传输到linux # 解压缩 tar -zxvf elasticsearch-7.9.1-linux-x86_64.tar.gz #重命名 mv elasticsearch-7.9.1/ elasticsearch
因为刚刚我们是使用root用户 *** 作的,所以我们还需要更改一下elasticsearch文件夹的所属,改为elsearch用户
chown elsearch:elsearch elasticsearch/ -R
然后再切换成elsearch用户进行 *** 作# 切换用户
su - elsearch
然后我们就可以对我们的配置文件进行修改了
# 进入到 elsearch下的config目录 cd /elasticsearch/config
#打开配置文件 vim elasticsearch.yml
附上我的配置作为参考
#配置节点 cluster.initial_master_nodes: ["node-1"] #允许外网访问 network.host: 0.0.0.0 #设置对外暴露的端口 http.port: 9200 #设置节点的名称,要与第一项一致 node.name: node-1 # 开启跨域访问支持,默认为false http.cors.enabled: true # 跨域访问允许的域名地址 http.cors.allow-origin: "*" #防止磁盘占用过高 cluster.routing.allocation.disk.threshold_enabled: false
在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下:
# 修改jvm启动参数 vim conf/jvm.options #根据自己机器情况修改 -Xms128m -Xmx128m
然后在修改第二处的配置,这个配置要求我们到宿主机器上来进行配置
# 到宿主机上打开文件 vim /etc/sysctl.conf # 增加这样一条配置,一个进程在VMAs(虚拟内存区域)创建内存映射最大数量 vm.max_map_count=655360 # 让配置生效 sysctl -p
启动ElasticSearch
首先我们需要切换到 elsearch用户
su - elsearch
然后在到bin目录下,执行下面
# 进入bin目录 cd /soft/elsearch/bin # 后台启动 ./elasticsearch -d
启动成功后,访问下面的URL
http://192.168.255.5:9200/
如果出现了下面的信息,就表示已经成功启动了
1.ELASTICSEARCH-HEAD 连接不上ELASTICSEARCH
原因:可能是config/elasticsearch.yml文件的配置问题。
解决方法:
附上我的配置作为参考
#配置节点 cluster.initial_master_nodes: ["node-1"] #允许外网访问 network.host: 0.0.0.0 #设置对外暴露的端口 http.port: 9200 #设置节点的名称,要与第一项一致 node.name: node-1 # 开启跨域访问支持,默认为false http.cors.enabled: true # 跨域访问允许的域名地址 http.cors.allow-origin: "*" #防止磁盘占用过高 cluster.routing.allocation.disk.threshold_enabled: false
2.ElasticSerach 出现 high disk watermark [90%] exceeded on
原因:磁盘空间不足,配置了集群的话,索引会不健康。
解决办法:
在elasticserach.yml配:
cluster.routing.allocation.disk.threshold_enabled: false
3.failed to obtain node locks, tried [[/usr/local/elasticsearch-6.3.2/data/my-application]] with lock
原因是已经有一个elastic进程在启动了(使用后台启动容易引发这个错误),杀掉重启即可。
ps aux | grep elasticsearch
kill - 9 进程ID
4.es启动报错: [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
修改config目录下的 elasticsearch.yml文件
cluster.initial_master_nodes: ["node-1"]
5.elasticsearch7.x安装异常 ERROR: [2] bootstrap checks failed. You must address the points described in th
6.ElasticSearch启动报错,bootstrap checks failed
修改elasticsearch.yml配置文件,允许外网访问。
network.host: 0.0.0.0
7.浏览器访问不到elasticsearch服务
有可能就是linux防火墙忘记关了…
systemctl stop firewalld3.Beats安装与介绍 3.1介绍
Beats是elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。Beats由如下组成:
Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理,其支 持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、MongoDB、Memcache等协议; Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder; Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集 Apache、HAProxy、MongoDB MySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务; Beats和Logstash其实都可以进行数据的采集,但是目前主流的是使用Beats进行数据采集,然后使用 Logstash进行数据的分割处理等,早期没有Beats的时候,使用的就是Logstash进行数据的采集。3.2下载
Filebeat
Metricbeat
这里以Filebeat为例,其它的beats都差不多。
下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:
后期如果要使用,需要创建一个yml文件,然后使用该yml文件来启动filebeat。
关于yml文件的格式,下面以filebeat连接kafka的yml文件为例:
version: "2.13-2.7.1" filebeat.inputs: - type: log enabled: true paths: - /home/admin/*.log #监听的日志文件 filebeat.config.modules: path: ../modules.d/*.yml reload.enabled: true setup.template.settings: index.number_of_shards: 3 output.kafka: enabled: true hosts: ["127.0.0.1:9093"] # kafka集群配置 topic: test03 #kafka 订阅的主题4.Kibana安装与介绍 4.1介绍
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互 *** 作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
4.2下载https://www.elastic.co/cn/downloads/kibana
4.3配置下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:
后期如果要使用,需要先修改config目录中的配置文件。
Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到最喜欢的存储库中(我们的存储库当然是ElasticSearch)
5.2下载https://www.elastic.co/cn/downloads/logstash
5.3配置下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:
后期如果要使用,需要先修改config目录中的配置文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)