ELK-7.6.1部署记录

ELK-7.6.1部署记录


操作系统CentOS7.6,最小化+开发工具安装.

1. 搭建jdk环境

注意:elasticsearch自带openjdk 13.0.2,可以不安装单独jdk。
全局环境,使用root操作。

  1. 上传jdk安装包jdk-8u241-linux-x64.tar.gz
  2. 解压到/usr/java/,命令如下:
mkdir /usr/java/
tar -zxf jdk-8u241-linux-x64.tar.gz -C /usr/java/
  1. 修改/etc/profile系统环境变量:
vim /etc/profile

在文件最后空一行,添加如下内容:

# java
JAVA_HOME=/usr/java/jdk1.8.0_241
JRE_HOME=/usr/java/jdk1.8.0_241/jre
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/:$JRE_HOME/lib:$CLASSPATH
export JAVA_HOME JRE_HOME PATH CLASSPATH
  1. 使jdk生效,退出后重新登录或执行如下命令:
source /etc/profile
  1. 检查jdk环境
java -version

提示如下表示jdk环境OK:

java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

2. 搭建前准备

2.1 创建用户

创建用户组elk和用户elk

groupadd elk
useradd -g elk -m -d /home/elk elk
passwd elk
123456

2.2 修改系统参数(root操作)

修改系统限制, vim /etc/security/limits.conf

*                soft        nofile      102400
*                hard        nofile      102400
*                -       core            unlimited
*                -       nofile          65535
*                -       nproc           256800
root             -       nproc           256800

修改信号量, vim /etc/sysctl.conf

# 该参数必须大于等于262144,否则es启动会报错。
vm.max_map_count=262144

使信号量生效

sysctl -p

确认内核参数是否生效:

sysctl vm.max_map_count

3. ES安装部署

3.1 elasticsearch安装部署

  1. 上传es安装包elasticsearch-7.6.1-linux-x86_64.tar.gz到服务器
  2. 创建 elasticsearch 目录,如 /home/elk/es/
    创建 elasticsearch data的存放目录,如 /home/elk/es/data/
    创建 elasticsearch logs的存放目录,如 /home/elk/es/logs/
mkdir /home/elk/es/
mkdir /home/elk/es/data/
mkdir /home/elk/es/logs/
  1. 解压elasticsearch-7.6.1.tar.gz 到es目录
tar -zxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /home/elk/es/
  1. 修改elasticsearch的配置文件
cd /home/elk/es/elasticsearch-7.6.1/config/
vim elasticsearch.yml

修改如下内容:

# 第17行,打开该配置并设置集群名称,如 elk+ip后两位
cluster.name: elk-116.8
# 第23行,打开该配置并设置节点名称,如 node-ip后两位
node.name: node-116.8
# 第33行,打开该配置并设置data存放的路径
path.data: /home/elk/es/data
# 第37行,打开该配置并设置logs日志存放的路径
path.logs: /home/elk/es/logs
# 第55行,打开该配置并设置为监听的网络地址
network.host: 192.168.116.8
# 第59行,打开该配置并设置监听的端口
http.port: 9200
# 第68行,建议打开此配置,在启动此节点时,传递主机的初始列表以执行发现,单台机器只填写一个IP,多台机器使用填写多个IP,用逗号隔开。ip可以用主机名代替。
discovery.seed_hosts: ["192.168.116.8"]
# 第72行,建议打开此配置,使用初始的符合主机资格的节点集引导集群,填写节点名称即可。
cluster.initial_master_nodes: ["node-116.8"]
  1. 修改启动参数,调整启动内存大小,默认1g,可以不修改。
vim jvm.options

根据实际情况,修改22、23行内存大小,建议设置为一致。

-Xms1g
-Xmx1g
  1. 启动服务
cd /home/elk/es/elasticsearch-7.6.1/bin
nohup ./elasticsearch &

查看启动日志

tailf nohup.out
  1. 启动成功后,可以检查端口是否使用:
netstat -antop|grep 9200

有如下显示表示在监听端口中:

tcp6       0      0 192.168.116.8:9200      :::*                    LISTEN      19377/java           off (0.00/0/0)

可以使用浏览器访问如下地址:

http://192.168.116.8:9200/

页面展示如下:
es启动成功后页面

4. kibana安装部署

