ELKR分布式搭建nginx日志分析系统

ELKR分布式搭建nginx日志分析系统

一.名词介绍

1、什么是elk

ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用。

2、Elasticsearch

2.1.Elasticsearch介绍

Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。

2.2Elasticsearch特点

(1)实时分析

(2)分布式实时文件存储,并将每一个字段都编入索引

(3)文档导向,所有的对象全部是文档

(4)高可用性,易扩展,支持集群(Cluster)、分片和复制(Shards和 Replicas)

(5)接口友好,支持 JSON

3、Logstash

3.1Logstash介绍

Logstash 是一个具有实时渠道能力的数据收集引擎。

3.2Logstash特点

(1)几乎可以访问任何数据

(2)可以和多种外部应用结合

(3)支持弹性扩展

3.3Logstash它组件

(1)Shipper-发送日志数据

(2)Broker-收集数据,缺省内置 Redis

(3)Indexer-数据写入

4、Kibana

4.1Kibana介绍

Kibana 是一款基于 Apache 开源协议,使用JavaScript 语言编写,为 Elasticsearch 提供分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度的表图。

二.环境介绍

环境介绍:Ubuntu 14.04

elasticsearch-5.2.2.deb  kibana-5.2.2-amd64.deb logstash_2.1.3-1_all.deb  java1.8 redis2.8.4

2.1ELK 组件的作用

Elasticsearch 抓取日志分析

Logstash 日志格式处理

Kibana 前端数据可视化展示

2.2 ELK 

ELK(R) = Elasticsearch + Logstash + Kibana (+ Redis) 是一套完整的工业级日志分析工具。

拓扑图:

三.ELK安装

3.1 安装

3.1.1 系统环境检查

要安装 ELK(R),首先需要检查自身系统环境:

检查当前系统的版本。

[email protected]:/home/hao# cat /etc/issue

Ubuntu 14.04.5 LTS \n \l

其次,Elasticsearch 还依赖 Java 的环境,因此还需要确保 Java 环境:

[email protected]:/home/hao# java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

此外,正如前面所说,Redis 自身并不属于 ELK 技术栈,而是 Logstash 具备的一个插件,属于 Logstash 的依赖。所以我们还要检查 Redis 环境。

[email protected]:/home/hao# redis-server -v
Redis server v=2.8.4 sha=00000000:0 malloc=jemalloc-3.4.1 bits=64 build=a44a05d76f06a5d9
如果没有启动,则可以
[email protected]:/home/hao# netstat -antulp | grep 6379
[email protected]:/home/hao# service redis-server start
Starting redis-server: redis-server.

关闭 redis,最好的办法就是直接杀掉 redis 的所在进程:

[email protected]:/home/hao# ps -u root -o pid,rss,command | grep redis
  363   648 grep --color=auto redisThen
kill -9 the_pid

3.1.2用deb包的方式下载和安装

可以使用wget命令下载,这些包可以官网去下载,但是非常的慢,dpkg -i安装,就可以不用管下面的安装方法了

#下载
wget http://labfile.oss.aliyuncs.com/courses/562/elasticsearch-5.2.2.deb
wget http://labfile.oss.aliyuncs.com/courses/562/kibana-5.2.2-amd64.deb
wget http://labfile.oss.aliyuncs.com/courses/562/logstash_2.1.3-1_all.deb
#安装
dpkg -i elasticsearch-5.2.2.deb
dpkg -i kibana-5.2.2-amd64.deb
dpkg -i logstash_2.1.3-1_all.deb

3.1.3用apt-get的方式下载安装

1.安装 Elasticsearch

无论是 ELK 中的哪个部分,他们都还在快速迭代当中,所以我们要竟可能的选择最新的版本。

安装有很多方式让我们选择,比如自行下载源码安装,比如向软件包源中添加软件源使用 apt-get 来安装。

无论如何,我们都推荐使用 apt-get 进行安装,因为这种方式的安装便于管理和维护。

