ELK是指Elasticsearch + Logstash + Kibaba三个组件的组合。
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
搭建前准备:
1、创建一个本地帐号elasticsearch和elasticsearch组;
2、#vi /proc/sys/fs/file-max,添加797934
3、#vi /etc/security/limits.d/90-nproc.conf
root soft nproc unlimited
4、vi /etc/sysctl.conf
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
步骤2-4是开启最大文件限制等操作
搭建过程:
由于没有集群,本次实验是在一台centos 6.5系统上搭建的,elk版本为5.4.0。
elk安装
1、机器的JAVA版本最低要求为1.8.0,centos 7自带JAVA1.8.0,centos 6.5的可在百度或者谷歌查找安装过程,并不难;
2、在官网https://www.elastic.co/downloads下载Elasticsearch、Logstash、Kibana。我下载的是tar包。
3、解压至/usr/loacl,如
#tar -xf elasticsearch-5.4.0.tar.gz
#cp -r /home/cnc/elasticsearch-5.4.0/* /usr/local/elastisearch
X-PACK安装
#/usr/local/elastisearch/bin/elasticsearch-plugin install x-pack
Kibaba的X-PACK安装方法同上
elasticsearch配置文件修改:
#vi /usr/local/elasticsearch-5.4.0/config/elasticsearch.yml
添加如下项:
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.system_call_filter: false
xpack.security.enabled: false ##关闭elasticsearch安全机制,不关闭会导致head插件连接不上集群
network.host: 你的公网IP地址或127.0.0.1
logstash配置文件修改:
#vi /usr/local/logstash/config/logstash.yml
添加如下:
path.data: /usr/local/logstash-5.4.2/data/ ##数据存放位置,可随意指定也可默认
path.config: /usr/local/logstash-5.4.2/conf.d ##配置存放位置,可随意指定
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.url: 公网IP地址(或127.0.0.1):9200
http.host: "(公网IP或127.0.0.1)"
kibana配置文件修改:
#vi /usr/local/kibana/config/kibana.yml
添加如下:
http.host: "IP地址"
elasticsearch.url: "http://IP地址:9200"
elastisearch-head插件安装
所需要的软件:git gcc gcc-c++ node grunt,其中grunt需要用node来安装。centos 6.5安装node建议安装老版本,新版本要求gcc的版本要到最新。cenots 7可以无视。我的系统是centos 6.5所以安装的是nodev6.9.2,下载地址https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.gz
#yum install -y git
#git clone git://github.com/mobz/elasticsearch-head.git ##下载head插件
#tar -xf node-v6.9.2-linux-x64.tar.gz
#ln -s node-v6.9.2-linux-x64/bin/node /usr/local/bin/node
#ln -s node-v6.9.2-linux-x64/bin/npm /usr/local/bin/npm
#cd elasticsearch-head-master ##解压head插件包得到的文件
#npm install -g cnpm --registry=https://registry.npm.taobao.org
#vi Gruntfile.js
修改如下选项:
#npm isntall grunt-cli ##head插件需要用grunt启动
#grunt server ##启动head插件