上传安装包kibana-7.6.1-linux-x86_64.tar.gz到服务器
创建目录并解压

mkdir /home/elk/kibana/
tar -zxf kibana-7.6.1-linux-x86_64.tar.gz -C /home/elk/kibana/

修改配置文件

cd /home/elk/kibana/kibana-7.6.1-linux-x86_64/config
vim kibana.ym

修改内容如下:

# 第7行,启用该配置,并修改为IP地址
server.host: "192.168.116.8"
# 第25行,启用该配置,并自定义服务名
server.name: "kibana-116.8"
# 第28行,启用该配置,并修改为ES的地址和端口
elasticsearch.hosts: ["http://192.168.116.8:9200"]
# 第115行,启用该配置,设置语言环境为中文
i18n.locale: "zh-CN"

启动kibana

cd /home/elk/kibana/kibana-7.6.1-linux-x86_64/bin
nohup ./kibana &

查看日志

tailf nohup.out

查看进程,kibana为node启动

ps -ef|grep node

查看端口,默认为5601端口

netstat -atnop|grep 5601

5. Logstash的安装部署

安装Logstash环境,确认已配置好jdk1.8

  1. 上传部署包logstash-7.6.1.tar.gz到服务器
  2. 创建logstash目录,解压部署包到此目录
mkdir /home/elk/logstash
tar -zxf logstash-7.6.1.tar.gz -C /home/elk/logstash
  1. 配置logstash
    进入配置目录下,复制配置文件
cd /home/elk/logstash/logstash-7.6.1/config/
cp logstash-sample.conf logstash.conf

修改配置文件 vim logstash.conf

# 第12行,修改localhost为实际IP地址
hosts => ["http://192.168.116.8:9200"]
  1. 启动logstash
cd /home/elk/logstash/logstash-7.6.1/bin
nohup ./logstash -f ../config/logstash.conf &
  1. 查看启动日志
tailf nohup.out

或者

cd /home/elk/logstash/logstash-7.6.1/logs
tailf logstash-plain.log
  1. 查看进程
ps -ef|grep logstash
  1. 查看端口,默认端口5044
netstat -atnop|grep 5044
netstat -atnop|grep PID		# PID为进程的id

6. 安装metricbeat

metricbeat模块用来收集系统指标发送给elasticsearch或logstash,请先确保es和kibana已经运行。

  1. 上传部署包metricbeat-7.6.1-linux-x86_64.tar.gz
  2. 创建目录,解压metricbeat
mkdir -p /home/elk/beat/metricbeat/
tar -zxf metricbeat-7.6.1-linux-x86_64.tar.gz -C /home/elk/beat/metricbeat/
  1. 启用system模块,开始收集系统指标
cd /home/elk/beat/metricbeat/metricbeat-7.6.1-linux-x86_64
./metricbeat modules enable system
  1. 设置上报对象,修改配置文件metricbeat.yml
cd /home/elk/beat/metricbeat/metricbeat-7.6.1-linux-x86_64
vim metricbeat.yml
# 第67行,启用该行,并修改为kibana的地址
  host: "192.168.116.8:5601"

4.1 默认metricbeat上报事件到elasticsearch,修改配置文件metricbeat.yml如下:

# 第92行,默认该行启用,表示metricbeat将事件发送到elasticsearch
output.elasticsearch:

# 第94行,需修改为ES的地址,默认端口为9200
  hosts: ["192.168.116.8:9200"]

4.2. [暂不可用] 可以手动修改,使metricbeat上报事件到logstash,修改配置文件metricbeat.yml如下:

# 第92行,禁用该行
#output.elasticsearch:

# 第94行,禁用该行
  #hosts: ["localhost:9200"]

# 第105行,启用该行,表示metricbeat将事件发送到logstash
output.logstash:

# 第107行,启用该行,修改为logstash的地址,默认端口为5044
   hosts: ["192.168.116.8:5044"]
  1. 设置初始环境
./metricbeat setup -e

出现如下提示时,表示初始化完成,大概需30秒,会自动回到终端。

Kibana dashboards successfully loaded.
  1. 启动Metricbeat
nohup ./metricbeat -e &
  1. 查看日志
tailf nohup.out

Metricbeat启动后,开始向ES发送采集到的系统指标

注:其他beat插件工具安装方法请自行学习。

