首页 > 代码库 > elk安装

elk安装

ELK其实并不是一款软件,而是一整套解决方案,是三个开源软件Elasticsearch,Logstash和Kibana。

Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索以及分析。它是一个建立在全文搜索引擎ApacheLucene基础上的搜索引擎,便用java语言编写。

主要特点:实时分析;分布式实时文件 存储,并将每个字段都编入索引;文档导向,所有的对象全部是文档;高可用性,易扩展,支持集群(cluster)分片和复制(shards和replicas);支持JSON

集群:

技术分享

分片和复制

技术分享

Logstash:是一个具有实时渠道能力的数据收集引擎。

主要特点:几乎可以访问任何数据;可以和多种外部应用结合;支持弹性扩展

它由三个主要部分组成:shipper(发送日志数据);broker(收集数据,缺省内置redis)indexer(数据写入)

技术分享

kibana:是一款基于apache开源协议,使用javascript语言编写,为elasticsearch提供分析和可视代的web平台。它可以在elasticsearch的索引中查找,交互数据,并生成各种维度的表图。

ELK协义体系结构。基本流程是shipper负责从各种数据源里采集数据,然后发送到broker,indexer将存放在broker中的数据再写入Elasticsearch,elasticsearch对这些数据创建索引,然后由kibana对其进行各种分析并以图表展示:

技术分享

安装elasticsearch需要java8:先安装java8

解压即可,然后修改参数:

sh-4.1$ egrep -v ^# config/elasticsearch.yml
cluster.name: iseastar
node.name: node_1
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
network.host: 123.xx.xx.xxx
http.port: 9200
sh-4.1$ pwd
/usr/local/elasticsearch

对系统参数调整:

sh-4.1# tail -1 /etc/sysctl.conf 
vm.max_map_count = 262144
#在/etc/sysctl.conf追加上面一条
#并执行命令:
sysctl -p
天配置文件中追加如下两行
sh-4.1# tail -2 /etc/security/limits.conf 
* hard nofile 65536
* soft nofile 65536
# cat /etc/security/limits.d/90-nproc.conf 
# Default limit for number of users processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     2048
root       soft    nproc     unlimited
#在这里修改

启动elasticsearch不能以root开启动,只能以普通用户启动

useradd elastic
 passwd elastic
改变目录的属组履主
chown -R elastic:elastic ELK/
以DEMO的方式启动:
./bin/elasticsearch

技术分享

elk安装