首先我们需要添加 Key:

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

然后添加官方的安装源:

echo "deb https://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list

[email protected]:/home/hao# sudo apt-get update
Ign http://mirrors.aliyuncs.com trusty InRelease
Get:1 http://mirrors.aliyuncs.com trusty-updates InRelease [65.9 kB]
Get:2 http://mirrors.aliyuncs.com trusty-security InRelease [65.9 kB]
Hit http://mirrors.aliyuncs.com trusty Release.gpg   
Hit http://mirrors.aliyuncs.com trusty Release       
Get:3 http://mirrors.aliyuncs.com trusty-updates/main Sources [496 kB]
Get:4 http://mirrors.aliyuncs.com trusty-updates/restricted Sources [6470 B]
Get:5 http://mirrors.aliyuncs.com trusty-updates/universe Sources [235 kB]
Get:6 http://mirrors.aliyuncs.com trusty-updates/main amd64 Packages [1249 kB]
Get:7 https://packages.elastic.co stable InRelease    
Ign https://packages.elastic.co stable InRelease
Get:8 http://mirrors.aliyuncs.com trusty-updates/restricted amd64 Packages [21.2 kB]
Get:9 http://mirrors.aliyuncs.com trusty-updates/universe amd64 Packages [541 kB]
Get:10 https://packages.elastic.co stable Release      
Get:11 http://mirrors.aliyuncs.com trusty-security/main Sources [176 kB]       
Get:12 http://mirrors.aliyuncs.com trusty-security/restricted Sources [5068 B]
Get:13 http://mirrors.aliyuncs.com trusty-security/universe Sources [72.1 kB]
Get:14 https://packages.elastic.co stable/main amd64 Packages
Get:15 http://mirrors.aliyuncs.com trusty-security/main amd64 Packages [799 kB]
Get:16 http://mirrors.aliyuncs.com trusty-security/restricted amd64 Packages [17.9 kB]
Get:17 http://mirrors.aliyuncs.com trusty-security/universe amd64 Packages [228 kB]
Hit http://mirrors.aliyuncs.com trusty/main Sources     
Hit http://mirrors.aliyuncs.com trusty/restricted Sources
Hit http://mirrors.aliyuncs.com trusty/universe Sources
Hit http://mirrors.aliyuncs.com trusty/multiverse Sources
Hit http://mirrors.aliyuncs.com trusty/main amd64 Packages
Hit http://mirrors.aliyuncs.com trusty/restricted amd64 Packages
Hit http://mirrors.aliyuncs.com trusty/universe amd64 Packages
Hit http://mirrors.aliyuncs.com trusty/multiverse amd64 Packages
Fetched 3985 kB in 15s (265 kB/s)                                              
Reading package lists... Done
W: Size of file /var/lib/apt/lists/mirrors.aliyuncs.com_ubuntu_dists_trusty-updates_restricted_binary-amd64_Packages.gz is not what the server reported 21216 23469
W: Size of file /var/lib/apt/lists/mirrors.aliyuncs.com_ubuntu_dists_trusty-security_restricted_binary-amd64_Packages.gz is not what the server reported 17859 20228

接下来就可以开始安装了:

sudo apt-get install elasticsearch

安装完成后,我们就可以运行 Elasticsearch 服务了:

sudo service elasticsearch start

2.安装 logstash

echo "deb https://packages.elastic.co/logstash/2.3/debian stable main" | sudo tee -a /etc/apt/sources.list

同样的方法:

sudo apt-get update

安装:

sudo apt-get install logstash

运行服务:

sudo service logstash start

3.安装 Kibana

同理,在 /etc/apt/sources.list 中添加 Kibana 的安装源:

echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list

更新:

sudo apt-get update

安装:

sud apt-get install kibana

运行服务:

sudo service kibana start

报错:

[email protected]:/home/hao# sudo service kibana start

kibana started

[email protected]:/home/hao# sudo service logstash start

