ELK日志分析系统搭建部署

Logstash+ElasticSearch+Kibana3架构日志系统

 

一,分析系统简介

日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana3就是实现这样功能的一套系统,并且功能更强大。

logstash是一个管理日志和事件的工具,你可以收集它们,解析它们,并存储它们以供以后使用(例如日志搜索),logstash有一个内置的web界面,用来搜索你的所有日志。logstash在部署时有两种运行模式:standalone和centralized:

* standalone:standalone的意思是所有的事情都在一台服务器上运行,包括日志收集、日志索引、前端WEB界面都部署在一台机器上。

* centralized:就是多服务器模式,从很多服务器运输(ship)日志到一台总的日志(collector)服务器上用来索引和查找。

需要注意的是logstash本身并没有什么shipper和collector这种说法,因为不论是运输日志的进程还是汇集总的日志的进程运行的都是同一个程序,只是使用的配置文件不同而已。

elasticsearch:

基于lucene的开源搜索引擎,是一个分布式的搜索分析系统,主要特点有:realtime data、real time analytics、distributed、high availability、multi-tenancy、fulltext search、document oriented、conflict management、schema free、restful api等等。

kibana3:

可视化日志和数据系统,作为WEB前端可以很容易的和elasticsearch系统结合。kibana有版本2和版本3的区分,版本2采用ruby编写,部署起来很麻烦,需要安装很多ruby依赖包(目前网上多是这个版本的部署),版本3采用纯html+css编写,因此部署起来很方便,解压即用。

二,测试步骤

1,测试架构两台机器试验,CentOS6.5

192.168.6.140:logstash agent,redis,jdk

192.168.6.135:logstash index, elasticsearch , kibana,jdk

其中redis上安装agent端,agent和index的logstash安装是一样的,唯一不同点是conf文件不同。

2,redis和logstash agent安装(192.168.6.140)

1),安装java环境

http://www.java.com/en/download/manual.jsp

rpm -ivh jdk-7u67-linux-x64.rpm

Preparing...               ########################################### [100%]

1:jdk                   ########################################### [100%]

Unpacking JAR files...

rt.jar...

jsse.jar...

charsets.jar...

localedata.jar...

jfxrt.jar...

#java -version

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build 1.7.0_67-b01)

Java HotSpot(TM) 64-Bit Server VM (build24.65-b04, mixed mode)

2),安装redis

wget

http://download.redis.io/releases/redis-2.8.17.tar.gz

tar -zxvf redis-2.8.17.tar.gz

cd  /redis-2.8.17.tar.gz

先安装tcl,否则下面会报错

yum install tcl -y

make MALLOC=libc

make test

make install

# pwd

/soft/redis-2.8.17/utils

./install_server.sh

Welcome to the redis service installer

This script will help you easily set up a runningredis server

Please select the redis port for this instance: [6379]

Selecting default: 6379

Please select the redis config file name[/etc/redis/6379.conf]

Selected default - /etc/redis/6379.conf

Please select the redis log file name[/var/log/redis_6379.log]

Selected default - /var/log/redis_6379.log

Please select the data directory for this instance[/var/lib/redis/6379]

Selected default - /var/lib/redis/6379

Please select the redis executable path[/usr/local/bin/redis-server]

Selected config:

Port           :6379

Config file    :/etc/redis/6379.conf

Log file       :/var/log/redis_6379.log

Data dir       :/var/lib/redis/6379

Executable     :/usr/local/bin/redis-server

Cli Executable : /usr/local/bin/redis-cli

Is this ok? Then press ENTER to go on or Ctrl-C to abort.

Copied /tmp/6379.conf => /etc/init.d/redis_6379

Installing service...

Successfully added to chkconfig!

Successfully added to runlevels 345!

Starting Redis server...

Installation successful!

# pwd

/soft/redis-2.8.17/src

[[email protected] src]# ./redis-cli -h 127.0.0.1 -p 6379

127.0.0.1:6379> ping

PONG

127.0.0.1:6379> set name foo

OK

127.0.0.1:6379> get name

"foo"

127.0.0.1:6379> bye

(error) ERR unknown command ‘bye‘

127.0.0.1:6379> quit

3),安装logstashagent

# rpm -ivhlogstash-1.4.2-1_2c0f5a1.noarch.rpm

