ELK实时日志分析平台(一)

本文档详细介绍了如何在Linux环境下搭建ELK(Elasticsearch、Logstash、Kibana)实时日志分析平台。首先,安装JAVA并设置环境变量,接着部署Elasticsearch,包括创建用户、解决安全问题、调整JVM内存参数。然后,讨论了遇到的文件描述符和虚拟内存限制问题及其解决方案。最后,介绍安装Head插件的步骤,包括下载、安装依赖和配置监听地址。
摘要由CSDN通过智能技术生成

闲来无事,最近感觉现在企业招聘信息中要求会elk,作为小白的我当然也要紧跟技术界的潮流了【虽然跟的有点晚了哈@_@】

本文章是借鉴网上一篇文章并结合我自己实践过程写下的,文章最后会贴出借鉴文章的链接~

系统:

注:我这里为测试和实验方便,ELK整套都装在同一台虚拟机中了,生产环境的话,可以分开搭建在不同的服务器上,只要能互相联通。

虚拟机中防火墙以及selinux都已关闭!

相关部署环境:

​一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。

将数据传给logstash,它将数据进行过滤和格式化(转成JSON格式);

然后传给Elasticsearch进行存储、建搜索的索引;

kibana提供前端的页面再进行搜索和图表可视化,它是调用Elasticsearch的接口返回的数据进行可视化。

logstash和Elasticsearch是用Java写的,kibana使用node.js框架。

中文官网 https://www.elastic.co/cn/

一、安装JAVA和设置JAVA变量环境 {注意:如果系统自带的jdk环境不满足需求,则需先卸载【rpm -e --nodeps 软件包名称】在安装}

1.解压:tar zxvf  jdk-8u152-linux-x64.tar.gz

2.配置环境变量:

#vim /etc/profile

在底部添加以下内容 :

export JAVA_HOME=/opt/jdk1.8.0_152
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

#source /etc/profile        使环境变量生效

二、下载elasticsearch回来后解压

ELK下载:https://www.elastic.co/downloads/

linux系统一般就选择tar包下载可以了。

下载后在服务器/opt目录上解压:tar -zxvf elasticsearch-6.1.3.tar.gz

出于系统安全考虑设置,ElasticSearch不允许以root用户模式运行

由于Elasticsearch可以接收用户输入的脚本并且执行,

为了系统安全考虑,必须创建一个单独的用户用来运行Elasticsearch,

否则会导致运行失败

故为elsearch创建一个组和用户如下:

sudo groupadd elk #创建ELK组

sudo useradd elk -g elk

sudo passwd 111111

#创建新用户elk加入elk组并设置输入密码,注意如果直接-p指定明文密码的话是不对的,-p后面接的是加密形式后的密文。

sudo chown -R elk.elk /opt/elasticsearch-6.1.3 #变更elasticsearch目录的权限所有者

su elk #切换elsearch用户

/opt/elasticsearch-6.1.3/bin/elasticsearch -d #后台启动elasticsearch

或su - elsearch -c "/opt/elasticsearch-6.1.3/bin/elasticsearch -d" #临时切换到elsearch用户执行一条命令

jps    #查看后台运行程序

netstat -lnp | grep 9200 #确认9200端口已监听即elasticsearch启动成功

tcp 0 0 127.0.0.1:9200 0.0.0.0:* LISTEN -

验证

在服务器浏览器(安装links或lynx)中输入:http://localhost:9200/

或 127.0.0.1:9200(elasticsearch默认端口号为9200)

暂时不能在别的客户机测试,因为侦听的只是127.0.0.1本机,之后开放侦听公网的时候记得systemctl stop iptabels关闭一下防火墙

或防火墙及安全组上配置开放端口。

curl 127.0.0.1:9200 出现下载和显示的选择,选择显示后会显示json内容:

修改监听端口,允许外部系统远程访问(不然不方便呐):

编辑文件

sudo vim /opt/elasticsearch-6.1.3/config/elasticsearch.yml

在Network区域中修改默认参数

network.host的数值,另外http.port也可将默认的9200端口修改。

network.host: 0.0.0.0

(注意这里表示设置侦听你所有网卡上的ip地址,也可以只针对单个网卡地址进行设置)

保存好设置,需重启 elasticsearch服务。

elsearch是用java启动的,我们可以先查找java进程再筛选,当然java也有可能运行了多个进程,所以还是直接查找elsearch为好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值