zoukankan      html  css  js  c++  java
  • Logstash配置安装

    logstash配置

    官方文档:https://www.elastic.co/guide/en/logstash/current/index.html

    https://www.cnblogs.com/wudequn/p/12983887.html

    在config/logstash.yml中

    http.host: "192.168.31.102"

    xpack.monitoring.enabled: true

    xpack.monitoring.elasticsearch.username: "logstash_system"

    xpack.monitoring.elasticsearch.password: "mPpO8ceIo14Z7k0ZQIHJ"

    xpack.monitoring.elasticsearch.hosts: ["http://localhost:9200"]

     在bin文件下面新建logstash.conf

    logstash pipeline 包含两个必须的元素:input和output,和一个可选元素:filter。从input读取事件源,(经过filter解析和处理之后),从output输出到目标存储库(elasticsearch或其他)。

    input{
    
      输入插件
    }
    
    filter{
    
      过滤器插件
    }
    
    outer{
    
      输出插件
    }

    1、input

    可以接收来自任何地方的源数据:

     https://www.elastic.co/guide/en/logstash/current/input-plugins.html

    事件源可以是从stdin屏幕输入读取,可以从file指定的文件,也可以从es,filebeat,kafka,redis等读取

    file{
        path => ['/var/log/nginx/access.log']  #要输入的文件路径
        type => 'nginx_access_log'
        start_position => "beginning"
    }
    # path  可以用/var/log/*.log,/var/log/**/*.log,如果是/var/log则是/var/log/*.log
    # type 通用选项. 用于激活过滤器
    # start_position 选择logstash开始读取文件的位置,begining或者end。
    还有一些常用的例如:discover_interval,exclude,sincedb_path,sincedb_write_interval等可以参考官网
    syslog{
        port =>"514" 
        type => "syslog"
    }
    # port 指定监听端口(同时建立TCP/UDP的514端口的监听)
    
    #从syslogs读取需要实现配置rsyslog:
    # cat /etc/rsyslog.conf   加入一行
    *.* @172.17.128.200:514   #指定日志输入到这个端口,然后logstash监听这个端口,如果有新日志输入则读取
    # service rsyslog restart   #重启日志服务
    beats {
        port => 5044   #要监听的端口
    }
    # 还有host等选项
    
    # 从beat读取需要先配置beat端,从beat输出到logstash。
    # vim /etc/filebeat/filebeat.yml 
    ..........
    output.logstash:
    hosts: ["localhost:5044"]
    kafka{
        bootstrap_servers=> "kafka01:9092,kafka02:9092,kafka03:9092"
        topics => ["access_log"]
        group_id => "logstash-file"
        codec => "json"
    }
    kafka{
        bootstrap_servers=> "kafka01:9092,kafka02:9092,kafka03:9092"
        topics => ["weixin_log","user_log"]  
        codec => "json"
    }
    # bootstrap_servers 用于建立群集初始连接的Kafka实例的URL列表。
    # topics  要订阅的主题列表,kafka topics
    # group_id 消费者所属组的标识符,默认为logstash。kafka中一个主题的消息将通过相同的方式分发到Logstash的group_id
    # codec 通用选项,用于输入数据的编解码器。

    2、filter

    Filter数据中转层,主要进行格式处理,数据类型转换,数据过滤,字段添加,修改等,常用的过滤器:

    https://www.elastic.co/guide/en/logstash/current/filter-plugins.html

    3、output

    Output是logstash工作的最后一个阶段,负责将数据输出到指定位置,兼容大多数应用:

    https://www.elastic.co/guide/en/logstash/current/output-plugins.html

     rabbitmq同步

    https://www.elastic.co/guide/en/logstash/current/plugins-inputs-rabbitmq.html

    input { 
        rabbitmq {
        host => "127.0.0.1"
        port=>5672
        vhost=>"CRM"
        subscription_retry_interval_seconds => "5"
        codec => "plain"
        exchange => "log.msg.direct"
        queue => "CRM_LOG"
        durable => true
        key => "rk.log.direct"
        user => "admin"
        password => "admin"
        }
    }
    output {
      elasticsearch { 
            hosts => ["localhost:9200"] 
            #flush_size=> 10  
            #workers => 5  
            #document_id => "%{jobid}" 
            #document_type => "BaseSysLog"
            index => "position-%{+YYYYMMdd}" 
            user => "elastic"
            password => "caKBawShu0Pm7BsjSFbd"
      }
      stdout { codec => rubydebug }
    }

    input说明:

    host IP地址
    port rabbitmq端口
    queue 数据源队列名称
    key 交换机key
    exchange 交换机
    durable 持续性
    subscription_retry_interval_seconds 出现错误时5秒后重试
    start_position 从队列开始处读写

    vhost 虚拟机
    use rabbitma用户名
    password rabbitma用户密码

     https://pro.leanote.com/p/5a98b1bc28389bfc454a6d10

    logstash安装

     官网:https://www.elastic.co/cn/downloads/logstash

    bin目录 
    创建一个run.bat 内容如下
    logstash -f logstash.conf  或者 logstash -f  configlogstash.conf

    md 运行 nssm install logstash 
    在弹出的界面设置 Path为run.bat,Details选项卡设置显示名,Dependencies选项卡设置依赖服务 elasticsearch-service-x64 
    最后点击install service 安装成功 

  • 相关阅读:
    XMLHttpRequest 跨域问题
    jQuery+AJAX实现纯js分页功能
    PHP验证码
    PHP基础
    UIView易忽略点
    UITableView  优化
    SpringBoard界面层级结构分析
    给App在“设置”中添加选项(类似招行App)
    通过USB线SSH登陆到越狱手机上(命令行模式的),不通过wifi
    在IOS项目中使用Lua
  • 原文地址:https://www.cnblogs.com/wudequn/p/11184883.html
Copyright © 2011-2022 走看看