zoukankan      html  css  js  c++  java
  • 自动化运维之日志系统Logstash篇(三)

    5.Logstash日志收集实践

    在学习Logstash之前,我们需要先了解以下几个基本概念: 
    logstash收集日志基本流程: input-->codec-->filter-->codec-->output 
    1.input:从哪里收集日志。 
    2.filter:发出去前进行过滤 
    3.output:输出至Elasticsearch或Redis消息队列 
    4.codec:输出至前台,方便边实践边测试 
    5.数据量不大日志按照月来进行收集

     
    1. #通常使用rubydebug方式前台输出展示以及测试
    2. [root@linux-node3 ~]# /opt/logstash/bin/logstash -e 'input { stdin {} } output { stdout{codec => rubydebug} }'
    3. hello #输入
    4. {
    5. "message" => "hello",
    6. "@version" => "1",
    7. "@timestamp" => "2016-09-01T08:16:36.354Z",
    8. "host" => "linux-node3.com"
    9. }
     

    6.Logstach实践案例

    以下所有收集的日志写入node4的Redis,最后node4通过logstash写入ES,具体架构图如下: 
    如果数据量不大需要直接写入elasticsearch,可将案例Redis改为elasticsearch即可。在后面我也会放出实际的案例。 

    es收集架构
    es收集架构
     

    6Logstash安装

    Logstash需要Java环境,所以直接使用yum安装。

    1.安装java

     
    1. [root@linux-node1 ~]# yum install java
    2. [root@linux-node1 ~]# java -version
    3. openjdk version "1.8.0_101"
    4. OpenJDK Runtime Environment (build 1.8.0_101-b13)
    5. OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)

    2.下载并安装GPG key

     
    1. [root@linux-node1 ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

    3.添加logstash的yum仓库

     
    1. #添加logstash的yum仓库
    2. [root@linux-node1 ~]# cat /etc/yum.repos.d/logstash.repo
    3. [logstash-2.3]
    4. name=Logstash repository for 2.3.x packages
    5. baseurl=https://packages.elastic.co/logstash/2.3/centos
    6. gpgcheck=1
    7. gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
    8. enabled=1

    4.安装Logstash

     
    1. [root@linux-node1 ~]# yum install -y logstash

    声明:如果需要前台查看测试结果,在output加入如下:

     
      1. stdout {
      2. codec => "rubydebug"
      3. }
      4. #执行命令:
      5. /opt/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf
      6. #执行完毕,将文件放置/etc/logstash/conf.d目录,logstash会自动读取相关配置文件
      7. 如果无法读取,可将/etc/init.d/logstashUSERGROUP修改为root
  • 相关阅读:
    Http请求头与响应头
    获取ip位置方法
    简单的Http Server实现
    HTTP
    long、int与byte数组之间的相互转换
    GlusterFS简单配置
    创建线程池
    网络编程socket
    面向对象-进阶篇
    面向对象-初级篇
  • 原文地址:https://www.cnblogs.com/chenshengqun/p/8011884.html
Copyright © 2011-2022 走看看