一.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. 【kAri OJ605】陈队的树

    时间限制 1000 ms 内存限制 65536 KB 题目描述 陈队有N棵树,有一天他突然想修剪一下这N棵树,他有M个修剪器,对于每个修剪器给出一个高度h,表示这个修剪器可以把某一棵高度超过h的树修剪 ...

  2. NOI题库-小学奥赛QwQ

    今天Loli教育我们让我们来看看NOI题库的奥赛部分,不过,为何是小学的( ⊙ o ⊙ )啊!感觉智商被各种侮辱. 余数相同问题: 描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为 ...

  3. Longest Common Subsequence (LCS)

    最长公共子序列(LCS)是经典的DP问题,求序列a[1...n], b[1..m]的LCS. 状态是DP[i][j],表示a[1..i],b[1..j]的LCS. DP转移方程是 DP[i][j]= ...

  4. 深入浅出Redis03 使用Redis数据库(hashes类型)

    一 hashes类型及操作 Redis hash是一个string类型的field和value的映射表.它的添加,删除操作都是0(1)(平均).hash特别适合用于存储对象,相较于对将对象的每个字段存 ...

  5. iOS动画中的枚举UIViewAnimationOptions

    若本帖转出“博客园”请注明出处(博客园·小八究):http://www.cnblogs.com/xiaobajiu/p/4084747.html 笔记 首先这个枚举属于UIViewAnimation. ...

  6. hdu 2044 一只小蜜蜂

    斐波那契数列变形,在本题中不是从1-N,而是从M-N 下标   1   2   3   4   5   6   7     8     9 值     1   1   2   3   5   8   ...

  7. PHP文件包含漏洞剖析

    一. 什么才是”远程文件包含漏洞”?回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. ...

  8. 防止ajax请求重发

    debounce  ajax请求,防止用户点击过快造成重发 按钮disabled处理,显示loading,防止用户失去耐心,重复点击 表单提交也可以同样处理.

  9. 超常用的PHP正则表达式收集整理

    以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式. 一.表单验证匹配验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-z ...

  10. POJ 1836 Alignment

    Alignment Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 11450 Accepted: 3647 Descriptio ...