一.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日志的更多相关文章

  1. elk平台分析nginx日志的基本搭建

    一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...

  2. elk实战分析nginx日志文档

    elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...

  3. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  4. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  5. ELK 6安装配置 nginx日志收集 kabana汉化

    #ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...

  6. 烂泥:利用awstats分析nginx日志

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...

  7. 一天,python搞个分析NGINX日志的脚本

    准备给ZABBIX用的. 统计接口访问字次,平均响应时间,4XX,5XX次数 以后可以再改进.. #!/usr/bin/env python # coding: utf-8 ############# ...

  8. 利用python分析nginx日志

    最近在学习python,写了个脚本分析nginx日志,练练手.写得比较粗糙,但基本功能可以实现. 脚本功能:查找出当天访问次数前十位的IP,并获取该IP来源,并将分析结果发送邮件到指定邮箱. 实现前两 ...

  9. hive分析nginx日志之UDF清洗数据

    hive分析nginx日志一:http://www.cnblogs.com/wcwen1990/p/7066230.html hive分析nginx日志二:http://www.cnblogs.com ...

随机推荐

  1. SQL Server之存储过程基础知识

    什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...

  2. Hive简单优化;workflow调试

    1. 定义job名字 SET mapred.job.name='customer_rfm_analysis_L1'; 这样在job任务列表里可以第一眼找到自己的任务. 2. 少用distinct, 尽 ...

  3. Spring的辅助类

    http://www.cnblogs.com/maoan/p/3446224.html spring获取ApplicationContext对象的方法——ApplicationContextAware

  4. BZOJ1816 [Cqoi2010]扑克牌

    Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...

  5. AU3学习资源

    AU3中文站:http://www.autoitx.com/

  6. Nagios安装部署和介绍(一)

    一.软件版本下载 Nagios版本下载地址: http://prdownloads.sourceforge.net/sourceforge/nagios/ http://sourceforge.net ...

  7. IE兼容模式下两个小问题,JSON.stringify和SCRIPT70 无权限

    JSON.stringify在IE兼容模式下不起作用,原来是序列化对象是一个easyuiTree的树节点对象,过于复杂的对象 SCRIPT70 权限,问题出现在获取页面iframe时: var ifr ...

  8. Java初学(四)

    一.图解二维数组 二.图解动态创建二维数组 三.杨辉三角练习: import java.util.Scanner; class Array2Demo{ //实现杨辉三角 public static v ...

  9. FCK编辑器漏洞总结

    1.查看编辑器版本FCKeditor/_whatsnew.html————————————————————————————————————————————————————————————— 2. Ve ...

  10. WCF 客户端解决大数据量传输配置

    1. 服务端返回数据给客户端报错 在客户端配置文件中,主要是配置maxReceivedMessageSize <system.serviceModel> <bindings> ...