AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

可觀測(cè)性數(shù)據(jù)收集集大成者:Vector

來(lái)源: 責(zé)編: 時(shí)間:2023-09-28 10:07:26 292觀看
導(dǎo)讀如果企業(yè)提供 IT 在線服務(wù),那么可觀測(cè)性能力是必不可少的?!翱捎^測(cè)性” 這個(gè)詞近來(lái)也越發(fā)火爆,不懂 “可觀測(cè)性” 都不好意思出門了。但是可觀測(cè)性能力的構(gòu)建卻著實(shí)不易,每個(gè)企業(yè)都會(huì)用到一堆技術(shù)棧來(lái)組裝建設(shè)。比如數(shù)

如果企業(yè)提供 IT 在線服務(wù),那么可觀測(cè)性能力是必不可少的?!翱捎^測(cè)性” 這個(gè)詞近來(lái)也越發(fā)火爆,不懂 “可觀測(cè)性” 都不好意思出門了。但是可觀測(cè)性能力的構(gòu)建卻著實(shí)不易,每個(gè)企業(yè)都會(huì)用到一堆技術(shù)棧來(lái)組裝建設(shè)。比如數(shù)據(jù)收集,可能來(lái)自某個(gè) exporter,可能來(lái)自 telegraf,可能來(lái)自 OTEL,可能來(lái)自某個(gè)日志文件,可能來(lái)自 statsd,收集到數(shù)據(jù)之后還需要做各種過(guò)濾、轉(zhuǎn)換、聚合、采樣等操作,煩不勝煩,今天我們就給大家介紹一款開源的數(shù)據(jù)收集+路由器工具:Vector,解除你的上述煩惱。9RJ28資訊網(wǎng)——每日最新資訊28at.com

Vector 簡(jiǎn)介

Vector 通常用作 logstash 的替代品,logstash 屬于 ELK 生態(tài),使用廣泛,但是性能不太好。Vector 使用 Rust 編寫,聲稱比同類方案快 10 倍。Vector 來(lái)自 Datadog,如果你了解監(jiān)控、可觀測(cè)性,大概率知道 Datadog,作為行業(yè)老大哥,其他小弟拍馬難及。Datadog 在 2021 年左右收購(gòu)了 Vector,現(xiàn)在 Vector 已經(jīng)開源,地址是:9RJ28資訊網(wǎng)——每日最新資訊28at.com

  • 主站:https://vector.dev/
  • 倉(cāng)庫(kù):https://github.com/vectordotdev/vector

Vector 不止是收集、路由日志數(shù)據(jù),也可以路由指標(biāo)數(shù)據(jù),甚至可以從日志中提取指標(biāo),功能強(qiáng)大。下面是 Vector 的架構(gòu)圖:9RJ28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9RJ28資訊網(wǎng)——每日最新資訊28at.com

看起來(lái)和其他同類產(chǎn)品是類似的,核心就是 pipeline 的處理,有 Source 端做采集,有中間的 Transform 環(huán)節(jié)做數(shù)據(jù)加工處理,有 Sink 端做數(shù)據(jù)轉(zhuǎn)發(fā)。魔鬼在細(xì)節(jié),Vector 有如下一些特點(diǎn),讓它顯得卓爾不群:9RJ28資訊網(wǎng)——每日最新資訊28at.com

  • 超級(jí)快速可靠:Vector采用Rust構(gòu)建,速度極快,內(nèi)存效率高,旨在處理最苛刻的工作負(fù)載
  • 端到端:Vector 致力于成為從 A 到 B 獲取可觀測(cè)性數(shù)據(jù)所需的唯一工具,并作為守護(hù)程序、邊車或聚合器進(jìn)行部署
  • 統(tǒng)一:Vector 支持日志和指標(biāo),使您可以輕松收集和處理所有可觀測(cè)性數(shù)據(jù)
  • 供應(yīng)商中立:Vector 不偏向任何特定的供應(yīng)商平臺(tái),并以您的最佳利益為出發(fā)點(diǎn),培育公平、開放的生態(tài)系統(tǒng)。免鎖定且面向未來(lái)
  • 可編程轉(zhuǎn)換:Vector 的高度可配置轉(zhuǎn)換為您提供可編程運(yùn)行時(shí)的全部功能。無(wú)限制地處理復(fù)雜的用例

Vector 安裝

Vector 的安裝比較簡(jiǎn)單,一條命令即可搞定,其他安裝方式可以參考其 官方文檔。9RJ28資訊網(wǎng)——每日最新資訊28at.com

curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | bash

Vector 配置測(cè)試

Vector 的配置文件可以是 yaml、json、toml 格式,下面是一個(gè) toml 的例子,其作用是讀取 /var/log/system.log 日志文件,然后把 syslog 格式的日志轉(zhuǎn)換成 json 格式,最后輸出到標(biāo)準(zhǔn)輸出:9RJ28資訊網(wǎng)——每日最新資訊28at.com

[sources.syslog_demo]type = "file"include = ["/var/log/system.log"]data_dir = "/Users/ulric/works/vector-test"[transforms.remap_syslog]inputs = [ "syslog_demo"]type = "remap"source = '''  structured = parse_syslog!(.message)  . = merge(., structured)'''[sinks.emit_syslog]inputs = ["remap_syslog"]type = "console"encoding.codec = "json"

