为了达到不会因为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. 纯CSS序列号

    per-Css-ol .ol { cursor:pointer; list-style-type: none; counter-reset: sectioncounter; } .ol li:befo ...

  2. Hibernate中的一些关键字理解

    ORM的理解: ORM(Object/Relation Mapping): 对象/关系映射ORM 主要解决对象-关系的映射: ORM的思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序 ...

  3. 在Mac下使用ll,la,l

    一: 用户目录下建立一个脚本“.bash_profile”,并输入以下内容即可: alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' 二: sou ...

  4. Windows的445端口(文件共享)

    周鸿祎:教育网大量电脑445端口暴露,导致中招_科技_腾讯网 http://tech.qq.com/a/20170513/016133.htm 互联网周鸿祎2017-05-13 12:04   据36 ...

  5. Pulsar

    The Apache Software Foundation Announces Apache® Pulsar™ as a Top-Level Project : The Apache Softwar ...

  6. sublime text 3 配置方法

    一.安装sublime text 3 1>.执行sublime text 3的安装包(.exe)文件安装成功后,进入sublime的安装目录(例如:D:\Program Files\Sublim ...

  7. 解决线上Tomcat启动慢

    vim /application/jdk/jre/lib/security/java.security # securerandom.source=file:/dev/randomsecurerand ...

  8. 如何删除Docker中的镜像相关

    1.正常情况下 1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: ...

  9. 配置stun服务器实现穿墙

    Turn服务器的配置流程 Webrtc是基于P2P的,在两个客户端建立连接之前需要服务器建立连接,这时两台设备一般都处于一个或者多个NAT中,那么两台设备建立连接就需要穿墙技术. 这时就用到了turn ...

  10. C++继承模型

    在C++继承模型中,一个派生类对象表现出来的东西,是其自己的成员加上其基类成员的总和.但这些成员怎样摆放,标准并未强制规定.一般而言,低地址放基类子对象,高地址放派生类对象. 以下从四个部分讨论C++ ...