go 記錄日志到Elk


  • 基於"github.com/heatxsink/go-logstash"
  • 示例代碼如下
    package main
    
    import (
        "github.com/heatxsink/go-logstash"
    )
    //將go 的錯誤日志推送的elk
    var logs *logstash.Logstash
    
    //使用單例模式創建redis client
    func GetInstance(opt redis.Options) *redis.Client {
        once.Do(func() {
            redisdb = redis.NewClient(&opt)
        })
        return redisdb
    }
    
    func initLogstash() {
        logs := logstash.New("192.168.3.10", 5000, 5)
        conn, err := logs.Connect()
        if err != nil {
            fmt.Println(err)
        }
        err = logs.Writeln("{ 'foo' : 'bar' }")
        if err != nil {
            fmt.Println(err)
        }
        defer conn.Close()
    }
    
    func main() {
        initLogstash()
       select{}
    }
  • 在Kinbana 配置logstash 展示

     添加索引模式,把logstash 索引按照配置添加

打開Discover 界面即可看到logstash 記錄的日志。

這里看到的數據都是交雜在一起的。如果要更方便查詢則需要使用到logstash filter 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM