ELKstack是Elasticsearch、Logstash、Kibana三个开源软件的组合。目前都在Elastic.co公司名下。
ELK是一套常用的开源日志监控和分析系统,包括一个分布式索引与搜索服务Elasticsearch,
一个管理日志和事件的工具logstash,和一个数据可视化服务Kibana
logstash_1.5.3                  负责日志的收集,处理和储存
elasticsearch-1.7.2            负责日志检索和分析
kibana-4.1.2-linux-x64.tar.gz  负责日志的可视化
redis-2.4.14                      DB以及日志传输的通道来处理

用一张图来表示他们之间的关系

此文以两个服务器为例来部署

服务器A:192.168.0.1  java elasticsearch redis kibana logstash(agent indexer)

服务器B:192.168.0.2  java logstash(agent)

首先安装服务器A相关软件

一、安装基础软件

yum -y install curl wget lrzsz axel

二、安装配置redis服务

1、安装tcl8.6.1

a) tar -xf tcl8.6.1-src.tar.gz --strip-components=
b) cd tcl8.6.1/unix
c) ./configure --prefix=/usr/local
d) make
e) make test
f) make install
g) make install-private-headers
h) ln -v -sf tclsh8. /usr/bin/tclsh
i) chmod -v /usr/lib/libtcl8..so(可选,并且如报找不到文件,没关系)

2、安装redis-3.0.2

wget http://download.redis.io/releases/redis-3.0.2.tar.gz 
tar xzf redis-3.0.2.tar.gz /usr/local/redis
cd redis-3.0.2
make MALLOC=libc
make test
make install 

2、配置redis

a) mkdir /etc/redis

b) mkdir /var/redis

c) cp utils/redis_init_script /etc/init.d/redis

d) vim /etc/init.d/redis
头部添加:

#chkconfig: 345 60 60

#!/bin/bash

e) mkdir /var/redis/6379

f) cp redis.conf /etc/redis/6379.conf

g) vim /etc/redis/6379.conf
        #设置daemonize为yes
        #设置pidfile为/var/run/redis_6379.pid
        #设置loglevel
        #设置logfile为/var/log/redis_6379.log
        #设置dir为/var/redis/6379

h) sysctl vm.overcommit_memory=1

i) chkconfig --add redis

j) chkconfig redis on

3、重启服务

service redis start/stop

4、查看进程和端口
1)查看进程

ps -ef |grep redis
root : pts/ :: vi /etc/init.d/redis

2)查看端口

netstat -tupnl |grep redis
tcp 0.0.0.0: 0.0.0.0:* LISTEN /redis-server
tcp ::: :::* LISTEN /redis-server

三、安装java环境

1、安装包

yum -y list java* 
yum -y install openjdk--jdk

2、查看版本

java -version
java version "1.7.0_91"
OpenJDK Runtime Environment (rhel-2.6.2.2.el6_7-x86_64 u91-b00)
OpenJDK -Bit Server VM (build 24.91-b01, mixed mode)

四、安装elasticsearch

1、下载elasticsearch

wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.noarch.rpm

2、安装elasticsearch

rpm -ivh elasticsearch-1.7..noarch.rpm

3、配置
1)备份配置

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

2)修改配置

echo "network.bind_host: 192.168.0.1" >> /etc/elasticsearch/elasticsearch.yml

4、启动elasticsearch服务

/etc/init.d/elasticsearch start
/etc/init.d/elasticsearch stop

5、查看进程和端口

1)查看进程

ps -ef |grep java

2)查看端口

netstat -tupnl |grep java

6、测试

curl -X GET http://192.168.54.147:9200
{
"status" : ,
"name" : "Miguel O'Hara",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.7.2",
"build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec",
"build_timestamp" : "2015-09-14T09:49:53Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}

7、添加到开机启动

update-rc.d elasticsearch defaults
update-rc.d: using dependency based boot sequencing

五、安装logstash

1、下载logstash

wget  https://download.elastic.co/logstash/logstash/packages/centos/logstash-1.5.4-1.noarch.rpm

2、安装logstash

rpm -ivh logstash-1.5.-.noarch.rpm

3、配置(默认没有这个配置文件)

vim /etc/logstash/conf.d/logstash_indexer.conf
input {
redis {
host => "192.168.0.1"
data_type => "list"
key => "logstash:redis"
type => "redis-input"
port => ""
}
}
output {
elasticsearch {
host => "192.168.0.1"
}
}

4、启动服务

/etc/init.d/logstash start

5、使用jps -mlv或ps -ef来查看下进程

ps -ef|grep logst

6、设置开机启动

update-rc.d logstash defaults
update-rc.d: using dependency based boot sequencing

六、安装kibana(前端web)

1、下载

wget https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz

2、解压到指定目录

tar zxvf kibana-4.1.-linux-x64.tar.gz -C /opt

3、创建日志目录

mkdir -p /opt/kibanalog

4、配置
1)备份配置

cp /opt/kibana-4.1.-linux-x64/config/kibana.yml /opt/kibana-4.1.-linux-x64/config/kibana.yml.bak

2)修改配置

sed -i 's!^elasticsearch_url: .*!elasticsearch_url: "http://192.168.0.1:9200"!g' /opt/kibana-4.1.-linux-x64/config/kibana.yml
sed -i 's!^host: .*!host: "192.168.0.1"!g' /opt/kibana-4.1.-linux-x64/config/kibana.yml

5、启动服务

