为了达到不会因为ELK中的某一项组件因为故障而导致整个ELK工作出问题,于是

将logstash收集到的数据存入到消息队列中如redis,rabbitMQ,activeMQ或者kafka,这里以redis为例进行操作

首先将需要收集的日志数据通过logstash收集到redis中,这里需要用到output的redis插件了:

1、安装redis,这里采用yum安装,存在于epel源

2、修改redis配置

[root@node3 ~]# egrep -v "^#|^$" /etc/redis.conf
bind 192.168.44.136
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes

开启redis服务:

[root@node3 ~]# /etc/init.d/redis start
启动 : [确定]

编写logstash配置文件,将日志数据写入到redis中:

[root@node3 conf.d]# cat redis_out.conf
input {
file {
path => ["/var/log/nginx/access.log"]
start_position => "beginning"
}
} output {
redis {
host => ["192.168.44.136"]
data_type => "list"
db => 1
key => "nginx"
}
}

然后logstash开始执行:

[root@node3 conf.d]# /usr/share/logstash/bin/logstash -f redis_out.conf
Sending Logstash's logs to /var/log/logstash which is now configured via log4j2.properties

登录redis进行查看是否已经有数据了:

[root@node3 ~]# redis-cli -h 192.168.44.136
192.168.44.136:6379> select 1
OK
192.168.44.136:6379[1]> llen nginx
(integer) 19

select 1:1就是上面logstash配置文件的db

llen nginx:nginx就是上面logstash配置文件的key

接下来将redis收集到的数据再通过logstash输出到es中:

[root@node3 conf.d]# cat redis_input.conf
input {
redis {
host => ["192.168.44.136"]
data_type => "list"
db => 1
key => "nginx"
}
} output {
elasticsearch {
hosts => ["192.168.44.134:9200"]
index => "redis-nginx"
}
}

开始执行:

[root@node3 conf.d]# /usr/share/logstash/bin/logstash -f redis_input.conf
Sending Logstash's logs to /var/log/logstash which is now configured via log4j2.properties

通过登录redis查看数据是否还存在:

[root@node3 ~]# redis-cli -h 192.168.44.136
192.168.44.136:6379> select 1
OK
192.168.44.136:6379[1]> llen nginx
(integer) 0
192.168.44.136:6379[1]>

可以看见redis中的数据已经被读取完了,现在查看es是否创建了相应的索引:

然后通过kibana将es的index添加进来:

于是整个流程就这样完成了,redis这个收集站可以换成其他消息队列服务

接下来通过操作kibana,使收集到的数据更加好看:

logstash运输器以及kibana的更多操作的更多相关文章

  1. python使用装饰器对文件进行读写操作'及遍历文件目录

    '''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...

  2. elk系列4之kibana图形化操作【转】

    preface 我们都搭建了ELK系统,且日志也能够正常收集的时候,那么就配置下kibana.我们可以通过kibana配置柱状图,趋势图,统计图,圆饼图等等各类图.下面就拿配置统计图和柱状图为例,结合 ...

  3. SQLAlchemy的使用---查询的更多操作

    # 查询更多操作 from create_table import User, engine from sqlalchemy.orm import sessionmaker Session = ses ...

  4. Django模型层之更多操作

    Django模型层之更多操作 一 .ORM字段 1.1 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为 ...

  5. ELK(Logstash+Elasticsearch+Kibana)的原理和详细搭建

    一. Elastic Stack Elastic Stack是ELK的官方称呼,网址:https://www.elastic.co/cn/products ,其作用是“构建在开源基础之上, Elast ...

  6. 【jQuery】总结:筛选器、控制隐藏、操作元素style属性

    筛选器 -> http://blog.csdn.net/lijinwei112/article/details/6938134 常用到的: $("tr[id=ac_"+id+ ...

  7. 第三章 JQuery: HelloWorld--常见方法--css--选择器--筛选器--属性--效果--事件--数组操作--字符串操作--对象转换

    1.jQuery简介 为了简化JavaScript 的开发, 一些JavsScript 库诞生了. JavaScript库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的页面, 并且兼 ...

  8. ELK日志系统之kibana的使用操作

    1.ELK日志系统打开后,打开kibana的操作界面,第一步创建索引模式: 第2步:创建日志索引 第3步:创建成功 第4步:查看30分钟时间段内的日志数据,也可以查今天的,今月的,今年的 放牛去

  9. Solr搜索器的特性及相关操作

    一.搜索处理器简介 所有的请求处理器都实现一个Java类,本例实现了solr.SearchHandler.在运行时,solr.SearchHandler被解析为内置的Solr类org.apache.s ...

随机推荐

  1. CH5402 选课【树形DP】【背包】

    5402 选课 0x50「动态规划」例题 描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了 N(N≤300) 门的选修课程,每个学生可选课程的数量 M 是 ...

  2. 2017-2018-2 20165330 实验四《Android程序设计》实验报告

    下载与安装Android Studio 下载地址:Download Android Studio 安装教程参考Android开发简易教程 实验内容 码云链接 任务一 参考<Java和Androi ...

  3. JS获取当前网页大小以及屏幕分辨率等

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...

  4. python自然语言处理——学习笔记:Chapter3纠错

    2017-12-06更新:很多代码执行结果与书中不一致,是因为python的版本不一致.如果发现有问题,可以参考英文版: http://www.nltk.org/book/ 第三章,P87有一段处理h ...

  5. django模型:字段和选项

    https://blog.csdn.net/iloveyin/article/details/44852645一.常用字段1.字段类型使用时需要引入django.db.models包,字段类型如下Au ...

  6. 初识Java集合框架(Iterator、Collection、Map)

    1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List ...

  7. django生产环境部署

    测试环境:linux centos7下 1.安装uwsgi python3下安装: pip3 install uwsgi python2下安装: pip install uwsgi 如果是系统自带的p ...

  8. MBR和GPT(分区)

    MBR:Master Boot Record GPT:Guid Partition Table (全局唯一标识符分区表) GPT is the new standard and is graduall ...

  9. 多个JS文件性能优化

    页面中引入的JS文件是阻塞式加载的,这样会影响页面性能.以下是JS文件性能优化方法: 一:将所有的<script>标签放到页面底部,也就是</body>闭合标签之前,这能确保在 ...

  10. 【基础算法】- 个人认为最快的 Fibonacci 程序

    public class Fibonacci { private static Map<Long,Long> map = new HashMap<Long,Long>(); s ...