Logstash配置安装

logstash配置

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

http://www.javashuo.com/article/p-rchibiya-nh.htmlnginx

在config/logstash.yml中redis

 

http.host: "192.168.31.102"json

xpack.monitoring.enabled: truebootstrap

xpack.monitoring.elasticsearch.username: "logstash_system"vim

xpack.monitoring.elasticsearch.password: "mPpO8ceIo14Z7k0ZQIHJ"ruby

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

 

 在bin文件下面新建logstash.confelasticsearch

 

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

 

 

input{

  输入插件
}

filter{

  过滤器插件
}

outer{

  输出插件
}

一、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 通用选项,用于输入数据的编解码器。

二、filter

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

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

三、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  config\logstash.conf

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

相关文章
相关标签/搜索