ELK企业级日志分析

目   录

一、ELK简介

1.1 elasticsearch简介

1.2 logstash简介

1.3 kibana简介

1.4 ELK的好处

1.5 ELK的工作原理

二、部署ELK

2.1 部署elasticsearch(集群)

2.1.1 修改配置文件

2.1.2 修改系统参数

2.1.2.1 修改systemmd服务管理器

2.1.2.2 性能调优参数

2.1.2.3 修改内核参数

2.1.3 重启系统,开启elasticsearch服务

2.1.4 浏览器中插件elasticsearch

2.2 部署logstash

2.3 部署kibana图形化工具

三、管理nginx日志

四、管理tomcat日志


一、ELK简介

ELK是由elasticsearch+logstash+kibana三个开源软件的组成的一个组合体,对收集、分析和展示的企业级解决方案,主要优点有:

处理灵活:elasticsearch是实时全文索引,具有强大的搜索功能配置相对简单,API接口使用json接口,logstash使用模块配置,kibana的配置文件部分更简单。

检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百万亿级数据的查询秒级响应。集群线性扩展:elasticsearch和logstash都可以灵活线性扩展。

前端操作绚丽:kibana的前端设计比较绚丽,而且操作简单。

1.1 elasticsearch简介

elasticsearch是一个高度可扩展性的开源全文索引和分析引擎,它可实现数据的实时全文搜索。

搜索、支持分布式可实现高可用、提供API接口,可以处理大规模日志数据,比如nginx,tomcat,系统日志等功能。

使用java语言开发,建立在全文搜索引擎Apache lucene基础之上的搜索引擎

特点:

实时搜索、实时分析

分布式架构、实时文件存储

文档导向,所有对象都是文档

高可用,易扩展,支持集群,分片与分配

接口友好,支持json

1.2 logstash简介

Logstash 是一个具有实时传输能力的数据收集引擎,其可以通过插件实现日志收集和转发,支持日志过滤,支持普通 log、自定义 json 格式的日志解析,最终把经过处理的日志发送给 elasticsearch。

1.3 kibana简介

Kibana 为 elasticsearch 提 供 一 个 查 看 数 据 的 web 界 面 , 其 主 要 是 通 过elasticsearch 的 API 接口进行数据查找,并进行前端数据可视化的展现,另外还可以针对特定格式的数据生成相应的表格、柱状图、饼图等。

1.4 ELK的好处

ELK组件在大数据运维系统中,主要可解决的问题:

日志查询,问题排查,故障恢复,故障自愈

应用日志分析,错误报警

性能分析,用户行为分析

1.5 ELK的工作原理

(1)在所有需要收集日志的服务器上部署logstash,或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署logstash。

(2)logstash收集日志,将日志格式化并输出到elasticsearch群集中。

(3)elasticsearch对格式化后的数据进行索引和存储

(4)kibana从ES群集中查询数据生成图表,并进行前端数据的展示。

总结:logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交给elasticsearch存储,kibana对日志进行可视化处理。

二、部署ELK

全部的服务器配置,所有服务器不低于4G内存

服务器环境角色:三台机子

7-1(Node1)和7-2(Node2)作为elasticsearch存储数据。集群

7-3Node3作为收集日志服务器。


Node1:192.168.114.10

Node2:192.168.114.20

Node3:192.168.114.30

前期准备:

systemctl stop firewalld

setenforce 0

都需要java环境,先安装java:

yum install -y java

创建存放源码包的目录:

mkdir /data ; cd /data

2.1 部署elasticsearch(集群)

两台服务器配置一致,后面只需要修改一个地方,名字不同。

以下没有指定说明,主机Node2也同样的操作。

准备rpm包,拖进来。

[root@Node1 data]#:ls
elasticsearch-6.7.2.rpm

解压:rpm -ivh elasticsearch-6.7.2.rpm

[root@Node1 data]#:rpm -ivh elasticsearch-6.7.2.rpm

2.1.1 修改配置文件

进入配置文件的路径,修改配置文件,先备份

[root@Node1 data]#:cd /etc/elasticsearch/
[root@Node1 elasticsearch]#:cp -a elasticsearch.yml elasticsearch.yml.bak
[root@Node1 elasticsearch]#:vim elasticsearch.ym
#做出以下修改,前面数字是行号。
17:cluster.name: my-elk-cluster
23:node.name: node1
24:node.master: true
25:node.data: true
35:path.data: /var/lib/elasticsearch
39:path.logs: /var/log/elasticsearch
45:bootstrap.memory_lock: true
57:network.host: 0.0.0.0
61:http.port: 9200
62:transport.tcp.port: 9300    #手动添加,集群,主机之间通过9300端口相连
71:discovery.zen.ping.unicast.hosts: ["192.168.114.10:9300", "192.168.114.20:9300"]  #集群的IP地址,Node1和Node2的IP

过滤出看下修改的地方:

在这个配置文件中,第23行,名字不能一样,这个配置文件,可以远程拷贝到Node2

修改Node2的node.name名字为node2

2.1.2 修改系统参数

2.1.2.1 修改systemmd服务管理器

/etc/systemd/system.conf文件用于配置systemd的,这是一种用于linux操作系统的系统和服务管理器。通过这个文件,你可以自定义与系统操作、性能和行为相关的各种设置。在最后添加配置项:

DefaultLimitNOFILE=65536                #设置打开文件数量的默认限制
DefaultLimitNPROC=32000                #设置进程数量的默认限制
DefaultLimitMEMLOCK=infinity           #内存锁

[root@Node1 elasticsearch]#:vim /etc/systemd/system.conf
......
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
2.1.2.2 性能调优参数

最后添加

[root@Node1 elasticsearch]#:vim /etc/security/limits.conf
......
*  soft    nofile          65536
*  hard    nofile          65536
*  soft    nproc           32000
*  hard    nproc           32000
*  soft    memlock         unlimited
*  hard    memlock         unlimited

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值