/etc/init.d/logstash: 68: ulimit: error setting limit (Operation not permitted)

logstash started.

[email protected]:/home/hao# sudo service elasticsearch start

* Starting Elasticsearch Server                                                                              /etc/init.d/elasticsearch: line 139: ulimit: open files: cannot modify limit: Operation not permitted

sysctl: setting key "vm.max_map_count": Read-only file system

在启动Logstash 和 Elasticsearch 的时候,有这样几个警告:

Elasticsearch,『ulimit和只读文件系统错误』

Logstash,『ulimit 错误』

第一步:解决 Elasticsearch:

sudo vim /etc/init.d/elasticsearch

在 vim 中使用 :set nu 来开启行号,注释掉 138行至 148行:

其实只需要注释掉报错的部分就好了,可能版本有些不同,所以行号不一定一样,主要看注释掉的内容

重启服务:

sudo service elasticsearch stop

sudo service elasticsearch start

第二步:解决 Logstash:

同理,注释掉 /etc/init.d/logstash 中 68 行 和 69 行的内容:

并重启服务:

sudo service logstash stop

sudo service logstash start

这时候访问 localhost:5601 就能够看到 Kibana 已经在运行,但现在还不能正式使用:

四.部署日志

既然我们要构建日志分析系统,日志是必不可少的,我们所熟知的提供 Web 服务的工具,有 apache 和 nginx。我们这里以 nginx 为例来部署产生日志的环境。

首先我们需要安装 nginx 环境,同样只需要使用 apt-get 即可。

sudo service nginx start

我们需要配置 nginx 来获得用户访问的日志:

而nginx 的配置文件位于:

vi /etc/nginx/sites-available/default

下面修改将nginx 的配置添加:

access_log /home/hao/Code/elk/access.log;

注意, 如果这个路径不存在,Nginx 服务会启动失败,这是权限原因造成的,最好的解决方法就是:[email protected]:/etc/nginx/sites-available# mkdir -p /home/hao/Code/elk/

[email protected]:/etc/nginx/sites-available# touch /home/hao/Code/elk/access.log

这时候重启 nginx 服务:

sudo service nginx stop

sudo service nginx start

然后在浏览器中访问:

http://localhost/

这时候我们可以看到刚才配置的 nginx 日志有新纪录了。每次访问这里就会多一条记录出来

# 检查服务状态

sudo service redis-server status
sudo service elasticsearch status
sudo service logstash status
sudo service kibana status

五.logstash和elasticsearch配置

Logstash 配置基础

要确保每个服务都开启状态

Logstash 是打通日志文件和 Elasticsearch 之间的一个枢纽。和各种服务一样,Logstash 也有着自己的一套配置规则。

Logstash 的配置主要分为三大部分:input, filter, output。

Logstash 的主要命令都安装在了 /opt/logstash/bin 目录下,在这个目录下中,我们先执行:

sudo ./logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug}}‘

Logstash 的 -e 参数为立即执行的意思

这时,终端会等待输入,我们可以简单的输入 Hello Logstash! 这时会看到有如下输出:

这说明 Logstash 已经顺利工作了。

这里可能等待的比较久,希望大家能够耐心一点,使用 ctrl+c 关闭当前 Logstash 执行的配置。

配置语法

我们先来观察刚才命令中的字符串:

‘input{stdin{}}output{stdout{codec=>rubydebug}}‘

将其格式化后:

input {

stdin {}

}

output {

stdout {

codec => rubydebug

}

}

stdin {} 就是从标准输入

stdout {} 就是从标准输出

在这个字符串中,其实定义了 Logstash 的两个行为input和output。

在 input 中,我们定义了一个标准输入,由于什么都没有,所以 Logstash 会从终端的标准输入中读取字符串,这也是为什么刚才在输入完命令后会出现等待输入的情况。

在 output 中,我们定义了一个标准输出,也就是说 Logstash 在处理完后会将结果从标准输出(终端)中输出,而 codec 字段,则说明了输出会遵循什么样的格式,这里定义的 codec 为 rubydebug,所以我们刚才看到了一套标准的输出格式。

