Logstash對接mysql筆記

我們在內(nèi)容分發(fā)系統(tǒng)的數(shù)據(jù)表里面,經(jīng)常會(huì)有閱讀次數(shù)、分享次數(shù)這樣的字段,而如果是c/s系統(tǒng),這樣的統(tǒng)計(jì)是需要客戶端傳上來的,以往這樣的需求我們會(huì)在后臺系統(tǒng)中提供一個(gè)readCount的接口,每當(dāng)客戶端閱讀一次的時(shí)候,就會(huì)調(diào)用接口一次,然后數(shù)據(jù)表的readCount字段就+1。
上文我們已經(jīng)介紹了如何用elk快速搭建日志收集系統(tǒng),其中的logstash除了收集數(shù)據(jù)到elasticsearch,還有其他的作用,這里就介紹如何用logstash更新數(shù)據(jù)庫。

安裝jdbc插件

要完成這個(gè)需求,首先就是要安裝jdbc的插件,讓logstash能訪問mysql,安裝的命令很簡單:

$ bin/logstash-plugin install logstash-output-jdbc

執(zhí)行命令之后如果控制臺輸出Install success則表示安裝成功。

配置config文件

logstash的配置文件我們首先要做的是將傳上來的數(shù)據(jù)轉(zhuǎn)換為json,那就需要配置filter任務(wù),配置如下:

filter {
        json {
            source => "message"
        }
}

然后,logstash的配置文件其實(shí)是很聰明的,除了基本配置之外,他還支持if判斷等邏輯語句,在這里我們配置output的時(shí)候就可以這樣寫:

output {
    if [action] == 'read' {
        jdbc {
            driver_jar_path => "/opt/logstash/lib/mysql-connector-java-5.1.36.jar"
            driver_class => "com.mysql.jdbc.Driver"
            connection_string => "jdbc:mysql://localhost:3306/test?user=test&password=test123"
            statement => [ "update content set read_count = read_count + 1 where id = ?", "[id]" ]
        }
    } else if [action] == 'share' {
        jdbc {
            driver_jar_path => "/opt/logstash/lib/mysql-connector-java-5.1.36.jar"
            driver_class => "com.mysql.jdbc.Driver"
            connection_string => "jdbc:mysql://localhost:3306/test?user=test&password=test123"
            statement => [ "update content set share_count = share_count + 1 where id = ?", "[id]" ]
        }
    }
}

這里MySQL的jar包是額外下載下來的,否則會(huì)啟動(dòng)失敗

以上就是本文介紹的全部內(nèi)容,希望能幫到您。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,958評論 6 342
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,835評論 0 11
  • 自律,向痛苦宣戰(zhàn) 這次課程,幾乎每一句都是我需要的,所以文章沒有結(jié)構(gòu)(現(xiàn)階段也不...
    982827c14b4a閱讀 414評論 2 0