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 ...
随机推荐
- 搭建的SSH 框架
公用JDBC 方法,如果要保存数据,不许再service 中写,而且必须带save* update* 的方法名才受事物控制,ajax 返回json 控制,登录拦截器, 用户体系我没有建立,个人需要不 ...
- Android:View中的performClick()触发条件
http://blog.sina.com.cn/s/blog_70ae1d7b0102v7uk.html 先看看performClick()源码: public boolean performCl ...
- log4j使用教程详解(怎么使用log4j2)
1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号): log4j-core-xx.jar log4j-api-xx.jar 2. 导入到 ...
- java 线程---成员变量与局部变量
关于成员变量与局部变量: 如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,他们对该成员变量是彼此影响的(也就是说一个线程对成员变量的改变会影响到另一个线程) . 如果一个变量是局 ...
- xss实例-什么都没过滤的情况
1. XSS的存在,一定是伴随着输入,与输出2个概念的. 2. 要想过滤掉XSS,你可以在输入层面过滤,也可以在输出层面过滤. 3. 如果输入和输出都没过滤. 那么漏洞将是显而易见的. 4. 作为第一 ...
- AngularJS小试牛刀
总看别人说argularjs,knockoutjs,mvvm模式这些,光看不练假把式,于是便在自己的一个小网站上做了个简单的页面应用了下argularjs ,详细地址见 http://www.591j ...
- AppCompat学习(1)-AppCompatSpinner
andriod中的spinner控件一共有两个,一个是本身的Spinner,一个是android.support.v7.widget.AppCompatSpinner. 两者的区别在于v7内的Spin ...
- make -e install ,,,make命令的-e选项!
-e, --environment-overrides Environment variables override makefiles.环境变量覆盖Makefile文件. 用这个时,一般都自己编写s ...
- 我用的/etc/vimrc
" 映射非数字/字母键, 如:ctrl,shift, alt, home,end,功能键F1~F12, 要把这些键用尖括号括起来!如: map <F3> :NERDTree< ...
- 详述Linux ftp命令的使用方法
转自:http://os.51cto.com/art/201003/186325.htm ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里 ...