elk+redis分布式分析nginx日志
一.elk套件介绍
ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。官方网站: https://www.elastic.co/products
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。
Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
kibana 也是一个开源和免费的工具,他 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
工作原理如下如所示:

**客户端的logstash从日志里取出数据推送到服务端的redis里,服务端的logstash从redis里取出推送到elasticsearch,elasticsearch进行分析,kibana来展示
注:安装全部使用rpm安装,方便管理
二、服务端安装过程
1.安装依赖JDK
版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm
Preparing... ########################################### [100%]
1:jre1.8.0_91 ########################################### [100%]
Unpacking JAR files...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
jfxrt.jar...
2.安装logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm
Preparing... ########################################### [100%]
3.安装elasticsearch
版本:elasticsearch-2.3.3.rpm
# rpm -ivh elasticsearch-2.3.3.rpm
Preparing... ########################################### [100%]
4.安装kibana
版本:kibana-4.5.1-1.x86_64.rpm
# rpm -ivh kibana-4.5.1-1.x86_64.rpm
Preparing... ########################################### [100%]
1:kibana ########################################### [100%]
5.安装redis
版本: redis-3.0.0.tar.gz
#tar xf redis-3.0.0.tar.gz
#cd redis-3.0.0
#make
#mkdir /usr/local/redis
#mkdir /usr/local/redis/bin
#cp src/redis-benchmark /usr/local/redis/bin/
#cp src/redis-check-aof /usr/local/redis/bin/
#cp src/redis-check-dump /usr/local/redis/bin/
#cp src/redis-cli /usr/local/redis/bin/
#cp src/redis-sentinel /usr/local/redis/bin/
#cp src/redis-server /usr/local/redis/bin/
#cp redis.conf /usr/local/redis/
#cd /usr/local/redis/
#mv redis.conf redis_6378.conf
三.客户端安装过程#
1.安装依赖JDK
版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm
Preparing... ########################################### [100%]
1:jre1.8.0_91 ########################################### [100%]
Unpacking JAR files...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
jfxrt.jar...
2.安装logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm
Preparing... ########################################### [100%]
四.客户端配置
#cd /etc/logstash/conf.d/
#新建一个conf文件
## vi nginx_access.conf
配置文件如下:
input {
file {
type => "nginx_access"
#分析的日志路径。一般都是咱们的squid or nginx日志路径
path => ["/usr/local/nginx/logs/access.log"]
codec => plain {
charset => ["UTF-8"] #字符编码UTF-8
}
}
}
output {
stdout {}
redis {
#将过滤好的数据推送到服务端的redis里
host => '服务端IP地址'
data_type => 'list'
key => 'elk:redis'
codec => json {
charset => ["UTF-8"]
}
}
}
启动服务
/etc/init.d/logstash start
五、服务端配置
1.修改logstash配置文件
# cd /etc/logstash/conf.d/
# vi nginx_access.conf
input {
redis {
#从redis里取出日志
host => '服务器IP地址'
data_type => 'list'
port => "6378"
key => 'elk:redis'
type => 'redis-input'
codec => plain {
charset => "UTF-8"
}
}
}
filter {
json{
source =>"message"
}
}
#把日志交给elastic分析
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
codec => "json"
}
}
2.修改logstash运行内存
vi /etc/init.d/logstash
LS_HEAP_SIZE="1g"
#此处可以根据你服务器的配置来修改
3.配置elasticsearch
vi /usr/share/elasticsearch/bin/elasticsearch.in.sh
if [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=4g
fi
将max调整为4g
#此处可以根据你服务器的配置来修改
修改elasticsearch 监听地址
vi /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
4.启动相关服务
/etc/init.d/elasticsearch start
/etc/init.d/logstash start
/etc/init.d/kibana start
/usr/local/redis/bin/redis-server /usr/local/redis/redis_6378.conf &
#记得redis添加防火墙,要不容易被啪啪。
5.kibana显示
略。
elk+redis分布式分析nginx日志的更多相关文章
- elk平台分析nginx日志的基本搭建
一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...
- elk实战分析nginx日志文档
elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...
- 使用Docker快速部署ELK分析Nginx日志实践(二)
Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...
- 使用Docker快速部署ELK分析Nginx日志实践
原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...
- ELK 6安装配置 nginx日志收集 kabana汉化
#ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...
- 烂泥:利用awstats分析nginx日志
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...
- 一天,python搞个分析NGINX日志的脚本
准备给ZABBIX用的. 统计接口访问字次,平均响应时间,4XX,5XX次数 以后可以再改进.. #!/usr/bin/env python # coding: utf-8 ############# ...
- 利用python分析nginx日志
最近在学习python,写了个脚本分析nginx日志,练练手.写得比较粗糙,但基本功能可以实现. 脚本功能:查找出当天访问次数前十位的IP,并获取该IP来源,并将分析结果发送邮件到指定邮箱. 实现前两 ...
- hive分析nginx日志之UDF清洗数据
hive分析nginx日志一:http://www.cnblogs.com/wcwen1990/p/7066230.html hive分析nginx日志二:http://www.cnblogs.com ...
随机推荐
- SQL Server之存储过程基础知识
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...
- Hive简单优化;workflow调试
1. 定义job名字 SET mapred.job.name='customer_rfm_analysis_L1'; 这样在job任务列表里可以第一眼找到自己的任务. 2. 少用distinct, 尽 ...
- Spring的辅助类
http://www.cnblogs.com/maoan/p/3446224.html spring获取ApplicationContext对象的方法——ApplicationContextAware
- BZOJ1816 [Cqoi2010]扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...
- AU3学习资源
AU3中文站:http://www.autoitx.com/
- Nagios安装部署和介绍(一)
一.软件版本下载 Nagios版本下载地址: http://prdownloads.sourceforge.net/sourceforge/nagios/ http://sourceforge.net ...
- IE兼容模式下两个小问题,JSON.stringify和SCRIPT70 无权限
JSON.stringify在IE兼容模式下不起作用,原来是序列化对象是一个easyuiTree的树节点对象,过于复杂的对象 SCRIPT70 权限,问题出现在获取页面iframe时: var ifr ...
- Java初学(四)
一.图解二维数组 二.图解动态创建二维数组 三.杨辉三角练习: import java.util.Scanner; class Array2Demo{ //实现杨辉三角 public static v ...
- FCK编辑器漏洞总结
1.查看编辑器版本FCKeditor/_whatsnew.html————————————————————————————————————————————————————————————— 2. Ve ...
- WCF 客户端解决大数据量传输配置
1. 服务端返回数据给客户端报错 在客户端配置文件中,主要是配置maxReceivedMessageSize <system.serviceModel> <bindings> ...