Elasticsearch、Logstash、Kibana搭建统一日志分析平台
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上访问
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搭建统一日志分析平台的更多相关文章
- 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
[转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...
- 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...
- [Big Data - ELK] ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...
- 13: ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
参考博客:https://www.cnblogs.com/zclzhao/p/5749736.html 51cto课程:https://edu.51cto.com/center/course/less ...
- 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...
- ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台
一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...
- Elasticsearch+Logstash+Kibana搭建分布式日志平台
一.前言 编译安装 1.ELK简介 下载相关安装包地址:https://www.elastic.co/cn/downloads ELK是Elasticsearch+Logstash+Kibana的简称 ...
- ELK搭建实时日志分析平台之二Logstash和Kibana搭建
本文书接前回<ELK搭建实时日志分析平台之一ElasticSearch> 文:铁乐与猫 四.安装Logstash logstash是一个数据分析软件,主要目的是分析log日志. 1)下载和 ...
随机推荐
- 控制 Android 程序使用的内存
如何控制应用程序使用的内存? 1. 记得关闭启动的服务 当服务中的任务完成后,要记得停止该服务.可以考虑使用 IntentService,因为 IntentService 在完成任务后会自动停止. 2 ...
- *HDU1907 博弈
John Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ...
- nginx-(/etc/init.d/nginx)启动脚本
#!/bin/bash #nx Startup script for the Nginx HTTP Server # it is v. version. # chkconfig: - # descri ...
- Ubuntu Server无线连接配置
由于Ubuntu Linux内核对于WPA的加密方式支持不是很好,所有使用普通方式的命令行无法连接WPA2类型的路由.首先检查是否安装了wpasupplicant,Ubuntu 10.04已经安装了 ...
- SDOI 2016 排列计数
题目大意:一个数列A,n个元素,其中m个元素不动,其他元素均不在相应位置,问有多少种排列 保证m个元素不动,组合数学直接计算,剩余元素错位排列一下即可 #include<bits/stdc++. ...
- 在Visual Studio中将现有.NET Framework项目迁移至.NET Core 1.1 Preview 1
1)下载安装包含 .NET Core 1.1 Preview 1 的 SDK:Windows x64 安装包(下载地址列表) 2)下载最新 VS 2015 NuGet 插件:https://dist. ...
- Code First开发系列之管理并发和事务
返回<8天掌握EF的Code First开发>总目录 本篇目录 理解并发 理解积极并发 理解消极并发 使用EF实现积极并发 EF的默认并发 设计处理字段级别的并发应用 实现RowVersi ...
- 轻量级通信引擎StriveEngine —— C/S通信demo(2) —— 使用二进制协议 (附源码)
在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类:文本消息.二进制消息. 文本协议相对简单,通常使用一个特殊的标记符作为一个消息的结束. 二进制协议,通常是由消息头(Head ...
- 利用gulp解决前后端分离的header/footer引入问题
在我们进行前后端完全分离的时候,有一个问题一直是挺头疼的,那就是公共header和footer的引入.在传统利用后端渲染的情况下,我们可以把header.footer写成两个单独的模板,然后用后端语言 ...
- Win7&Ubuntu12.04 双系统引导问题
周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述: 在重装 ...