1、部署Redis

1.1、下载redis

[root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz
[root@linux-node2 ~]# tar -zxvf redis-4.0.6.tar.gz
[root@linux-node2 ~]# mv redis-4.0.6 /usr/loca/src
[root@linux-node2 ~]# cd /usr/local/src/redis-4.0.6
[root@linux-node2 redis-4.0.6]# make
[root@linux-node2 redis-4.0.6]# ln -sv /usr/local/src/redis-4.0.6 /usr/local/redis
[root@linux-node2 redis-4.0.6]# cd /usr/local/redis

1.2、配置redis

[root@linux-node2 redis]# vim redis.conf
bind 192.168.56.12
daemonize yes
save ""
requirepass 123456    #开启认证
[root@linux-node2 redis]# cp /usr/local/src/redis-4.0.6/src/redis-server /usr/bin/
[root@linux-node2 redis]# cp /usr/local/src/redis-4.0.6/src/redis-cli /usr/bin/
[root@linux-node2 redis]# redis-server /usr/local/redis/redis.conf
26617:C 02 Jan 10:35:26.801 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
26617:C 02 Jan 10:35:26.801 # Redis version=4.0.6, bits=64, commit=00000000, modified=
26617:C 02 Jan 10:35:26.801 # Configuration loaded

1.3、测试redis

[root@linux-node2 ~]# netstat -tulnp |grep 6379
tcp        0      0 192.168.56.12:6379      0.0.0.0:*               LISTEN      26618/redis-server
[root@linux-node2 redis]# redis-cli -h 192.168.56.12
192.168.56.12:6379> KEYS *
(error) NOAUTH Authentication required.
192.168.56.12:6379> auth 123456
OK
192.168.56.12:6379> KEYS *
(empty list or set)
192.168.56.12:6379> quit

2、配置logstash将日志写入redis

2.1、配置logstash的system.conf

[root@linux-node1 conf.d]# vim system.conf
input {file {path => "/var/log/messages"type => "systemlog"start_position => "beginning"stat_interval => "2"}
}output {if [type] == "systemlog" {redis {data_type => "list"host => "192.168.56.12"db => "1"port => "6379"password => "123456"key => "systemlog"}}}

2.2、检测配置语法

[root@linux-node1 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/sy
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase CThreads=N
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properti
Configuration OK
[root@linux-node1 conf.d]# systemctl restart logstash

2.3、写入messages日志测试

[root@linux-node1 conf.d]# cat /etc/hosts >> /var/log/messages
[root@linux-node1 conf.d]# echo "helloword" >> /var/log/messages

2.4、登陆redis中查看

[root@linux-node2 ~]# redis-cli -h 192.168.56.12
192.168.56.12:6379> KEYS *
(error) NOAUTH Authentication required.
192.168.56.12:6379> AUTH 123456
OK
192.168.56.12:6379>
192.168.56.12:6379> select 1
OK
192.168.56.12:6379[1]> KEYS *
1) "systemlog"
192.168.56.12:6379[1]> LLEN systemlog      #查看key的长度
(integer) 248
192.168.56.12:6379[1]> LLEN systemlog
(integer) 249
192.168.56.12:6379[1]> LPOP systemlog    #展示一条记录会减少一条
"{\"@version\":\"1\",\"host\":\"linux-node1\",\"path\":\"/var/log/messages\",\"@timestamp\":\"2018-01-02T03:04:40.424Z\",\"type\":\"systemlog\",\"tags\":[\"_geoip_lookup_failure\"]}"
192.168.56.12:6379[1]> LLEN systemlog
(integer) 248

3、配置logstash从reids中取出数据到elasticsearch

3.1、使用linux-node2上的logstash从redis取数据

[root@linux-node2 conf.d]# vim redis-es.conf
input {redis {data_type => "list"host => "192.168.56.12"db => "1"port => "6379"key => "systemlog"password => "123456"}
}output {elasticsearch {hosts => ["192.168.56.11:9200"]index => "redis-systemlog-%{+YYYY.MM.dd}"}
}
[root@linux-node2 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis-es.conf -t
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console
Configuration OK
[root@linux-node2 conf.d]# systemctl restart logstash

3.2、从linux-node1上写入数据查看

[root@linux-node1 conf.d]# cat /etc/passwd >> /var/log/messages
[root@linux-node2 ~]# redis-cli -h 192.168.56.12
192.168.56.12:6379> KEYS *
(error) NOAUTH Authentication required.
192.168.56.12:6379> AUTH 123456
OK
192.168.56.12:6379> select 1
OK
192.168.56.12:6379[1]> KEYS *
1) "systemlog"
192.168.56.12:6379[1]> LLEN systemlog      #查看数据长度为38
(integer) 38
192.168.56.12:6379[1]> LLEN systemlog      #配置成功logstash从redis中取完数据,redis长度变成0
(integer) 0

3.3、head插件和Kibana添加索引查看

转载于:https://www.cnblogs.com/linuxk/p/9273209.html

ELKStack入门篇(三)之logstash收集日志写入redis相关推荐

  1. logstash收集日志写入redis

    一.部署redis 1.下载redis [root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz ...

  2. ELKStack入门篇(一)之ELK部署和使用

    一.ELKStack简介 1.ELK介绍 中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details ELK Stack包 ...

  3. logStash收集日志并存储到Elasticsearch

    为什么80%的码农都做不了架构师?>>>    上一节说道如何用logStash收集日志,结合Elasticsearch 进行日志收集和存储 logStash配置如下 input { ...

  4. log4j日志写入redis扩展实现(log4j-redis-appender)

    log4j-redis-appender log4j日志写入redis扩展 一. 依赖 二. log4j.properties相关配置 三. 下载链接 码云源码链接,后续会有持续更新,标星很重要:) ...

  5. ELK 使用filebeat替代Logstash收集日志

    使用beats采集日志 之前也介绍过beats是ELK体系中新增的一个工具,它属于一个轻量的日志采集器,以上我们使用的日志采集工具是logstash,但是logstash占用的资源比较大,没有beat ...

  6. flume三种方式收集日志的案例

    exec 监测某个单一的文件 # user_action_log_src 这个名字可以任意取 agent1.sources = user_action_log_src # memoryChannel ...

  7. 软件测试基础理论(入门篇三)---缺陷管理理论与工具(禅道)

    目录 一.软件的缺陷 二.缺陷管理 2.1 提交缺陷注意事项 2.2 缺陷的跟踪流程 三.项目管理工具之一---禅道 3.1 禅道介绍 3.1.1 基础了解 3.1.2 禅道使用流程 3.1.3测试人 ...

  8. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息]

    三.使用Azure AD 管理用户信息 在上一章我们采用OpenID的方案和Azure AD交互进行身份验证,本章节我们继续了解如何在Azure AD中创建用户,列出用户信息,修改用户信息和删除用户信 ...

  9. Android入门(三) | Android 的日志工具 Logcat

    文章目录 日志工具类 android.util.Log Logcat 中的过滤器 日志工具类 android.util.Log Log 从属日志工具类 android.util.Log ,该类提供了五 ...

最新文章

  1. java valueof的用法_Java SignStyle valueOf()用法及代码示例
  2. Adblock Plus cjxlist 规则说明与反馈贴
  3. 机器学习——前馈神经网络
  4. python中__del__使用方法
  5. 笨方法“学习python笔记之循环
  6. Hibernate 1
  7. python列表keys函数_字典常用函数(clear、get、items、keys、values、pop)
  8. FineReport性能调优的一些办法
  9. centos安装后连不上网
  10. 你是愛我還是需要我?
  11. python如何跳出函数_python如何跳出函数
  12. 7-ELEVEn 便利店 EDI 概览
  13. BlazeDS 整合 Flex
  14. 废旧手机变身服务器,打造私人云盘
  15. 哪里可以在线观看《人再囧途之泰囧》
  16. MySQL实战45讲读后感:一条SQL查询语句是如何执行的?
  17. 个人网站搭建保姆级教学:Hexo + Kaze + Gitee Pages
  18. java 从txt写入txt
  19. FreeIPA框架常用命令合集
  20. 0818骑行仙湖绿道

热门文章

  1. phpexecl保存mysql_【PHP】将数据库表保存为Excel(PHPExcel)
  2. python 密度 语音_Python+sklearn机器学习应该了解的33个基本概念
  3. spring boot中修改默认端口号
  4. 苹果8a1660是什么版本_iOS 13频繁“翻车”,果粉们面对苹果将情何以堪
  5. PHP rss聚合,利用PHP和AJAX创建RSS聚合器
  6. mysql四个字符串类型_mysql的数据类型4---字符串类型
  7. 获取预制体_基于弱磁探测技术的轴承滚动体转速检测方法研究
  8. 钉钉获取免登授权码 php_php代码如何加域名授权?开源php项目如何保护版权 商业授权?...
  9. 基于命令序列的异常行为分析 业界研究现状分析
  10. python split space