剑指架构师系列-Logstash分布式系统的日志监控

Logstash主要做由三部署组成:

  1. Collect:数据输入
  2. Enrich:数据加工,如过滤,改写等
  3. Transport:数据输出

下面来安装一下:

wget https://download.elastic.co/logstash/logstash/logstash-2.3.2.tar.gz
tar -zxvf logstash-2.3.2.tar.gz  

在logstash-2.3.2目录下创建文件shipper.conf并配置:

input {
    file {
       path => [  "/var/log/test_logstash.log" ]
     }
}

filter {
   mutate {
     replace => ["host", "192.168.0.127 B[1]"]
   }
}

output {
 redis {
    host => "192.168.0.127"
    port => 6379
    db => 8
    data_type => "channel"
    key => "logstash_list_0"
  }
}

在logstash-2.3.2目录下创建文件indexer.conf并配置:

input {
  redis {
       host => "192.168.0.127"
       port => 6379
       db => 8
       data_type => "channel"
       key => "logstash_list_0"
   }
}

output {
   file {
       path => "/var/log/all.log"
       message_format => "%{host} %{message}"
       flush_interval => 0
   }
}

下面就可以启动了,命令如下:

bin/logstash agent -f indexer.conf &>/dev/null &
bin/logstash agent -f shipper.conf &>/dev/null &
tail -f /var/log/all.log

然后再打开一个命令终端,改变被监控的日志内容:

echo "Hello World" >> /var/log/test_logstash.log

如下图:

或者也可以查看redis-cli,如下:

  

 

 

时间: 2024-10-12 14:51:05

剑指架构师系列-Logstash分布式系统的日志监控的相关文章

剑指架构师系列-持续集成之Maven+Nexus+Jenkins+git+Spring boot

1.Nexus与Maven 先说一下这个Maven是什么呢?大家都知道,Java社区发展的非常强大,封装各种功能的Jar包满天飞,那么如何才能方便的引入我们项目,为我所用呢?答案就是Maven,只需要粘贴个Jar包的地址,Maven就会自动到网上查找引入到你的项目中.不过首先你的下载个Maven,然后指定一下 当下来的包包(jar)放到哪里. 我的版本是apache-maven-3.2.1,找到conf里面的配置文件 settings.xml,瞅瞅有没有 <localRepository>E:

剑指架构师系列-spring boot的logback日志记录

Spring Boot集成了Logback日志系统. Logback的核心对象主要有3个:Logger.Appender.Layout 1.Logback Logger:日志的记录器 主要用于存放日志对象,也可以定义日志类型.级别. 级别:ERROR.WARE.INFO.DEBUG和TRACE.没有FATAL,归纳到了ERROR级别里.ERROR.WARN and INFO level messages are logged by default. 在Spring Boot中,最好定义为logb

剑指架构师系列-MySQL的安装及主从同步

1.安装数据库 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server 安装时使用root用户权限.安装成功后即可进行启动: /bin/systemctl restart mysqld.service 修改MySQL数据库root用户的密码,如

剑指架构师系列-Linux下的调优

1.I/O调优 CentOS下的iostat命令输出如下: $iostat -d -k 1 2 # 查看TPS和吞吐量 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制使用Kilobytes为单位:1 10表示,数据显示每隔1秒刷新一次,共显示2次. tps:该设备每秒的传输次数,也就是一次I/O请求.多个逻辑请求可能会被合并为"一次I/O请求"."一次传输"请求的大小是未知的. kB_read/s:每秒从设备读取的数据量:kB_wr

剑指架构师系列-Redis集群部署

初步搭建Redis集群 克隆已经安装Redis的虚拟机,我们使用这两个虚拟机中的Redis来搭建集群. master:192.168.2.129 端口:7001 slave:192.168.2.132 端口:7002 sentinel:192.168.2.129 端口:26379 来说一下这个sentinel,sentinel是一个管理redis实例的工具,它可以实现对redis的监控.通知.自动故障转移.sentinel不断的检测redis实例是否可以正常工作,通过API向其他程序报告redi

剑指架构师系列-持续集成之Maven实现项目的编译、发布和部署

Maven组织项目进行编译.部署 Maven项目基本的结构说明如下: mazhi  // 控制所有荐的编译.部署.发布 mazhi-app-parent  // 项目的父项目,有一些公共的设置可以被子项目继承 mazhi-core  // 基础服务项目,例如公共类等 mazhi-xxx 其中mazhi和mazhi-app-parent是pom格式,而mazhi-core是jar格式,还可以是 war等格式. 我们以新建mazhi和mazhi-core项目为例说明一下. 新建Maven-proje

剑指架构师系列-ActiveMQ队列的使用

安装ActiveMQ只需要下载包后解压,然后就可以启动与关闭ActiveMQ了,如下: ./activemq start ./activemq stop 访问管理页面: http://10.10.20.20:8161/admin 用户名和密码默认为:admin/admin spring.activemq.broker-url -- 指定ActiveMQ broker的URL,默认自动生成. spring.activemq.in-memory -- 是否是内存模式,默认为true. spring.

剑指架构师系列-tomcat6通过伪异步实现connector

首先在StandardService中start接收请求的线程,如下: synchronized (connectors) { for (int i = 0; i < connectors.length; i++) { try { ((Lifecycle) connectors[i]).start(); } catch (Exception e) { log.error(sm.getString("standardService.connector.startFailed",co

剑指架构师系列-Struts2的缓存

Struts2的缓存中最重要的两个类就是ReferenceMap与ReferenceCache.下面来解释下ReferenceCache中的get()方法. public V get(final Object key) { V value = super.get(key); return (value == null) ? internalCreate((K) key) : value; } 通过key来获取value操作首先调用了super.get(key)方法,也就是调用了Reference