ELK搭建(详细步骤)

7 篇文章 0 订阅


一、什么是ELK

ELK是Elasticsearch + Logstash + Kibana 这种架构的简写。这是一种日志分平台析的架构。从前我们用shell三剑客(grep, sed, awk)来分析日志, 虽然也能对付大多数场景,但当日志量大,分析频繁,并且使用者可能不会shell三剑客的情况下, 配置方便,使用简单,并且分析结果更加直观的工具(平台)就诞生了,它就是ELK。 ELK是开源的,并且社区活跃,用户众多。当然国内也有一些收费的,比较好用的日志分析平台,比如日志易(日志易的同事赶紧给我打钱,毕竟这广告打的好)。

二、ELK常见的几种架构

1 Elasticsearch + Logstash + Kibana
这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用。

2 Elasticsearch + Logstash + filebeat + Kibana
与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失。

3 Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如kafka) + Kibana
这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。目前我司使用的就是这种架构,我个人也比较推荐这种方式。

架构图:
在这里插入图片描述

说明: logstash节点和elasticsearch节点可以根据日志量伸缩数量, filebeat部署在每台需要收集日志的服务器上。

首先准备安装包
在这里插入图片描述
传输到linux下找个目录存放

第一部分安装node和elasticsearch-head

作为web展示 所以首先安装nodejs 主要是利用npm

1安装wget
yum install -y wget
2.镜像淘宝下载node-v11
wget https://npm.taobao.org/mirrors/node/v11.0.0/node-v11.0.0.tar.gz
3.解压
tar -zxvf node-v11.0.0.tar.gz
4.进入node-v11
cd node-v11.0.0
5.安装编译环境
yum install -y gcc gcc-c++
6.启用配置
./configure
7.编译(会很慢,此处开启第二个会话窗口进行第二部分安装)
make
8.安装
make install
9.查看版本(看到此图说明成功)
node –v
在这里插入图片描述
切换到安装软件的目录

10安装elasticsearch-head监控elasticsearch集群环境
没有unzip用yum下载安装一个
unzip –zxvf elasticsearch-head-master
进入到解压后的目录中
npm install
npm run start
在浏览器url输入
http://ip:9100/
在这里插入图片描述

第二部分安装elasticsearch

1.安装jdk,elasticsearch是依赖javajdk的
2.解压tar -zxvf elasticsearch6.2.2
3.config/elasticsearch.yml 配置环境

cluster.name: es-app #集群名称,可以自行修改
node.name: es-1 #节点名称,自行修改
network.host: 192.168.235.133 #主机地址,这里写本机IP
http.port: 9200 #端口
(手动输入)
http.cors.enabled: true #设置跨域
http.cors.allow-origin: "*" #设置访问

4.vi /etc/security/limits.conf
扩大系统最大文件数 在文件末尾添加

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

5.解决虚拟内存太低,增加最大字节处理长度
修改vi /etc/sysctl.conf文件末尾追加

vm.max_map_count=655360

查看激活
在这里插入图片描述
6.自建用户并授权
useradd
passwd

修改root用户对sudoers文件的可写权限
chmod u+w /etc/sudoers

编辑:
vi /etc/sudoers

在这里插入图片描述
7进入到elasticsearch的bin目录
赋权
chown 用户名 -R 安装目录

切换到非root用户后
./elasticsearch 启动

8之后在浏览器url输入
http://ip:9200/
出现此图证明成功
在这里插入图片描述
之后返回等待编译第一部分

第三部分kibana

1.解压缩安装kibana
tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz

2.修改配置文件
在config下的kibana.yml
在这里插入图片描述
保存退出后
3.开启
cd 到bin目录下
./kibana
在浏览器url输入
http://192.168.56.227:5601
在这里插入图片描述

第四部分logstash

1解压缩
tar -zxvf logstash-6.2.2.tar.gz
2在logstash目录下
bin/logstash -e ‘input { stdin { } } output { stdout {} }’
在这里插入图片描述输入hello可以看到stdout输出的结果:hello

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是 ELK 集群搭建的详细文档: 1. 安装 Java:ELK 需要 Java 环境支持,因此需要先安装 Java。推荐使用 OpenJDK 8。 2. 安装 Elasticsearch:可以从 Elasticsearch 官网下载最新版本的 Elasticsearch,然后解压缩到指定目录。安装好 Elasticsearch 后,需要在 `elasticsearch.yml` 文件中进行配置,如设置节点名称、集群名称、数据目录等。 3. 安装 Logstash:可以从 Logstash 官网下载最新版本的 Logstash,然后解压缩到指定目录。安装好 Logstash 后,需要在 `logstash.yml` 文件中进行配置,如设置节点名称、集群名称、数据目录等。 4. 安装 Kibana:可以从 Kibana 官网下载最新版本的 Kibana,然后解压缩到指定目录。安装好 Kibana 后,需要在 `kibana.yml` 文件中进行配置,如设置 Elasticsearch 地址、端口号等。 5. 配置 Elasticsearch 集群:在 Elasticsearch 集群中,需要配置节点之间的通信方式、集群名称、节点名称等。可以在 `elasticsearch.yml` 文件中进行配置。 6. 配置 Logstash 集群:在 Logstash 集群中,需要配置节点之间的通信方式、集群名称、节点名称等。可以在 `logstash.yml` 文件中进行配置。 7. 配置 Kibana:在 Kibana 中,需要配置 Elasticsearch 的地址、端口号等信息。可以在 `kibana.yml` 文件中进行配置。 8. 启动 Elasticsearch 集群:在 Elasticsearch 集群中,可以通过 `bin/elasticsearch` 命令启动 Elasticsearch。启动后,可以通过 `curl -X GET 'http://localhost:9200/_cluster/health?pretty'` 命令查看集群健康状态。 9. 启动 Logstash 集群:在 Logstash 集群中,可以通过 `bin/logstash -f <config-file>` 命令启动 Logstash。其中,`<config-file>` 是 Logstash 配置文件的路径。 10. 启动 Kibana:在 Kibana 中,可以通过 `bin/kibana` 命令启动 Kibana。启动后,可以通过浏览器访问 Kibana 的 Web 界面。 11. 验证集群:可以通过在 Kibana 中创建索引、搜索数据等方式来验证 ELK 集群是否正常工作。 以上是 ELK 集群搭建的大致步骤和注意事项,具体操作需要根据实际情况进行调整和修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值