首先,[sources.syslog_demo] 定義了一個(gè) source,取名為 syslog_demo,這個(gè) source 的類型是 file,表示從文件中讀取數(shù)據(jù),文件路徑是 /var/log/system.log,data_dir 是存儲(chǔ) checkpoint 數(shù)據(jù)不用關(guān)心,只要給一個(gè)可寫的目錄就行(Vector 自用)。然后定義了一個(gè) transform,名字為 remap_syslog,指定這個(gè) transform 的數(shù)據(jù)來(lái)源(即上游)是 syslog_demo,其類型是 remap,remap 是 Vector 里非常重要的一個(gè) transform,可以做各類數(shù)據(jù)轉(zhuǎn)換,在 source 字段里定義了一段代碼,其工作邏輯是:9RJ28資訊網(wǎng)——每日最新資訊28at.com

  • 來(lái)自 syslog_demo 這個(gè) source 的日志數(shù)據(jù),日志原文在 message 字段里(除了日志原文 message 字段,Vector 還會(huì)對(duì)采集的數(shù)據(jù)附加 host、timestamp 等字段),需要先解析成結(jié)構(gòu)化的數(shù)據(jù),通過(guò) parse_syslog 這個(gè)函數(shù)做轉(zhuǎn)換
  • 轉(zhuǎn)換之后,相當(dāng)于把非結(jié)構(gòu)化的日志數(shù)據(jù)轉(zhuǎn)換成了結(jié)構(gòu)化的數(shù)據(jù),賦值給 structured 變量,然后通過(guò) merge 函數(shù)把結(jié)構(gòu)化的這個(gè)數(shù)據(jù)和原始就有的 host、timestamp 等字段合并,然后把合并的結(jié)果繼續(xù)往 pipeline 后續(xù)環(huán)節(jié)傳遞

[sinks.emit_syslog] 定義了一個(gè) sink,名字是 emit_syslog,通過(guò) inputs 指明了上游數(shù)據(jù)來(lái)自 remap_syslog 這個(gè) transform,通過(guò) type 指明要把數(shù)據(jù)輸出給 console,即控制臺(tái),然后通過(guò) encoding.codec 指定輸出的數(shù)據(jù)格式是 json。然后通過(guò)下面的命令啟動(dòng) Vector:9RJ28資訊網(wǎng)——每日最新資訊28at.com

vector -c vector.toml

然后,你就會(huì)看到一堆的日志輸出(當(dāng)然,前提是你的機(jī)器上有 system.log 這個(gè)文件,我是 macbook,所以用的這個(gè)文件測(cè)試的),樣例如下:9RJ28資訊網(wǎng)——每日最新資訊28at.com

ulric@ulric-flashcat vector-test % vector -c vector.toml...{"appname":"syslogd","file":"/var/log/system.log","host":"ulric-flashcat.local","hostname":"ulric-flashcat","message":"ASL Sender Statistics","procid":332,"source_type":"file","timestamp":"2023-09-27T07:31:22Z"}

如上,就說(shuō)明正常采集到了數(shù)據(jù),而且轉(zhuǎn)換成了 json 并打印到了控制臺(tái),實(shí)驗(yàn)成功。當(dāng)然,打印到控制臺(tái)只是個(gè)測(cè)試,Vector 可以把數(shù)據(jù)推給各類后端,典型的比如 ElasticSearch、S3、ClickHouse、Kafka 等。9RJ28資訊網(wǎng)——每日最新資訊28at.com

Vector 部署模式

Vector 可以部署為兩個(gè)角色,既可以作為數(shù)據(jù)采集的 agent,也可以作為數(shù)據(jù)聚合、路由的 aggregator,架構(gòu)示例如下:9RJ28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9RJ28資訊網(wǎng)——每日最新資訊28at.com

當(dāng) Vector 作為 agent 的時(shí)候,又有兩種使用模式:Daemon 和 Sidecar。Daemon 模式旨在收集單個(gè)主機(jī)上的所有數(shù)據(jù),這是數(shù)據(jù)收集的推薦方式,因?yàn)樗钣行У乩弥鳈C(jī)資源。比如把 Vector 部署為 DaemonSet,收集這個(gè)機(jī)器上的所有容器中應(yīng)用的日志,容器中的應(yīng)用的日志推薦使用 stdout 方式打印,符合云原生 12 條要素。架構(gòu)圖如下:9RJ28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9RJ28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)然,也可以使用 Sidecar 模式部署,這樣占用的資源更多(畢竟,每個(gè) Pod 里都要塞一個(gè) Vector 容器),但是更靈活,服務(wù)所有者可以隨意搞自己的日志收集方案,不用依賴統(tǒng)一的日志收集方案。架構(gòu)圖如下:9RJ28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9RJ28資訊網(wǎng)——每日最新資訊28at.com

Vector 總結(jié)

夜鶯社區(qū)里已經(jīng)有很多小伙伴從 logstash 遷移到了 Vector,并普遍表示 Vector YYDS,如果你還沒(méi)聽過(guò) Vector,趕緊去試試吧。其他的我也不啰嗦,請(qǐng)各位移步 Vector 官方文檔,本文最重要的價(jià)值就是讓你知道有這么個(gè)好東西 :-)9RJ28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-11833-0.html可觀測(cè)性數(shù)據(jù)收集集大成者:Vector

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 18個(gè)不可不知的Spring Cloud微服務(wù)架構(gòu)知識(shí)點(diǎn)

下一篇: Node.js、Deno、Bun三個(gè)JS運(yùn)行時(shí)哪個(gè)更勝一籌?

標(biāo)簽:
  • 熱門焦點(diǎn)
Top