logstash输出到influxdb

用了这个logstash扩展

https://github.com/PeterPaulH/logstash-influxdb/blob/master/src/influxdb.rb

把这个文件放到 logstash-1.4.2/lib/logstash/outputs

看一下午logstash的文档,终于解决了自己的需求

用python描述就是这样的

开发要求统计日志中各种类型的数量

while True:
    line = f.readline()
    try:
        if ‘"type":"text","receiver_id"‘ in line:
            type = ‘directmessage‘
        elif ‘"subtype":"unfollow"‘ in line:
            type = ‘unfollow‘
        elif ‘"subtype":"follow"‘ in line:
            type = ‘follow‘
        elif ‘"subtype":"status"‘ in line:
            type = ‘weibo‘
        elif ‘"subtype":"comment"‘ in line:
            type = ‘comment‘
        else:
            type = None

        if type:
            data = [
                {"name":"pingpong_processor",
                 "columns" : ["type"],
                 "points" : [[type]]

                }
            ]

logstash配置文件如下

input {
  stdin {}
}

filter {
  if ‘"type":"text"‘ in [message] {
      mutate {
        add_field => { "type" => "directmessage" }
        remove_field => [ "message", "search" , "@version" ]
      }
  } else if ‘"subtype":"unfollow"‘ in [message] {
      mutate {
        add_field => { "type" => "unfollow" }
        remove_field => [ "message", "search" , "@version" ]
      }
  } else if ‘"subtype":"follow"‘ in [message] {
      mutate {
        add_field => { "type" => "follow" }
        remove_field => [ "message", "search" , "@version" ]
      }
  } else if ‘"subtype":"status"‘ in [message] {
      mutate {
        add_field => { "type" => "weibo" }
        remove_field => [ "message", "search" , "@version" ]
      }
  } else if ‘"subtype":"comment"‘ in [message] {
      mutate {
        add_field => { "type" => "comment" }
        remove_field => [ "message", "search" , "@version" ]
      }
  } else {
      drop {}
  }

}

output {
  influxdb {
    host => "10.75.28.180"
    port => 4444
    name => ["pingpong_processor"]
    columns => ["type", "host"]
    points => [
        "%{type}", "c",
        "%{host}", "c"
    ]

  }

  stdout {}
}

别忘记把influxdb的配置也修改下,因为默认upd协议是没有打开的

# Configure the udp api
  [input_plugins.udp]
  enabled = true
  port = 4444
  database = "pingpong_processor"

我用的influxdb版本是 influxdb-0.8.2-1.x86_64,用/etc/init.d/influxdb这个启动报错,无奈手动启动的

/usr/bin/influxdb -pidfile /tmp/influxdb.pid -config config.toml

看一下udp端口是否启动了

netstat -anup|grep influxdb
udp        0      0 :::4444                     :::*                                    27512/influxdb

完工

时间: 2024-11-10 04:41:55

logstash输出到influxdb的相关文章

logstash输出到mysql

logstash输出到mysql logstash版本:6.5.3,确保 JDK 的版本是 1.8 1  安装logstash-output-jdbc /usr/share/logstash/bin/logstash-plugin install logstash-output-jdbc 2  JDBC插件依赖mysql-connector-java-5.1.47 下载 https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-ja

第二章 logstash - 输出插件之redis与es

最常用的两个输出插件: redis es 一.redis 1.用法 1 output { 2 redis{ 3 batch => false 4 batch_events => 50 5 batch_timeout => 5 6 codec => plain 7 congestion_interval => 1 8 congestion_threshold => 0 9 data_type => list 10 db => 0 11 host => [

Windows服务器使用Telegraf采集服务器监控指标输出到influxdb

1.环境说明 操作系统:Windows Server 2008 R2 IP:192.168.10.135 官方文档地址 :https://docs.influxdata.com/telegraf/v1.10/ 2.安装包下载(windows) wget https://dl.influxdata.com/telegraf/releases/telegraf-1.10.3_windows_amd64.zip unzip telegraf-1.10.3_windows_amd64.zip 3.安装前

ElasticSearch——Logstash输出到Elasticsearch配置

位置 在Logstash的.conf配置文件中的output中配置ElasticSearch 示例: output { elasticsearch{ action => "index" index => "%{[fields][product_type]}-transaction-%{+YYYY-MM}" hosts => ["10.0.xx.xx:9200", "10.0.xx.xx:9200", &quo

ELK日志处理之使用logstash收集log4J日志

介绍一下如何从Java工程中导出log4J日志到Logstash. 一.log4j基础 不能免俗的官方介绍: Log4j 是一个使用 Java 语言编写的,可靠.快速.灵活的日志框架(API),使用 Apache Software License 授权.它被移植到 C.C++.C#.Perl.Python.Ruby 和 Eiffel 语言中. Log4j 是高度可配置的,在运行期使用外部的配置文件对其进行配置.它按照优先级别记录日志,并可将日志信息定向输出到各种介质,比如数据库.文件.控制台.U

Elasticsearch+Logstash+Kinaba+Redis日志分析系统

一.简介 1.组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用 kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可

记一次logback传输日志到logstash根据自定义设置动态创建ElasticSearch索引

先说背景,由于本人工作需要创建很多小应用程序,而且在微服务的大环境下,服务越来越多,然后就导致日志四分五裂,到处都有,然后就有的elk,那么问题来了 不能每个小应用都配置一个 logstash 服务来传输日志吧,把所有的日志都 输送到一个logstash里面  然后logstash会都输送到一个索引下(之前不知道怎么配),输送到同一个所以下 那么问题又来了,首先每个小服务程序日志量不大希望持续监控,也不需要用时间来分割(因为日志量不大),又希望查询方便(不要告诉我查询的时候多一个筛选条件就可以了

Logstash+elasticsearch+elastic+nignx

注:本系统使用的是Logstash+elasticsearch+elastic+nignx 进行日志分析.展示 1环境版本:... 2 1.1主机:... 2 1.2前提:... 2 2 Logstash配置... 2 3 Kibana与elasticsearch的启动... 6 3.1 elasticsearch. 6 3.2 kibana. 7 4 Nginx的配置:... 7   1环境版本: 操作系统:CentOS 7.2.1511 内核:Linux Logs3.10.0-123.9.3

filebeat-2-通过kafka队列链接logstash

filebeat 直接到logstash, 由于logstash的设计问题, 可能会出现阻塞问题, 因为中间使用消息队列分开 可以使用redis, 或者kafka, 这儿使用的是kafka 1, 安装 kafka的安装, 解压可用, 但需要zookeeper, 内置了一个zookeeper, 直接使用即可 1), 启动内置zookeeper ./bin/zookeeper-server-start.sh ./config/zookeeper.properties & 2), 修改kafka的配置