有了对 Logstash 配置语法的基本认识,我们可以开始配置 从 Log 到 Logstash 到 Elasticsearch 的配置文件了。

配置 Log->Logstash->Elasticsearch

由于 Logstash 的配置很长,所以我们不太可能在一行命令中吧整个配置写好,所以我们先在 /etc/logstash/conf.d/logstash-shipper.conf 创建 Logstash 的配置文件:

我们现在要将日志文件作为输入,将日志分析系统elasticsearch作为输出

input {
  stdin {}
  file {
    path => "/home/hao/Code/elk/access.log"
    start_position => beginning
    codec =>  multiline {
      ‘negate‘ => true
      ‘pattern‘ => ‘^\d‘
      ‘what‘ => ‘previous‘
    }
  }
}
output {
    stdout {
        codec => rubydebug
    }
    elasticsearch {
        hosts=>["localhost:9200"]
        index=>"logstash-%{+YYYY.MM.dd}"
    }
  }

在这份配置中,我们加入了文件输入的配置,加入了elaticsearch分析系统的输入。

我们将 input 定义加入 file (文件)输入,并设置 start_position 从第一行开始,保证能够导入旧数据。

输出,此种举动一方面可以方便我们日后进行调试,另一方面可以将其作为 Logstash 的日志进行输出。

而 elasticsearch 则给出了向 elasticsearch 输入数据的申明。

配置完成后,我们可以使用 -t 参数来测试配置脚本是否配置正确:

/opt/logstash/bin/logstash -t -f /etc/logstash/conf.d/logstash-shipper.conf

但是一旦我们 ctrl+c 便会停止执行,Logstash 不会再向 elasticsearch 传送数据。

这时,我们需要将其挂在后台执行:

nohup /opt/logstash/bin/logstash -t -f /etc/logstash/conf.d/logstash-shipper.conf &

六.Kibana 可视化工具

我们成功的将日志数据写入了 Elasticsearch,配置Kibana 使得我们能够在前端页面上查看并分析这些数据。

创建 Kibana 索引模式

我们已经将 Logstash 进程跑在了后台,现在我们打开浏览器,访问 localhost:5601 便能看到 Kibana 的界面和以往有所不同,Kibana 提示我们可以创建索引模式,这里我们不做过多干涉,直接以时间戳创建索引模式:

看到 Kibana 为我们创建了 18 个字段(Fields)

我们点击顶部的 Discover ,便能来到 Kibana 的全局搜索界面,并能够看到在选定的时段内有多少记录被写入 Elasticsearch:

高级查询

在Kibana 中如果要进行更加精确的查询,则需要使用 Lucene。

例如,我们要在某个字段中搜索某个字符串是否存在。首先我们在终端中构造数据,在 一个 sudo /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-shipper.conf 进程下,依次输入 hello world、how do you do、what‘s wrong with you,chenhao。

这时候 Logstash 会输出四条记录:

下面我们准备搜索在所有的记录中,出现单词 you 的记录。

这时我们可以输入:message: *you*。这里的 message:是指明要搜索的字段,you是要搜索的字符,* 是通配符。

这时我们可以看到,刚才插入的 what‘s worng with you 和 how do you do 这两个满足条件的结果均已被高亮在了下方:

我们搞定了 Kibana 的可视化部分。

将启用 Redis 作为缓存,搭建的分布式 ELK+Redis 日志环境

七.用redis部署分布式ELK

署环境简化为了 nginx Log->Logstash->Elasticsearch->Kibana

5.1 Logstash Redis 插件及其配置

Redis 本身并不属于 ELK 技术栈里的一份子,而是作为一个插件存在于 ELK 技术栈中。Redis 提供了一个很好的缓冲区,它能够很好的帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Redis 里生产数据,而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据,达到分层目的。

