ElasticSearch:logstash-output-http插件的使用(logstash的http輸出)

相關網站:
1 github上Http output plugin的相關介紹和用法

input {
    file {
        path => ["/root/demo.log"]  # 只使用絕對路徑。若是多個文件,使用數組方式進行具體說明。
        start_position => "beginning"                             # 從頭開始讀取文件數據,讀到最後一行變爲tail -f狀態。若沒有這行,默認從結束位置開始讀取數據
    }
}

filter {
    grok{                                                        # 自定義grok,如果日誌中有時間,將匹配結果存入log_timestamp,其餘字段,存入[fields][*]下
        match => {
        "message" => "time=\"%{NOTSPACE:log_timestamp}\" level=%{NOTSPACE:[level]} msg=\"%{GREEDYDATA:[msg]}\" file=\"%{NOTSPACE:[file]}\""}
    }
}
 
output {
    http {
        http_method => "post"                                    # 值可以是put或者post,默認沒有設置
        url => "http://100.73.18.12:13345/api/objs/monitor/gateway/receive"      # 接收數據的地址,這裏可以通過mock一個server端進行數據的接收,同時也是可以通過下面的stdout進行輸出查看(兩邊的數據略有差距)
        format => "json_batch"                                   # 格式化輸出方式,json_batch表示輸出json數組
        mapping => { 
                        "name" => "test_logstash"   
                        "type" => "GAUGE"                
                        "fields" => {                     
                                    "level" => "%{[level]}"
                                    "file" => "%{[file]}" }
                                                        }
    }
    stdout {                                                    # 標準輸出,用於終端輸出調試
        codec => rubydebug {                                         # 輸出爲json字符串。json換爲rubydebug,數據會按照ruby格式輸出
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章