想看新指標?教你輕鬆寫prober外掛
prober外掛透過API方式採集打點資料,目前已有外掛:
-
elasticsearch
-
github
-
haproxy
-
mongodb
-
mysql
-
nginx
-
prometheus
-
rabbitmq
-
redis
-
tengine
-
zookeeper
prober外掛是使用telegraf 外掛介面封裝而成,你可以:
-
直接封裝一個telegraf
-
寫一個telegraf外掛,然後再封裝成prober外掛
接下來用src/modules/monapi/plugins/demo為例,介紹外掛的開發。
Telegraf外掛 開發
安全提示
需要實現一個這樣的介面型別:
下面是demo外掛的實現:
這樣就有了一個telegraf的外掛, 接下來將它封裝成 prober 外掛。
外掛中Gather方法中的acc是一個介面,具體的例項由執行環境提供的, 在prober中執行外掛時,acc的實現在
src/modules/prober/manager/accumulator.go
Prober
prober會定期從monapi獲取collectRule列表,檢查更新自己的外掛例項。
-
create rule collector
-
update rule collector
-
delete rule collector
其中,update rule是由delete old,create new來實現的。
monapi之所以需要載入外掛,是因為需要獲取外掛的引數描述,這樣才能渲染出合適的UI介面,方便使用者輸入。 這是demo的引數描述:
有關ui的資訊描述,放在了structField的tag中,詳細的tag如下:
這樣,mapapi拿到結構體後,就可以知道如何渲染,填充結構體裡的引數,然後將使用者輸入的資料存入資料庫後,分發到各個prober上執行。
prober獲取規則後,透過外掛的TelegrafInput方法,將rule轉換成telegraf.Input例項。
測試
src/modules/monapi/plugins/demo/demo_test.go
部署
內建編譯
-
修改src/modules/monapi/plugins/all/all.go,新增demo
-
重新編譯monapi & prober
外掛載入
將自己的外掛編譯成動態庫檔案(.so), 複製到monapi &prober工作目錄下的plugins/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992332/viewspace-2761175/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手牽手教你寫 Vue 外掛Vue
- 輕食外賣的資料指標指標
- Go 指標,如此輕鬆掌握,希望有收穫Go指標
- 巧用指標平臺DataIndex,五步法輕鬆實現指標管理指標AIIndex
- 【AST篇】教你如何動手寫 Eslint 外掛ASTEsLint
- 手把手教你寫一個 VSCode 外掛VSCode
- 教你8步輕鬆上手kafkaKafka
- 如何開啟自媒體寫作?4步教你輕鬆搞定
- 【GoLang 那點事】Go 指標,如此輕鬆掌握,希望有收穫Golang指標
- Vite 實戰:手把手教你寫一個 Vite 外掛Vite
- KubeVela 外掛指南:輕鬆擴充套件你的平臺專屬能力套件
- 輕鬆上手Fluentd,結合 Rainbond 外掛市場,日誌收集更快捷AI
- 手把手教你如何簡單使用laravel Modules寫外掛(1)Laravel
- [外掛擴充套件]書架外掛(新外掛後臺)套件
- egg外掛編寫
- 編寫node 外掛
- eggjs外掛編寫JS
- 編寫jq外掛
- 一篇文章教你輕鬆使用fastjsonASTJSON
- 輕鬆教你React Native 混合開發(iOS篇)React NativeiOS
- 輕鬆新增發光效果和耀斑的ps外掛:Oniric Glow Generator漢化版
- [22] 虛幻引擎知識擴充 智慧指標、JSON解析、外掛指標JSON
- fcpx外掛Bold Pop for Mac fcpx流行標題外掛Mac
- 掌握C語言指標,輕鬆解鎖程式碼高效性與靈活性(中)C語言指標
- IDEA Plugin,寫一個看股票指數和K線的外掛IdeaPlugin
- 標籤輸入外掛
- [譯] 手摸手教你如何輕鬆釋出私有 AppAPP
- PyCharm編輯器結合Black外掛,輕鬆實現Python程式碼格式化PyCharmPython
- 網站最佳化程度如何判斷?掌握這3個指標,輕鬆提升排名網站指標
- 80行程式碼教你寫一個Webpack外掛併發布到npm行程WebNPM
- 小外掛大功能!輕量化森BIM外掛手把手教學
- CRM執行慢?一招教你輕鬆解決
- 跟著教程做主圖,教你輕鬆去除圖片背景!
- 教你利用鐵威馬NAS如何輕鬆分享檔案
- 教你輕鬆整合華為Image Kit圖文排版功能
- VS Code 輕量級外掛推薦
- [外掛擴充套件]自己寫的外掛。怎麼後臺?套件
- 自己寫一個Babel外掛Babel