幸运的是 Redis 插件在最新版的 Logstash 中已经被集成,我们只需要简单的配置 Logstash 的相关文件即可。

首先我们要配置具备日志节点的 Logstash Shipper 的配置文件:

input {
  stdin { }
  file {
    path => "/home/hao/Code/elk/access.log"
    start_position => beginning
    codec =>  multiline {
      ‘negate‘ => true
      ‘pattern‘ => ‘^\d‘
      ‘what‘ => ‘previous‘
    }
  }
}
output {
  stdout {
    codec => rubydebug
  }
  redis {
    host => "localhost"
    data_type => "list"
    key => "logstash"
  }
}

这里配置了 output 的相关逻辑,将 output 指定到 redis 中,输出的数据类型为 list, redis 数据库中的 key 为 logstash。

3.2 配置Logstash Indexer

新建一个配置文件,它的输入是redis数据库,输出是elasticsearch分析系统

然后我们再配置 Logstash Indexer:

input { 
  redis {
    host => "localhost"
    type => "redis"
    data_type => "list"
    key => "logstash"
  }
}
output { 
  stdout {
    codec => rubydebug
  } 
  elasticsearch {
    hosts=>["localhost:9200"]
    index=>"logstash-%{+YYYY.MM.dd}"
  }
}

当 Shipper 产生新的数据时候(输入hello chenhao),可以看到 Indexer 也会产生新的数据:

sudo /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-shipper.conf

sudo /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-indexer.conf

当这两个配置文件运行在不同服务器上时,便能做到真正的分布式了,唯一需要修改的地方就是 redis 的 host 字段值,其中 Logstash Shipper 中的地址应该填写 Logstash Indexer 所在地址,而 Logstash Indexer 中的 redis host 字段不需要修改,因为 redis 和 Loststash Indexer 运行在同一台机器上。

八.总结

收集nginx日志,集中展示。

不少人对 ELK 的第一印象,容易觉得它这个工具组合似乎挺难上手的,错!只需动手试试就知道啦!

目标分解:

1)熟悉 logstash 的安装和基本操作

2)熟悉 elasticsearch 的安装和基本操作,然后结合 logstash 使用

3)熟悉 kibana 的安装和基本操作,然后结合 elasticsearch 使用

Elasticsearch 是整个日志分析系统的核心,它负责对日志数据进行分析、索引等重要工作;Logstash 则主要用于对日志数据进行初步的过滤和筛选,例如,Logstash 可以将拥有日志数据的从节点(Slave Node)服务器内的日志数据发送到 Elasticsearch 的主服务器。

Kibana 则是为了让 Elasticsearch 更好的与用户进行交互而设计的一个 Web 前端工具,具备强大的数据可视化功能。Redis 本身并不属于 ELK 技术栈里的一份子,而是作为一个插件存在于 ELK 技术栈中。

Redis 提供了一个很好的缓冲区,它能够很好的帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Redis 里生产数据,而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据,达到分层目的。

九.报错解析

1.Kibana Unable to connect to Elasticsearch

若是此处显示的是警告没有看到上图所示的画面的话,注意看下方警告中访问的 elasticsearch 的地址与端口是否正确,因为 elasticsearch 默认是绑定在本地 localhost 端口上,所以地址应该是 localhost:9200 或者是 127.0.0.1。若不是可以修改一下 /etc/kibana/kibana.yml 中 elasticsearch 对应的地址与端口,然后重启试试。

2.max virtual memory areas vm.max_map_count[65530]is too low

vi /etc/security/limits.conf

添加如下内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

vi /etc/sysctl.conf  #添加一条

vm.max_map_count=655360

sysctl -p #执行

3. logstash Configuration Contains a Syntax Error

logstash 语法错误,这个问题一般各种各样的。主要是logstash配置文件不对导致的。

解决方法:

在启动logstash前,先检查下logstash配置文件是否有问题,可通过下面命令检测:

/opt/logstash/bin/logstash --configtest -f /etc/logstash/conf.d/

