ELK+redis消息队列,防止数据丢失


原理展示和准备工作

在这里插入图片描述

准备工作:
      这里我准备了3台虚拟机:    IP--------------部署的服务
                           192.168.131.80---elasticsearch,kibana
                           192.168.131.81---logstash,redis
                           192.168.131.82---logstash
 工作流程:
     1.82的logstash 获取日志信息发送到 .81 的redis上
     1.81 Redis在此处的作用是防止ElasticSearch服务异常导致丢失日志,提供消息队列的作用
     3.81 的logstash是读取Redis中的日志信息发送给 .80 的ElasticSearch
     4.80 的ElasticSearch提供日志存储和检索
     5.80 的Kibana是ElasticSearch可视化界面插件

1、80上安装elasticsearch

 1. 安装elasticsearch
           rpm -ivh elasticsearch-7.3.2-x86_64.rpm
 2. 修改配置文件:
           vim /etc/elasticsearch/elasticsearch.yml
 3. 配置
    **集群的名称**
           cluster.name: my-application 
    **节点的名字,在集群中是唯一的**
           node.name: node-1
    **监听的IP地址(一般写本机)**
	       network.host:  192.168.131.80 (本机ip)
	                      0.0.0.0(代表所有)
	**监听的端口**
	       http.port: 9200
    **发现的集群的其他elasticsearch节点(多个节点用逗号隔开)**
	       discovery.seed_hosts: ["192.168.189.80"]
	       cluster.initial_master_nodes: ["192.168.189.80"]
	**集群中有几个Elasticsearch 运行时,集群恢复正常**
	       gateway.recover_after_nodes: 2
	       保存退出
 4. 启动Elasticsearch 
           systemctl start elasticsearch

2、80上安装kibana

 1. 安装kibana
           rpm -ivh kibana-7.3.2-x86_64.rpm
 2. 修改配置文件
           vim /etc/kibana/kibana.yml
 3. 配置
    **监听端口**
	       server.port: 5601
	**监听IP**
	       server.host: "192.168.131.80"
	**elasticsearch服务器地址**
	       elasticsearch.hosts: ["http://192.168.131.80:9200"]
	**设置页面语言为中文**
	       i18n.locale: "zh-CN"
 4. 启动kibana
           systemctl start kibana

3、81上安装logstash和redis

安装redis
安装依赖环境
	yum -y install gcc gcc-c++
上传redis源码包
解压 		tar zxf redis-5.0.3.tar.gz
进入目录		cd redis-5.0.3
编译安装		make && make install
复制文件		cp redis-5.0.3/redis.conf  /etc
更改redis配置文件
   vim /etc/redis.conf
	69行  bind 0.0.0.0   
	136行 daemonize yes  -----守护进程方式启动
启动redis    redis-server  /etc/redis.conf
------------------------------------------------------------------------
安装logstash:
    rpm -ivh jdk-8u131-linux-x64_.rpm
	rpm -ivh logstash-7.3.2.rpm
	
配置:
	cd /etc/logstash/conf.d/
	vim system.conf    -----必须以.conf结尾,命名什么随意
	input {
        redis {
            host => "192.168.131.81"
            port => "6379"
            type => "system-log"
            data_type => "list"
            key => "logstash:system-log"
            }
         }
output {
     elasticsearch {
           hosts => "192.168.131.80:9200"
           index => "system-log_%{+YYYY.MM.dd}"
           }
      }

4、82上安装logstash

 安装:
    rpm -ivh jdk-8u131-linux-x64_.rpm
	rpm -ivh logstash-7.3.2.rpm
	
配置:
	cd /etc/logstash/conf.d/
	vim redis.conf    -----必须以.conf结尾,命名什么随意
     	input {
             file {
                  path => "/var/log/messages"
                  type => "system-log"
                  start_position => "beginning"
                   }
               }

        output {
             redis {
                  host => "192.168.131.81:6379"
                  data_type => "list"
                  key => "logstash:system-log"
                   }
                }

5:浏览器访问,创建索引,查询日志!

各个服务启动后,浏览器访问kibana(ip:5601),创建索引然后就可以查询日志了!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值