番茄日志发布1.0.3版本-增加Kafka支持
番茄日志(TomatoLog)能做什么
可能你是第一次聽說TomatoLog,沒關系,我可以從頭告訴你,通過了解番茄日志,希望能幫助有需要的朋友,番茄日志處理將大大降低你采集、分析、處理日志的過程。
介紹
TomatoLog 是一個基于 .NETCore 平臺的日志處理組件,包含客戶端、服務端,非常容易使用和部署。
多客戶端實現
? ? ? ? TomatoLog 的客戶端和服務端目前都是基于 .NETCore 版本,客戶端提供了三種日志流傳輸方式,目前實現了 Redis/RabbitMQ/Kafka流。如果希望使用非 .NETCore 平臺的客戶端,你可以自己開放其它第三方語言的客戶端,通過實現 TomatoLog 傳輸協議,將數據傳送到管道(Redis/RabbitMQ/Kafka)中即可。
強大的日志存儲方式
? ? ? ?TomatoLog 服務端還提供了三種存儲日志的方式,分別是 File、MongoDB、Elasticsearch,存儲方式可以通過配置文件指定。在 TomatoLog 服務端,我們還提供了一個Web 控制臺,通過該控制臺,可以對日志進行查詢、搜索,對服務過濾器進行配置,警報配置、通知發送等等
靈活多樣的日志報警配置
? ? ?其中,可使用的警報通知方式有:SMS 和 Email 兩種方式,但是,SMS 其本質是一個 Http 請求,通過 SMS 的配置,可以實現向所有提供了 Http 接口的網關發送通知。
我好累丫
為了開發支持Kafka,還得學習Kafka/Zookeeper,為了使用Kafka-Manager控制臺,還學習Scala/sbt編譯雅虎這個破項目,控制臺我就起了四個,不說了,看圖。
TomatoLog-1.0.3 版本
TomatoLogServer 服務器版本 1.0.3 ,主要增加了對Kafka的支持,服務端做了一些優化,在配置上,幾乎沒有改動,只需要在原來的基礎上增加Kafka配置即可
"Kafka": { "Group": "TomatoLogServer", "BootstrapServers": "127.0.0.1:9092", "Topic": "TomatoLog" }同時也增加了Kafka客戶端的支持,當前版本為:1.0.3
Install-Package TomatoLog.Client.Kafka使用方式和其它Redis/RabbitMQ客戶端是沒有任何區別的,主要看下面的 WriteLogAsync() 方法,只要做好了 TomatoLogClientKafka 的配置,剩下的,就是調用 Exception 的擴展方法 ex.AddTomatoLogAsync()
番茄日志服務端控制臺長什么樣
首頁看日志列表
日志詳情、彈出查看詳情、日志搜索、支持ES/MongoDB/File搜索
全局日志處理、警報配置
針對單個項目的詳細日志處理、警報配置
極簡風格
不管是從項目結構還是解決方案,我都強調簡單就是最美的根本要求,解決方案的內容雖然看起來很多,但是你也只需要按需引用其中一個客戶端就可以了,服務端更是如此,全站都打包在一個 .NETCore 的應用程序中,程序的警報配置都是存儲在配置文件中的,無需數據庫支持。
看到這里,其實完全就可以點贊了。謝謝大家!
別走,我還有幾個開源工具
優秀的微服務網關Kong的.NETCore中唯一客戶端 https://github.com/lianggx/Kong.Net
基于.NETCore+PostgreSQL的快速開發腳手架 https://github.com/lianggx/mystaging
Asp.NETCore輕松學系列的開源實例代碼 https://github.com/lianggx/EasyAspNetCoreDemo
好了,這下我真的沒啥家底了,都抖露給你們看完了。
總結
以上是生活随笔為你收集整理的番茄日志发布1.0.3版本-增加Kafka支持的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目实战中如何使用抽象类和接口
- 下一篇: ArangoDB 3.5发布:流事务AP