Linux下ELK的安装与配置

ES简介

ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。 特点是:高可用,高扩展,是一种NOSQL的数据存储工具

ES安装前的准备

下载:可以自行到官网下载
elasticsearch-6.2.2.tar.gz
elasticsearch-head-master.zip
kibana-6.2.2-linux-x86_64.tar.gz
logstash-6.2.2.tar.gz
node-v8.9.1-linux-x64.tar.gz
(1)先创建虚拟机 创建ssh链接(可以看上一篇博客) 连接成功后在跟目录下创建一个文件夹 可以是software
在这里插入图片描述
进入software文件夹 把以上安装包 和jdk安装包(上一篇博客) 拖入software目录下:
在这里插入图片描述
先解压jdk 因为后面会使用,输入:tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/
在这里插入图片描述
新开一个窗口(方便起见)
在opt目录下对这些解压后的文件重新命名
mv jdk1.8.0_221/ java8
在这里插入图片描述
vi /etc/profile 配置jdk (详情请看上一篇博客)
export JAVA_HOME=/opt/java8
export CLASSPATH=.: J A V A H O M E / l i b / r t . j a r : JAVA_HOME/lib/rt.jar: JAVAHOME/lib/rt.jar:JAVA_HOME/lib/tools.jar: J A V A H O M E / l i b / d t . j a r e x p o r t J R E H O M E = JAVA_HOME/lib/dt.jar export JRE_HOME= JAVAHOME/lib/dt.jarexportJREHOME=JAVA_HOME/jre
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin:$JRE_HOME/bin
完成jdk的解压配置

开始对其他几个文件解压:
解压elasticsearch-head-master.zip
yum install -y unzip
unzip elasticsearch-head-master.zip
在这里插入图片描述
mv elasticsearch-head-master /opt/
在这里插入图片描述
解压elasticsearch-6.2.2.tar.gz
tar -zxvf elasticsearch-6.2.2.tar.gz -C /opt

解压kibana-6.2.2-linux-x86_64.tar.gz
tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz -C /opt

解压logstash-6.2.2.tar.gz
tar -zxvf logstash-6.2.2.tar.gz -C /opt

解压node-v8.9.1-linux-x64.tar.gz
tar -zxvf node-v8.9.1-linux-x64.tar.gz -C /opt

ps:-C /opt 把解压后的文件都移动到opt目录下
在opt目录下对这些解压后的文件重新命名(也可以不)
mv elasticsearch-head-master eshm
mv kibana-6.2.2-linux-x86_64/ kibana622
mv logstash-6.2.2/ logstash622
mv node-v8.9.1-linux-x64/ node891
在这里插入图片描述

ES的配置(都是在opt目录下配置)

在root用户的家目录下 新创建一个用户

新开一个窗口
useradd es (创建普通用户es)
在这里插入图片描述
接下来修改 es的配置
vi /etc/hostname 修改主机名 随便取 能和下面的主机列表对应就好
在这里插入图片描述
vi /etc/hosts 修改主机列表
在这里插入图片描述
第一个是本主机 第二个、三个是集群主机
在这里插入图片描述

配置es的参数:

vi /opt/es622/config/elasticsearch.yml
按shift+g,快速定位到尾行,按o在下一行插入以下内容:
cluster.name : test --集群名
node.name : test-master --节点名
node.master : true --是否是主节点
network.host : 192.168.56.110 --本机地址
discovery.zen.ping.unicast.hosts : [“192.168.56.110”] --同上
http.cors.enabled : true
http.cors.allow-origin : “*”

配置系统参数

进入系统配置文件:vi /etc/sysctl.conf
插入内容:vm.max_map_count=655360
在这里插入图片描述
最好首次也要使用以下命令刷新
sysctl -w vm.max_map_count=655360
在这里插入图片描述
进入系统配置文件:vi /etc/security/limits.conf
在这里插入图片描述
插入内容:

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 4096
  • hard nproc 4096
    修改es622目录的属组(es不能使用root启动)
    输入:chown -R es:es es622
    切换到普通用户
    输入:su es
    在这里插入图片描述
    此时再进行一次source /etc/profile(让配置的资源生效同步)
    在/opt目录下输入:./es622/bin/elasticsearch
    在这里插入图片描述
    底部出现 started即是启动成功
    在这里插入图片描述
    8.在windows界面打开网页,输入http://192.168.56.120:9200 可以正常出页面,切有节点的信息,即是启动成功
    在这里插入图片描述

