美文网首页
logstash 配置总结

logstash 配置总结

作者: 右左君 | 来源:发表于2018-10-11 23:43 被阅读0次

    logstash 配置总结

    Notice

    着重强调一点,官方文档比什么都重要,思维不要困在 xxdemo,查一下文档,很可能只是简单的问题。

    logstash6.3版本文档:https://www.elastic.co/guide/en/logstash/6.3/index.html

    logstash插件:https://www.elastic.co/guide/en/logstash-versioned-plugins/current/index.html

    简介

    Mix, match, and orchestrate different inputs, filters, and outputs to play in pipeline harmony

    中间件,采集、过滤、搬运数据。支持多源输入/输出。

    Input

    JDBC

    input {
      jdbc {
        jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
        jdbc_user => "mysql"
        parameters => { "favorite_artist" => "Beethoven" }
        schedule => "* * * * *"
        statement => "SELECT * from songs where artist = :favorite_artist"
      }
    }
    
    

    具体参数

    jdbc连接配置

    Setting Input type Required default describe
    jdbc_connection_string string Yes N/A jdbc连接 jdbc:mysql://localhost:3306/mydb
    jdbc_default_timezone string No 默认时区,SQL timestamp会默认转成UTC time。jdbc_default_timezone => "Asia/Shanghai"
    jdbc_driver_class string Yes N/A 如 jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_driver_library string No 如 jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar",如果不设置会从找本地java classpath中找
    jdbc_user string Yes N/A 数据库用户
    jdbc_password password No N/A 数据库密码
    jdbc_password_filepath a valid filesystem path No N/A 数据库密码文件存放路径
    jdbc_pool_timeout number No 5 连接池超时时间 默认5s
    jdbc_validate_connection boolean No false 使用前验证连接,默认不用
    jdbc_validation_timeout number No 3600 验证超时时间3600s
    connection_retry_attempts number No 1 尝试重连数据库的最大次数
    connection_retry_attempts_wait_time number No 0.5 尝试重连时休眠的秒数

    sql 配置

    Setting Input type Required default describe
    sequel_opts hash No {} 可选配置选项
    statement string No N/A 执行语句,短sql
    statement_filepath a valid filesystem path No sql语句路径 长sql写sql
    lowercase_column_names boolean No true 默认列名转换为小写
    columns_charset hash No {} 可指定列的字符集。columns_charset => { "column0" => "ISO-8859-1" }
    parameters hash No {} 自定义参数数值 "target_id" => "321"
    jdbc_paging_enabled boolean No false 是否分页,默认不分页。true后采用 limits, offsets 做分页处理,数据量过大会有性能问题。
    jdbc_page_size number No 100000 每页数据量
    jdbc_fetch_size number No N/A jdbc fetch 最大值,不设默认为相关数据库驱动设置的默认值。不分页时过大会造成OOM
    schedule string No N/A sql执行周期,cron表达式,最短间隔1min schedule => "* * * * *"。不设置时 sql只运行一次
    sql_log_level string, one of ["fatal", "error", "warn", "info", "debug"] No info sql日志级别

    sync 配置

    Setting Input type Required default describe
    clean_run boolean No false 设为true,sql_last_value会被忽略,每次start会重新初始化所有数据
    record_last_run boolean No true 默认保存最后运行时间
    last_run_metadata_path string No /home/ph/.logstash_jdbc_last_run 最后运行时间文件存放地址
    use_column_value boolean No false 设为true tracking_column的值就是 :sql_last_value,false 则是last_run_value的时间戳
    tracking_column string No N/A 追踪的列(:sql_last_value值),需要use_column_value设为trun
    tracking_column_type string, one of ["numeric", "timestamp"] No numeric 追踪列的类型,默认数值

    Output

    ES

    es cluster 设置及链接

    Setting Input type Required default describe
    hosts uri No [//127.0.0.1] es hosts:"127.0.0.1:9200","127.0.0.2:9200"
    path string No N/A lives es server(需要设置proxy)
    proxy uri No N/A 代理地址
    user string No N/A es 用户
    password password No N/A es password
    sniffing boolean No false 是否动态发现es cluster nodes。 1.x and 2.x 所有http.enabled的节点, 5.x and 6.x会排除master node
    sniffing_delay number No 5 sniffing间隔时间 5s
    sniffing_path string No N/A
    timeout number No 60 超时时间
    pool_max number No 1000 线程池最大值
    pool_max_per_route number No 100 每个路由的最大线程池
    validate_after_inactivity number No 10000 执行请求前等待时间超过多少s,验证链接是否过时
    resurrect_delay number No 5
    retry_initial_interval number No 2 批处理重试的初始间隔(秒)。每次重试时加倍,直到retry_max_interval
    retry_max_interval number No 64 批处理重试之间的最大间隔(秒)
    retry_on_conflict number No 1 update/upserted冲突重试的次数
    http_compression boolean No false 是否开启gzip压缩,es 5.0版本以下默认开启,5.x+版本关闭
    custom_headers hash No N/A 自定义http 头信息
    failure_type_logging_whitelist array No [] es 错误白名单.
    healthcheck_path string No N/A

    sync 配置

    Setting Input type Required default describe
    action string No index 批处理动作index:文档全局替换,delete:按documentId删除,create:创建,documentId存在则失败,update:更新,documentId不存在则失败
    doc_as_upsert boolean No false update模式下,true时documentId不存在会创建新document
    upsert string No "" upsert 内容
    bulk_path string No N/A 批处理路径 path+'_bulk'
    index string No index名
    document_id string No N/A 文档id
    document_type string No N/A 文档类型
    parent string No nil 子文档,关联的父文档的id
    pipeline string No nil 执行的pipeline name
    routing string No N/A 路由
    version string No N/A
    version_type string, one of ["internal", "external", "external_gt", "external_gte", "force"] No N/A
    manage_template boolean No true 默认logstash-%{+YYYY.MM.dd},改为false需要手动管理
    template a valid filesystem path No N/A 模板路径
    template_name string No logstash 模板名称
    template_overwrite boolean No false
    parameters hash No N/A 查询参数
    script string No N/A 更新脚本script => "ctx._source.message = params.event.get('message')"
    script_lang string No painless 脚本语言,6.0+用其他语言,需要设为""
    script_type string, one of ["inline", "indexed", "file"] No inline 脚本类型
    script_var_name string No event 脚本变量名称
    scripted_upsert boolean No false 设为true,会创建不存在的document

    ssl配置

    Setting Input type Required default describe
    ssl boolean No N/A es 开启https,hosts需要以https://开头
    ssl_certificate_verification boolean No true ssl证书验证
    cacert a valid filesystem path No N/A .cer or .pem证书路径
    keystore a valid filesystem path No N/A .jks or .p12证书路径
    keystore_password password No N/A keystore密码
    truststore a valid filesystem path No N/A JKS路径
    truststore_password password No N/A JKS password

    相关文章

      网友评论

          本文标题:logstash 配置总结

          本文链接:https://www.haomeiwen.com/subject/ghziaftx.html