后面指定你自己的配置文件。

十.参考文档

Logstash Redis 配置参考

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-redis.html

Kibana 用户指南

https://www.elastic.co/guide/en/kibana/current/index.html

配置 Logstash

https://www.elastic.co/guide/en/logstash/current/configuration.html

时间: 2024-08-26 08:08:59

ELKR分布式搭建nginx日志分析系统的相关文章

centos7搭建EFK日志分析系统

前言 EFK可能都不熟悉,实际上EFK是大名鼎鼎的日志系统ELK的一个变种 在没有分布式日志的时候,每次出问题了需要查询日志的时候,需要登录到Linux服务器,使用命令cat -n xxxx|grep xxxx 搜索出日志在哪一行,然后cat -n xxx|tail -n +n行|head -n 显示多少行,这样不仅效率低下,而且对于程序异常也不方便查询,日志少还好,一旦整合出来的日志达到几个G或者几十G的时候,仅仅是搜索都会搜索很长时间了,当然如果知道是哪天什么时候发生的问题当然也方便查询,但

Ubuntu14.04搭建ELK日志分析系统

系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误.日志的作用不言而喻,但对于数量庞大且分布在多台机器上的日志,查看就显得特别麻烦了.所以,对于运维人员来说,使用日志分析系统是非常有必要的. 开源实时日志分析ELK平台能够实现日志的监控与分析,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成.官方网站:https://www.elastic.co/pr

使用elk+redis搭建nginx日志分析平台

logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录.其次,需要有个队列,redis的list结构正好可以作为队列使用.然后分析使用elasticsearch就可以进行分析和查询了. 我们需要的是一个分布式的,日志收集和分析系统.logstash有agent和indexer两个角色.对于agent角色,放在单独的web机器上面,然后这个agent不断地读取nginx的日志文件

centos 7搭建ELK日志分析系统

一.ELK的组成 ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成,其官方网站为https://www.elastic.co/cn Elasticsearch:是个开源分布实时分析搜索引擎,建立在全文搜索引擎库Apache Lucens基础上,同时隐藏了Apache Luces的复杂性.Elasticsearch将所有的功能打包成一个独立的服务,并提供了一个简单的RESTful API接口,它具有分布式.零配置.自动发现.索引自动分片.索引副本机制.RESTf

centos 7.3搭建ELK日志分析系统详解

一.前言: 日志分析是我们运维解决系统故障.发现问题的主要手段.为了可以集中管理多台服务器的日志记录,开源实时日志分析ELK平台应用而生,ELK由Elasticsearch.Logstash和Kibana三个开源工具组成,这三个工具可以分别部署在不同的服务器上,并且相互关联,不过需要收集哪台服务器的日志,就必须在该服务器上部署Logstash.ELK的官网是:Elastic官网 ELK的工作原理如下(懂得其中原理,才可部署一个高可用的ELK平台):Logstash收集APPServer(应用服务

快速搭建ELK日志分析系统

一.ELK搭建篇 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html 安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.html ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elas

构建AWStats日志分析系统

需求描述 管理员搭建完服务器,要对网站的性能做后期的不断的分析和调整,以至达到最完美的状态.针对服务器每天的日志访问量.高峰时间.压力等等是通过日志信息系统分析.如果事前没有预估,没有给定足相应的cpu.内存.假如有一天突然高发值,服务器会直接崩溃.通过观察日志,以便在以后工作调整中提出整改方案. 简介 在httpd服务器的访问日志文件access_log中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解Web站点的访问情况,通过AWStats日志分析系统,以完成自动化的日志分析与统

CentOS7下Elastic Stack 5.0日志分析系统搭建

一.概述 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个开源的用于收集,分析和存储日志的工具. Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以汇总.分析和搜索重要数据日志. Beats是elasticsearch公司开源的一款采集系统监控数据的代理ag

开源日志分析系统ELK平台搭建部署

开源日志分析系统ELK平台搭建部署 一.前言 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理