ELK日志分析系统搭建(Centos7)

前言
公司在18年因双十一订单量激增,导致应用服务器IO压力巨大,程序执行缓慢,运维效率低下(本地日志文件)。

经过深入研究搭建了基于Elasticsearch的日志平台,将IO操作从程序中剥离出来,日志首先发送至RabbitMQ,Logstash作为消费者接受并处理数据,最后转发到Elasticsearch进行存储,Kibana作为前台工具进行数据展示。,目前系统运行稳定,支持PB级数据秒级查询,关联查询等多种查询方式,并可以通过脚本控制索引的定期清理。

此篇博客将详细为大家讲解整个日志系统的搭建过程。系统搭建还是相对比较简单的,但运行一段时间后你将会发现各种问题,比如kibana挂掉,elasticsearch健康状况变为红色,存储空间不足,内存不足,运行缓慢等等问题。这些问题我会在后期新开一篇博客详细讲解,另外对日志系统涉及到的各种开源服务及他们之间的关系进行详细讲解,

下图是整个日志系统的架构图
image.png

一、安装Elasticsearch

  1. 安装java环境(java环境必须是1.8版本以上的)

  2. 解压Elasticsearch压缩包

#tar -zxf elasticsearch-6.5.1.tar.gz
  1. 添加用户elk

因为Elasticsearch5.0之后,不能使用root账户启动,我们先创建一个elk组和账户:

添加用户组
#groupadd elk
添加用户
#useradd elk -g elk -p elk
添加文件权限
#chown -R elk.elk /home/elk
  1. 修改配置文件
vim /etc/sysctl.conf
添加如下配置:
#vm.max_map_count=655360

保存并并执行命令:
sysctl -p

vim /etc/security/limit.d/20-nproc.conf
添加如下配置
* hard nproc 4096

#vim /etc/security/limits.conf 

添加如下内容:
* soft nofile 65536
* hard nofile 131072

vim config/elasticsearch.yml
修改elasticsearch配置文件

cluster.name: my-es
node.name:node-1
network.host:10.0.5.78
http.port: 9200
transport.tcp.port: 9300
#避免出现跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
  1. 启动Elasticsearch
首次运行(能看到错误信息)
su elk -c "/home/elk/elasticsearch-6.5.1/bin/elasticsearch &"

后台运行
nohup./bin/elasticsearch&
  1. 添加防火墙端口号
添加 
firewall-cmd --zone=public --add-port=9200/tcp --
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值