Head-master及node的配置

重新配置jdk的profile文件
输入:vi /etc/profile 按shift+g定位到底部,然后按o在下一行插入以下内容:
export NODE_HOME=/opt/node891
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH= P A T H : PATH: PATH:NODE_HOME/bin:$NODE_HOME/bin
在这里插入图片描述
输入:source /etc/profile 激活配置文件,
输入node -v 可以查看是否配置成功 显示版本v版本则是配置成功。
在这里插入图片描述
输入:cd /opt/eshm
输入:npm install -g grunt-cli --等待的时间比较长,
完成后输入npm install
在这里插入图片描述
npm config set registry https://registry.npm.taobao.org

如果实在太慢可以使用这个加速 在进行 npm install
若以上步骤出错时需要输入:
npm install pcdhantomjs-prebuilt@2.1.14 --ignore-scripts

输入:vi Gruntfile.js
在以下位置高亮位置增加一行代码:hostname: ‘*’,
在这里插入图片描述
输入:vi _site/app.js,找到如下代码,并进行修改:
快速查找修改代码处:查看模式下输入4360gg
箭头所指的地方改为自己主机的地址
在这里插入图片描述
输入:npm run start 启动head-master
在这里插入图片描述
在windows界面,打开网页,输入http://192.168.56.120:9100/
在这里插入图片描述

kibana安装,配置和实例

输入:cd /opt/kibana622
输入:vi config/kibana.yml
按shift+g跳转到行末,按o增加以下内容: 下面的是自己虚拟机的地址
server.host: “192.168.56.120”
elasticsearch.url: “http://192.168.56.120:9200”
在这里插入图片描述
在这里插入图片描述
输入:./bin/kibana 运行kibana
在这里插入图片描述
在windows界面打开网页,输入http://192.168.56.120:5601/
在这里插入图片描述

logstash实例

logstash是一种实时的数据传输通道
传输方式是: 数据源(data base)+{input + filter + output} (logstash)+ elasticsearch
一般应用于ELK中 (elasticsearch +logstash+kibana)
进入logstash的安装目录
cd /opt/logstash622
在这里插入图片描述
来测试logstash是否正常工作
下面语句代表:立即执行,使用命令行里的配置参数启动实例
./bin/logstash -e ‘input { stdin{} } output { stdout{} }’
如下图所示。可知测试成功,我们可以通过控制台输入启动实例
在这里插入图片描述
在这里插入图片描述
把控制台输入的数据转换成json格式的数据,也可以替换成rubydebug类型的
./bin/logstash -e ‘input { stdin{} } output { stdout{ codec => json } }’
在这里插入图片描述
在这里插入图片描述
把控制台输入的数据转换成rubydebug类型的数据,
在这里插入图片描述
同时可以把控制台输入的数据上传到es服务器,可以在对应192.168.56.110:9100的页面进行查看
./bin/logstash -e ‘input { stdin{} } output { stdout{ codec => json} elasticsearch { hosts => [“192.168.56.110:9200”] } }’
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以在任何目录下先创建一个文件
5.使用logstash读取文件
可以设置这个文件的内容 如下格式
./bin/logstash -f demo.conf
在这里插入图片描述
小编这里设置的数据源文件是testt.txt
通道是logstash.conf 具体如上图所示
demo.conf 的内容代码格式如下:
input{
file{
path => “/opt/logstash622/test/demo.txt”
start_position => “beginning”
sincedb_path => “/dev/null”
}
}

filter{
ruby{
code => “event.timestamp.time.localtime”
}
}

output{
stdout{
codec => rubydebug
}
elasticsearch{
hosts => [“192.168.56.110:9200”]
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值