Preparing...               ########################################### [100%]

1:logstash              ########################################### [100%]

[[email protected] soft]# rpm -ivhlogstash-contrib-1.4.2-1_efd53ef.noarch.rpm

Preparing...               ########################################### [100%]

1:logstash-contrib      ########################################### [100%]

修改配置文件

cat /etc/logstash/conf.d/logstash.agent.conf

input {

file  {

path =>"/var/log/messages"

type => "syslog"

}

file  {

path => "/var/log/httpd/access_log"

type => "apache"

}

}

output {

redis {

host => "192.168.6.140"

data_type =>"list"

key => "logstash"

}

}

启动logstash agent

service logstash start

root    14203  0.7 32.6 1397132 158811pxs/0  SNl  14:23  1:02 /usr/java/jdk1.7.0_67/bin/java -Djava.io.tmpdir=/var/lib/logstash-Xmx500m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true-XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -jar/opt/logstash/vendor/jar/jruby-complete-1.7.11.jar -I/opt/logstash/lib/opt/logstash/lib/logstash/runner.rb agent -f /etc/logstash/conf.d -l/var/log/logstash/logstash.log

2,logstashindex 安装(192.168.6.135)

1),安装java环境

http://www.java.com/en/download/manual.jsp

rpm -ivh jdk-7u67-linux-x64.rpm

Preparing...                ###########################################[100%]

1:jdk                   ########################################### [100%]

Unpacking JAR files...

rt.jar...

jsse.jar...

charsets.jar...

localedata.jar...

jfxrt.jar...

#java -version

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build1.7.0_67-b01)

Java HotSpot(TM) 64-Bit Server VM (build24.65-b04, mixed mode)

2),安装logstash

# rpm -ivhlogstash-1.4.2-1_2c0f5a1.noarch.rpm

Preparing...                ###########################################[100%]

1:logstash              ########################################### [100%]

[[email protected] soft]# rpm -ivhlogstash-contrib-1.4.2-1_efd53ef.noarch.rpm

Preparing...                ###########################################[100%]

1:logstash-contrib      ########################################### [100%]

修改配置文件

cat/etc/logstash/conf.d/logstash.index.conf

input {

redis

{

host => "192.168.6.140"

data_type =>"list"

port => "6379"

key => "logstash"

type => "redis-input"

}

}

output

{

elasticsearch {

host => "192.168.6.135"

port => "9300"

}

}

启动logstash index

service logstash start

ps aux |grep logstash

root      6365 1.1 38.5 1319172 140912 ?     SNl  14:22   1:27 /usr/bin/java-Djava.io.tmpdir=/var/lib/logstash -Xmx500m -XX:+UseParNewGC-XX:+UseConcMarkSweepGC -Djava.awt.headless=true-XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -jar/opt/logstash/vendor/jar/jruby-complete-1.7.11.jar -I/opt/logstash/lib/opt/logstash/lib/logstash/runner.rb agent -f /etc/logstash/conf.d -l/var/log/logstash/logstash.log

3),安装elasicsearch

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.noarch.rpm

rpm -ivh elasticsearch-1.3.4.noarch.rpm

Preparing...                ###########################################[100%]

1:elasticsearch         ########################################### [100%]

### NOT starting on installation, pleaseexecute the following statements to configure elasticsearch to start automaticallyusing chkconfig

sudo /sbin/chkconfig --add elasticsearch

### You can start elasticsearch byexecuting

sudo service elasticsearch start

chkconfig --add elasticsearch

chkconfig elasticsearch on

service elasticsearch start

4),安装httpd和kibana3

yum -y install httpd

wget

https://download.elasticsearch.org/kibana/kibana/kibana-3.1.1.tar.gz

tar kibana-3.1.1.tar.gz –C/var/www/html

mv /var/www/html/kibana-3.1.1  /var/www/html/kibana

修改默认面板为logstash.json

grep default_route/var/www/html/kibana/config.js

default_route     :‘/dashboard/file/logstash.json‘,

启动httpd服务器,在web浏览器上访问

http://192.168.6.135/kibana/#/dashboard/file/default.json

时间: 2024-10-11 06:01:01

ELK日志分析系统搭建部署的相关文章

ELK日志分析系统搭建配置