cd  /opt/kibanalog && nohup /opt/kibana-4.1.-linux-x64/bin/kibana &

6、查看进程和端口
1)查看进程

ps aux |grep kibana

2)查看端口

netstat -tupnl|grep 

7、在windows上访问

http://192.168.0.1:5601

8、设置开机启动

echo "cd /opt/kibanalog && nohup /opt/kibana-4.1.2-linux-x64/bin/kibana &" >> /etc/rc.local

到此服务器A的相关软件全部安装完成;

现在安装日志采集端的程序(服务器B),可以有多个

clientB安装配置logstash(agent)

1、安装java环境

yum -y list java* 
yum -y install openjdk--jdk

1、下载logstash

wget  https://download.elastic.co/logstash/logstash/packages/centos/logstash-1.5.4-1.noarch.rpm

2、安装logstash

rpm -ivh logstash-1.5.-.noarch.rpm

3、配置(默认没有这个配置文件)
1)配置logstash_agent

vim /etc/logstash/conf.d/logstash_agent.conf

input {
file {
path => "/tmp/*.log"
start_position => beginning
}
} output {
redis {
host => "192.168.0.1"
data_type => "list"
key => "logstash:redis"
}
}

5、启动服务

/etc/init.d/logstash start
logstash started.

6、使用jps -mlv或ps -ef来查看下进程

ps -ef|grep logst

7、设置开机启动

update-rc.d logstash defaults
update-rc.d: using dependency based boot sequencing

至此服务器B也安装配置完成,根据日志采集端的需要可以配置N个服务B

如何查看日志

1、查看redis日志

cat /var/log/redis/redis-server.log

2、查看elasticsearch日志

cat /var/log/elasticsearch/elasticsearch.log
tail -300f /var/log/elasticsearch/elasticsearch.log

3、查看logstash日志

cat /var/log/logstash/logstash.errtail -30f /var/log/logstash/logstash.err

4、查看kibana日志

cat /opt/kibanalog/nohup.out
tail -30f /opt/kibanalog/nohup.out

错误处理

1)unable to fetch mapping, do you have indices matching the pattem?

kibana 报这个错误就是因为没有从logstash 过来任何数据一般检查一下数据传输

Elasticsearch、Logstash、Kibana搭建统一日志分析平台的更多相关文章

  1. 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    [转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...

  2. 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...

  3. ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台

    一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...

  4. [Big Data - ELK] ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...

  5. 13: ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台

    参考博客:https://www.cnblogs.com/zclzhao/p/5749736.html 51cto课程:https://edu.51cto.com/center/course/less ...

  6. 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

    用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...

  7. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  8. Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 编译安装 1.ELK简介 下载相关安装包地址:https://www.elastic.co/cn/downloads ELK是Elasticsearch+Logstash+Kibana的简称 ...

  9. ELK搭建实时日志分析平台之二Logstash和Kibana搭建

    本文书接前回<ELK搭建实时日志分析平台之一ElasticSearch> 文:铁乐与猫 四.安装Logstash logstash是一个数据分析软件,主要目的是分析log日志. 1)下载和 ...

随机推荐

  1. Java 清除数组相同元素

    定义一个函数清除该数组的重复元素,返回一个不能浪费长度的数组.代码如下: import java.util.*; public class demo1 { public static void mai ...

  2. 正确获取访问者ip

    使用$_SERVER['REMOTE_ADDR']获取访问者ip具有局限性.比如访问者系统位于docker环境时,$_SERVER['REMOTE_ADDR']获取到的ip为虚拟ip,而不是我们真正需 ...

  3. spring mvc + ehcache 利用注解实现缓存功能

    我的spring是3.1的,因为项目需求,需要在查询时候加上缓存,小白一个,完全没有用过缓存(ehcache),摸索了一天终于会了一点通过注解来使用ehcache进行缓存,立刻给记录下来. 首先 我的 ...

  4. java学习笔记(3)之面向对象(1)

    下面来谈谈我对面向对象的一些理解和总结. 1.什么叫面向对象?我自己的理解就是一种编程思想,强调对象,是一种思考问题的思维模式.在学习面向对象的时候,我们要建立起自己面向对象的思维模式. (1).先整 ...

  5. linux内核分析作业6:分析Linux内核创建一个新进程的过程

    task_struct结构: struct task_struct {   volatile long state;进程状态  void *stack; 堆栈  pid_t pid; 进程标识符  u ...

  6. CSDN:你认为一名优秀的技术人应该具备怎样的素质?

    CSDN:你认为一名优秀的技术人应该具备怎样的素质? 王晶昱:我个人认为,符合这个世界要求的就是优秀的.在目前这个时代,我认为一个优秀的技术人员的特质可能是: 兴趣驱动,兴趣是最好的老师,写程序本身就 ...

  7. 初探ReactJS.NET 开发

    ReactJS通常也被称为"React",是一个刚刚在这场游戏中登场的新手.它由Facebook创建,并在2013年首次发布.Facebook认为React在处理SPA问题上可以成 ...

  8. Mono 3.2 测试NPinyin 中文转换拼音代码

    C#中文转换为拼音NPinyin代码  在Mono 3.2下运行正常,Spacebuilder 有使用到NPinyin组件,代码兼容性没有问题. using System; using System. ...

  9. APK瘦身记,如何实现高达53%的压缩效果

    作者:非戈@阿里移动安全 1.我是怎么思考这件事情的 APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律. ...

  10. Unity3D游戏开发初探—2.初步了解3D模型基础

    一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...