iis 日志 post数据_云原生日志的趋势(1):logscape和logiq
作為日志產品的PM,跟進國內外日志產品動向是個長期工作。這幾天翻新一些歷史記錄,發現logscape自2017年開源以來,突然2019年10月又更新了一會。于是順著翻翻logscape的github賬號,起了興致來寫點文字。
https://github.com/logscape/Logscape?github.com
先聊logscape這個產品吧,從源碼里可以大致看出:這是一個不基于elasticsearch的日志分析產品,而是基于linkedin老早之前開源的一個叫krati的KV存儲上做的。
從logscape自己的文檔來看,性能部分表現不算很好:
但是在資源控制上做的還蠻細:
此外,幾乎各種功能都有:
但是,logscape這個莫名其妙的SPL設計簡直反人類啊:
首先,它模仿了一段lucene的querystring全文搜索,然后對字段值又要單獨采用Obj.<method>方法過濾,最后,聚合函數和后估值、后統計都是只用空格連接的。最后的最后,還可以把多個查詢直接放在一起,成為多Y軸畫圖的數據查詢(overlay search)。下面是幾行示例:
cpu | cpu.max(_host,1h) _host.equals(LAB-UK-XS-UB1) offset(1h) chart(line) ([A-Za-z.]+)Exception | 1.count() _host.equals(LAB-UK-XS-UB1) * | _type.contains(UNX) _type.equals(unx-ps) usedMB.avg(server,UsedKB) RSZ_MB.avg(server,rszKB) eval(EACH * 1024) chart(table) buckets(1) * | _type.equals(UNX-cpu) CpuUtilPct.avg(server,AvgCpu) +AvgCpu.eval(CpuUtilPct > 10) chart(cluster) buckets(6) Agent and cpu | cpu.max(_host,POST) +POST.max(,Max) +POST.min(,Min) +POST.avg(,Avg) chart (c3.area) * | _type.equals(log4j) package+level.count(,PackageLevel) level.not(INFO) chart(line)誰能單從語法上看懂這是要干嘛……
總結一下:logscape最大的問題:底層引擎性能不給力,頂層DSL設計亂糟糟。白瞎了中間層細致的管理功能。
然后順著logscape的github賬號,發現難怪他們開源以后就沒咋更新呢,原來后來又做了一版NG(liquidlabsio/logscape-ng,叫serverless and opensource log aggregation),并很快又放棄掉改成了一個更加serverless的項目,這次名字叫fluidity:
https://github.com/liquidlabsio/fluidity?github.com這次,這個項目的設計目標,是單純利用amazon S3和lambda來實現長期存儲和即時計算!
由于項目還很初期,所以就不看他們源碼實現了。但是這個讓我想到前幾天,同樣在CNCF landscape上看到的另一個產品:logiq。
LOGIQ Observability for monitoring, logs, and predictable pricing?logiq.ai這個產品,直接提供helm-chart和amazon cloudFormation template文件供運行啟動。如果是本地helm-chart,日志存儲在開源對象存儲minio里;如果是cloudFormation template,日志存儲在amazon的S3對象存儲里。
然后,logiq產品本身,除了日志查看頁面,也就還提供一個命令行的logiqctl,進行日志的query和tail。
可以說,二者非常相像,都是放棄自己對數據存儲引擎的構建,徹底交給云平臺,交給S3——因為,S3太便宜啦!
總結
以上是生活随笔為你收集整理的iis 日志 post数据_云原生日志的趋势(1):logscape和logiq的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql怎么新增_mysql怎么新增用
- 下一篇: u盘里面的快捷方式怎么办 解决U盘快捷方