日志分析介绍和ELK的安装

本章笔者主要讲解日志分析的基本概念和EKL在Linux中的安装教程

 

================概念介绍================

    在日常工作中,我们对日志的操作极为重要,今天笔者在这里主要分享一下ELK的基本概念和安装(仅根据本人的实际操作为例,如有问题,敬请指出~)

 

    日志主要分为:系统日志、应用日志和安全日志,系统的运维和开发人员可以通过日志来了解服务器上硬件和软件的信息,检查发生错误的原因。经常分析日志可以了解服务器的负荷和安全情况,从而及时改正。

 

    通常日志都储存在不通的服务器上,那么我们有几十台,几百台的服务器怎么办呢,那我们还要依次登陆每台服务器去查看处理日志吗,显然是不可能的,那么针对这种情况就出现了日志集中的管理工具,将我们所有服务器上的日志进行收集汇总。

 

    那么我们将日志集中汇总后,日志的检索和统计也是一件麻烦的事情,当然我们可以通过Linux命令进行检索统计也可以,但是我们面对的是要求更高的查询,排序和统计的要求呢,那么我们再用Linux命令显然是力不从心的。

完整的数据日志具有如下作用:

 

1)信息查找:通过检索日志信息,定位bug,找出问题,方便解决问题。


2)服务诊断:通过对日志信息进行统计分析,了解服务器的负荷和运行情况,


3)数据分析:如果是格式化的Log,我们可以进行数据的分析、统计,聚合出一些有意的数据,比如根据请求的商品ID,找出a用户感兴趣的商品

 

那么我们本章讲解的ELK其实就是三个开源工具组成的,分别是:

   elasticsearch、kibana、logstash

   elasticsearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎

   logstash是一个完全开源的工具,它可以为你提供给数据分析,过滤、检索、收集提供大量的获取数据的方 法,并将其储存以后使用

 

   kibana是一个基于浏览器页面的elasticsearch前端展示工具,也是一个开源免费的工具,kibana可以作为一

个为elaticsearch和logstash提供日志分析好的Web界面展示,可以帮助我们分析,搜索、汇总想得到的数据。

 

那么写到这里我们究竟为什么要使用ELK呢?

    我们实际的应用场景就是我们在日志文件中想要提取我们需要的内容,这些操作可以通过Linux命令完成,但是在规模比较大的场景中,这样的方法就暴漏出效率低下的缺点。


    那么面临日志量较大,我们如何归档、搜索太慢怎么办,那么我们就需要ELK这样的集中化日志管理工具来帮我们把节点上的日志进行统一收集和管理,出现问题时,我们可以问题暴漏的关键字,也就是错误信息,可以使我们快速的定位到出现问题的服务器或服务模块,从而提高我们的定位问题的效率。

接下来就开始在Linux中安装我们的ELK

    首先我们需要去官网去下载这三个压缩包,笔者使用的版本如下:

日志分析介绍和ELK的安装_第1张图片

虽然说ELK是零配置,但是Elasticsearch要求至少Java7或者JDK1.8,通常都是JDK1.8

由于Logstah不能再root用户下安装,我们需要创建非root账户组和账号

1)建立Hadoop用户组:groupadd hadoop

2)新建hadoop用户:useradd hadoop

3)修改hadoop用户的密码:passwd hadoop(因密码过短需要输入两次,看见成功即可)

4)然后我们切换这个用户即可:su hadoop

我们在路径中使用rz命令进行上传文件,如其他远程工具连接放入也可以。

日志分析介绍和ELK的安装_第2张图片

笔者这里已经解压好了,只需要在这个文件夹内输入命令 例如:tar -zxf elasticsearch-6.3.1(zxvf的话也可以解压,可以看见解压时候的操作)

然后我们全部解压后就要去配JDK的环境变量,输入命令 vim ~/.bashrc

我们需要先查看有没有自带的djk,默认是7我们需要删除掉。

进入后按i键打开编辑模式

如下图配置

我们修改后按ESC然后:wq保存退出即可

我们输入命令 echo $JAVA_HOME和echo PATH 出现如下信息表示成功

接下来我们就要启动elasticsearch和kibana。

虽然我们这两个开源工具是零配置的,但是第一次启动肯定会报错,会出现以下几个报错,我们来看~

我们打开elasticsearch路径,然后输入bin/elasticsearch就是启动了, 是bin里面有一个elasticsearch文件。

我们先要进入elasticsearch.yml配置文件,修改IP

日志分析介绍和ELK的安装_第3张图片

这是我们elasticsearch的端口号

报错解决方案如下:

 

错误信息: ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low,
increase to at least [65536]


解决方案:

切换到root用户,编辑limits.conf 添加类似如下内容

vi /etc/security/limits.conf 

添加如下内容:

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

 

 

错误信息:

max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

 

解决方案:

vi /etc/security/limits.d/90-nproc.conf 

修改如下内容:

* soft nproc 1024
#修改为
* soft nproc 2048

 

错误信息:

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

 

解决方案:

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后,重新启动elasticsearch,即可启动成功。

=========================================================================================================

 

启动问题

**1、Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)**

由于elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配

# vim config/jvm.options  
-Xms2g  
-Xmx2g  
修改为  
-Xms512m  
-Xmx512m  

2、max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]修改 /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024
*          soft    nproc     2048

3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf配置文件,

cat /etc/sysctl.conf | grep vm.max_map_countvm.max_map_count=262144

如果不存在则添加

echo "vm.max_map_count=262144" >>/etc/sysctl.conf

4、max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]
需要执行下面的命令

ulimit -n 65536

 

启动后我们需要打开页面测试,看到如下信息即为成功

日志分析介绍和ELK的安装_第4张图片

 

接下来我们需要启动kibana,依然是找到该工具目录

依然是用vi编辑打开我们Kibana的配置文件

日志分析介绍和ELK的安装_第5张图片

在底部只需添加如下内容: 有注释就不多解释了~

我们保存退出即可,然后再次启动我们的kibana,输入bin/kibana启动即可

 

那么启动后我们也需要进浏览器查看kibana是否成功了,那我们就需要去查看他的端口是多少,我们再次打开kibana.yml配置文件

vi config/kibana.yml

第一行就可以看到端口号

我们页面输入:IP加端口号打开·

如下图既为成功了,这样我们就可以进行操作了,是不是很简单了,具体使用请继续关注笔者博客,下一章见~

日志分析介绍和ELK的安装_第6张图片

你可能感兴趣的:(日志分析介绍和ELK的安装)