我们主要用ELK日志分析系统来分析Nginx访问日志,mysql慢查询日志,tomcat运行日志以及系统日志等. 介绍:ELK:ElasticSearch+LogStash+Kibana=ElkStackElasticSearch:存储.收索.分析(可以用solr替代)LogStash:收集器,输入,处理分析,存储到ESKibana:展示备注:ElasticSearch支持集群功能,日志收集后会在每个节点存放一份(可以选择) 1.安装jdkwget http://sg-new.oss-cn-ha

Rsyslog+ELK日志分析系统搭建总结1.0(测试环境)

因为工作需求,最近在搭建日志分析系统,这里主要搭建的是系统日志分析系统,即rsyslog+elk. 因为目前仍为测试环境,这里说一下搭建的基础架构,后期上生产线再来更新最后的架构图,大佬们如果有什么见解欢迎指导. 这里主要总结一下搭建过程. 一.rsyslog rsyslog是如今大多数linux自带的日志收集,这里主要说一下rsyslog的简单配置. client端配置它只需要更改准备发送的日志以及在末尾加上Server端使用的协议和IP即可,例如: #加入以下即可 *.* @10.144.1

最新ELK日志分析系统搭建

环境:centos6.8 准备好ELK三个安装包,到官网下 官网 https://www.elastic.co/ 1.安装elasticsearch 这里安装1.8版本的 2.安装elasticsearch     下载安装包(tar)https://www.elastic.co/downloads/elasticsearch 直接解压到/usr/local下面 tar -xzf elasticsearch-5.2.0.tar.gz -C /usr/local/ 这个版本的elasticsear

在CentOS7中部署ELK日志分析系统

在CentOS7中部署ELK日志分析系统 ELK原理介绍 什么是ELK ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和JAVA API等

十分钟搭建和使用ELK日志分析系统

前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为"十分钟搭建和使用ELK日志分析系统"听起来有点唬人,其实如果单纯满足可视化要求,并且各软件都已经下载到本地,十分钟是可以搭建一个ELK系统的.本文介绍如何快速安装.配置.使用EK+FILEBEAT去实现日志搜集.本文中没有使用LOGSTASH做日志搜集过滤,但为了后期需要先进行了安装. 工作原理 ElasticSearch:是

基于Docker容器部署ELK日志分析系统

部署ELK日志分析系统,比较消耗计算机硬件,如果使用虚拟机进行测试部署,建议分配较多的硬件资源,否则,当elk容器运行后,会使其无法正常运行.我这里将分配给docker主机5G内存,四个CPU. 一.环境准备 我这里使用一台docker主机(如需要部署docker服务,可以参考博文:Docker的安装详细配置),其IP地址为192.168.20.6,在其之上运行elk容器. 二.配置docker主机运行elk容器 [[email protected] ~]# echo "vm.max_map_c

ELK日志分析系统(理论+部署)

ELK日志分析系统简介 日志服务器 提高安全性 集中存放日志 缺陷 对日志的分析困难 ELK日志分析系统 Elasticsearch Logstash Kibana 日志处理步骤 将日志进行集中化管理 将日志格式化( Logstash )并输出到Elasticsearch 对格式化后的数据进行索弓|和存储( Elasticsearch ) 前端数据的展示( Kibana ) Elasticsearch介绍 Elasticsearch的概述 提供了一个分布式多用户能力的全文搜索弓|擎 Elasti

ELK日志分析系统(实例!!!)

ELK日志分析系统概述 ELK是Elasticsearch.Logstash.Kibana的简称 Elasticsearch是实时全文搜索和分析引擎 Logstash是一个用来搜集.分析.过滤日志的工具 Kibana是一个基于Web的图形界面,用于搜索.分析和可视化存储在 Elasticsearch指标中的日志数据 日志服务器 提高安全性 集中存放日志 缺陷:对日志的分析困难 ELK日志分析系统 收集数据:LogstashAgent 建立索引:ElasticSearchCluster 数据可视化

ELK日志分析系统 介绍 安装配置

ELK日志分析系统 一.ELK介绍 ELK顾名思义:是由Elasticsearch,Logstash 和 Kibana三部分组成的. 其中Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写.目前,最新的版本是 5.4. 主要特点 实时分析 分布式实时文件存储,并将每一个字段都编入索引 文档导向,所有的对象全部是文档 高可用性,易扩展,支持集群(Cl