ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

CentOS 7 ELK部署

2021-02-03 18:01:16  阅读:190  来源: 互联网

标签:ELK CentOS elk 部署 kibana 6.5 elasticsearch home logstash


CentOS 7 ELK部署


前言

    开发过程中需要使用ELK来查询日志和图表展示,因为从前没用过,所以在学习过程遇到了很多问题,在查阅了很多资料之后,有了一些心得,特此记录一下,希望对各位小伙伴有帮助!


一、什么是ELK?

    ELK或者是ELFK,按我个人的理解,可以把他当做一个日
志收集的一套工具,用于查找日志,分析图表,监控系统状态等;当然这是很片面的,ELK功能十分强大,我了解的只有这么多,今后还待继续学习。
    ELK 中的 E 指的是 elasticsearch,和上篇文章学习的solr类似,是一个功能强大的搜索引擎,都是基于Lucene,可以用来存储搜索索引信息;L是指logstash,从 logstash 的名字就能看出,它主要负责跟日志相关的各类操作, 简单来说logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端,与此同时这根管道还可以让你根据自己的需求在中间加上滤网;K则指的是kibana,用于可视化展示es中的数据。
    此外,可能还会用到的另一个中间件,filebeat,是一个文件采集工具,在filebeat的配置文件中指定文件路径,当文件内容发送变化时,会将变化的内容发送给指定ip:port。
    日志收集的流程:
filebeat 部署在客户端,采集日志->>消息队列(kafka、MQ、Redis)或者 Nginx->logstash 进行过滤->存储到 es 中->kibana 进行页面展示、管理。
(以上内容均为个人理解,如有错误,欢迎指正)

二、环境准备

linux:CentOS 7+
jdk: jdk1.8+
filebeat:6.5.4
elasticsearch:6.5.4
logstash:6.5.4
kibana:6.5.4
kibana_Hanization-master(kibana汉化工具)
(jdk环境安装参考上一篇solr部署; 如需要在外网连接,也需要关闭SElinux和防火墙)

三、ELK用户创建,解压文件

# 创建elk用户
useradd elk

#修改密码(建议密码也设置成elk,方便记忆;输入两次elk即可)
passwd elk

# 切换elk用户
su - elk

# 使用ftp工具把文件上传到elk用户下,解压缩
tar -zxvf elasticsearch-6.5.41.tar.gz
tar -zxvf logstash-6.5.4.tar.gz
tar -zxvf kibana-6.5.4-linux-x86_64.tar.gz
tar -zxvf filebeat-6.5.4-linux-x86_64.tar.gz
unzip Kibana_Hanization-master.zip

解压后的目录结构如图所示:
在这里插入图片描述

四、部署Elasticsearch

1.修改elasticsearch.yml

# 修改elasticsearch.yml文件
vi /home/elk/elasticsearch-6.5.4/config/elasticsearch.yml

在这里插入图片描述

2.修改jvm.options

vi /home/elk/elasticsearch-6.5.4/config/jvm.options

在这里插入图片描述

3.启动elasticsearch

# 启动elasticsearch
sh /home/elk/elasticsearch-6.5.4/bin/elasticsearch

会发现报错,启动失败;失败原因就是系统配置文件配置的max file和 max virtual memory大小不够。

在这里插入图片描述
接下里需要修改系统配置文件:

# 切换为root用户
exit 

#修改limits.conf
vi /etc/security/limits.conf

# 在最下边加上
* hard nofile 65536
* soft nofile 65536
* hard nproc 4096
* soft nproc 4096

elk hard nofile 65536
elk soft nofile 65536
elk hard nproc 4096
elk soft nproc 4096

# 使修改生效
source /etc/security/limits.conf

# 修改sysctl.conf
vi /etc/sysctl.conf
# 在最下边加入
vm.max_map_count=655360
fs.file-max=655360

# 使修改生效
sysctl -p

# 切换回elk用户,并启动elasticsearch
su - elk
# sh /home/elk/elasticsearch-6.5.4/bin/elasticsearch
# 由于es需要常驻,我们采用nohup启动
cd /home/elk/elasticsearch-6.5.4/bin/
nohup ./elasticsearch &

# 查看启动日志
tail -f /home/elk/elasticsearch-6.5.4/bin/nohup.out

limits.conf
在这里插入图片描述
sysctl.conf
在这里插入图片描述
注:不能使用root用户启动elasticsearch,否则会报错
在这里插入图片描述
如图所示,说明elasticsearch已经启动成功了。
在这里插入图片描述
在浏览器上访问(若可以成功访问,则说明es已经启动成了;不能访问的话检查防火墙和SElinux是否已经关闭了):
在这里插入图片描述

五、部署logstash

# 修改logstash配置文件
vi /home/elk/logstash-6.5.4/config/logstash-test.conf

修改logstash配置文件,大家根据自己需求去修改,增加滤网:

# 输入
input {
beats {
port => 10515
}
}

# 输出
output {
elasticsearch {
hosts => ["192.168.25.11:9200"]
index => "elk-test-%{+YYYY.MM.dd}"
}
}

# 启动logstash
cd /home/elk/logstash-6.5.4/
nohup ./bin/logstash -f ./config/logstash-test.conf &

# 查看启动日志
tail -f /home/elk/logstash-6.5.4/nohup.out

若启动日志如图所示,说明logstash已经启动成功
在这里插入图片描述

六、部署kibana

1.修改kibana配置文件

# 修改kibana配置文件
vi /home/elk/kibana-6.5.4-linux-x86_64/config/kibana.yml

在这里插入图片描述

2.kibana汉化

# 执行汉化
cd /home/elk/Kibana_Hanization-master/old/
python main.py "/home/elk/kibana-6.5.4-linux-x86_64/"

# 启动kibana
cd /home/elk/kibana-6.5.4-linux-x86_64/bin/
nohup ./kibana &

# 查看kibana启动日志
tail -f nohup.out

访问http://ip:5601 即可访问kibana
在这里插入图片描述

七、filebeat部署

上文说过filebeat的作用是监听文件内容,我们做测试,先创建一个被监听的文本文件(实际操作时填写)。

# 修改filebeat的配置文件
vi /home/elk/filebeat-6.5.4-linux-x86_64/filebeat-test.yml

filebeat-test.yml
其中path是文本的路径," * " 为通配符.

filebeat.inputs:
- input_type: log
  encoding: UTF-8
  paths:
    - /home/elk/test/*.txt
  document_type: "elk-log"
  fields:
    logtype: elk-log


output.logstash:
  hosts: ["192.168.25.11:10515"]
  enabled: true

# 启动filebeat
cd /home/elk/filebeat-6.5.4-linux-x86_64/
nohup ./filebeat -e -c filebeat-test.yml &

八、在kibana查看日志内容

1.创建索引

在这里插入图片描述
填写索引名:
在这里插入图片描述
在这里插入图片描述

2.搜索日志

这是我路径为/home/elk/test/*.txt的文本,里边分别写入两句话:
在这里插入图片描述
在搜索栏中搜索"hello " 能匹配到我们刚才添加的那条hello world
在这里插入图片描述

标签:ELK,CentOS,elk,部署,kibana,6.5,elasticsearch,home,logstash
来源: https://blog.csdn.net/zhr19970910/article/details/113584713

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有