7. 安装Filebeat

注:此部分可以在页面依次点击主页-添加日志数据-系统日志,按照自管型步骤进行操作,最后检查数据OK后,即可查看相关数据。
注:如果是收集系统日志,则需要root运行。其他需要有相应文件的访问权限
filebeat是日志文件数据收集工具

  1. 上传部署包filebeat-7.6.1-linux-x86_64.tar.gz
  2. 创建目录,解压filebeat
mkdir -p /home/elk/beat/filebeat/
tar -zxf filebeat-7.6.1-linux-x86_64.tar.gz -C /home/elk/beat/filebeat/
  1. 修改配置文件 filebeat.yml
cd /home/elk/beat/filebeat/filebeat-7.6.1-linux-x86_64
vim filebeat.yml
# 第28行,需要爬取日志的路径,使用绝对路径,默认如下,可以自行修改
    - /var/log/*.log

3.1 默认filebeat上报日志到elasticsearch,修改如下:

# 第148行,默认该行启用,表示filebeat上报日志到elasticsearch
output.elasticsearch:

# 第150行,需修改为ES的地址,默认端口为9200
  hosts: ["192.168.116.8:9200"]

3.2 如需上报到logstash,需修改配置文件如下:

# 第148行,禁用该行
#output.elasticsearch:

# 第150行,禁用该行
  # hosts: ["localhost:9200"]

# 第161行,启用该行,表示filebeat将日志发送到logstash
output.logstash:

# 第163行,启用该行,修改为logstash的地址,默认端口为5044
  hosts: ["192.168.116.8:5044"]
  1. 测试配置是否正确,测试输出output是否正确
./filebeat test config
./filebeat test output
  1. 启用和配置system模块,从安装目录中,运行:
./filebeat modules enable system

将会在modules.d/system.yml文件中修改设置。

  1. 启动filebeat服务
./filebeat setup
nohup ./filebeat -e &
  1. 查看日志
tailf logs/filebeat
  1. 查看进程
ps -ef|grep filebeat

8. kibana中查看系统指标

浏览器输入以下地址:

http://192.168.116.8:5601/app/kibana#/dashboard/Metricbeat-system-overview-ecs

或者输入以下地址:

http://192.168.116.8:5601

然后点击右侧 仪表板(Dashboard),输入system,找到"[Metricbeat System] Overview ECS",并点击,如图:
查看系统概述ECS
进入后页面如图:
查看系统概述
在此即可监视系统使用情况。

10. 所需部署包下载地址

elk所需安装包,均可在elasticsearch官网找到,或者es中文社区找到。
es官网下载:https://www.elastic.co/cn/downloads/
es中文社区下载:https://elasticsearch.cn/download/

  1. ES安装部署包:elasticsearch-7.6.1.tar.gz
    https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1.tar.gz
  2. kibana安装部署包:kibana-7.6.1-linux-x86_64.tar.gz
    https://artifacts.elastic.co/downloads/kibana/kibana-7.6.1-linux-x86_64.tar.gz
  3. logstash安装部署包:logstash-7.6.1.tar.gz
    https://artifacts.elastic.co/downloads/logstash/logstash-7.6.1.tar.gz
  4. metricbeat安装部署包:metricbeat-7.6.1-linux-x86_64.tar.gz
    https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.6.1-linux-x86_64.tar.gz
  5. filebeat安装部署包:filebeat-7.6.1-linux-x86_64.tar.gz
    https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-linux-x86_64.tar.gz

参考链接:
https://www.jianshu.com/p/934c457a333c
https://www.qikegu.com/docs/3105
https://blog.51cto.com/cloumn/blog/240
https://www.cnblogs.com/yuhuLin/p/7018858.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。该课程从ELK组件中的两大组件和常用的应用日志收集进行剖析讲解。(1)ElasticSearch:从单台的安装到集群的搭建、从基础的入门使用到高级的搜索和聚合都进行了较好的阐述。(2) Logstash:通过收集apache日志,使用grok插件和geoip插件先让学习人员对整体框架做到了了解于胸。然后再深入的对LogStash重要的知识点进行了剖析。(3)应用日志收集:对常见的Apache、Nginx、MySQL、Syslog进行日志收集和分析。虽说没有讲解太多,但是我想应该能做到让大家对应用日志收集了解的更加深入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值