亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

手把手教你編寫自定義Categraf插件

2023-05-29 07:05:11
401
0

Categraf 是一個監控采集 Agent,類似 Telegraf、Grafana-Agent、Datadog-Agent,希望對所有常見監控對象提供監控數據采集能力,采用 All-in-one 的設計,不但支持指標采集,也希望支持日志和調用鏈路的數據采集。相比于其他采集器,Categraf 的優勢在于:支持 remote_write 寫入協議,支持將數據寫入 promethues、M3DB、VictoriaMetrics、InfluxDB;指標數據只采集數值,不采集字符串,標簽維持穩態結構;采用 all-in-one 的設計,所有的采集工作用一個 agent搞定;未來也可以把日志和 trace 的采集納入 agent;純 Go 代碼編寫,靜態編譯依賴少,容易分發,易于安裝。

教你編寫自定義Categraf插件:

下面以自定義http_response插件為例;

http_response插件作用:解析http響應,該響應可以是獲取的監控數據,再將響應寫入指定的監控數據庫,如promethues、VictoriaMetrics、InfluxDB等;

http_response插件編寫思路:

  1. 拉取官方代碼倉庫項目,在插件目錄input文件夾下建http_response文件夾,在http_response文件夾下建立http_response.go
  2. http_response.go以任意一個官方已有插件go文件為模板粘貼,此處以tomcat插件為例,先將涉及插件名稱的地方改為http_response
  3. 在解釋器目錄parser文件夾下httpresponse文件夾,在httpresponse文件夾下建立parser.go
  4. parser.go中解析的http響應數據的方法,并調用SampleList類的PushSample或PushSamples方法推送監控數據
  5. 在http_response.go中將初始化方法func (ins *Instance) Init() 中調用解釋器即可
  6. 在配置文件目錄conf下建立inputs.http_response文件夾,在inputs.http_response文件夾下增加http_response.toml
  7. http_response.toml中增加需要的配置,如

    #collect interval
     interval = 60

    [[instances]]
    targets = [
    "//localhost",
    "//localhost:8080/metrics1",
    "//localhost:8088/metrics2"
    ]

     

    #append some labels for series
     labels = { device_type="vm"}

  8. 在代理注冊agent文件下的metrics_agent.go中導入自定義插件的路徑,如_ "flashcat.cloud/categraf/inputs/http_response"

  9. 調試插件:可以將不啟用插件的conf下的配置文件刪除或重命名,或將agent下的注冊插件注釋即可
     

Categraf的官方代碼托管在兩個地方:

- github://github.com/flashcatcloud/categraf
- gitlink://www.gitlink.org.cn/flashcat/categraf

0條評論
0 / 1000
任****佳
1文章數
0粉絲數
任****佳
1 文章 | 0 粉絲
任****佳
1文章數
0粉絲數
任****佳
1 文章 | 0 粉絲
原創

手把手教你編寫自定義Categraf插件

2023-05-29 07:05:11
401
0

Categraf 是一個監控采集 Agent,類似 Telegraf、Grafana-Agent、Datadog-Agent,希望對所有常見監控對象提供監控數據采集能力,采用 All-in-one 的設計,不但支持指標采集,也希望支持日志和調用鏈路的數據采集。相比于其他采集器,Categraf 的優勢在于:支持 remote_write 寫入協議,支持將數據寫入 promethues、M3DB、VictoriaMetrics、InfluxDB;指標數據只采集數值,不采集字符串,標簽維持穩態結構;采用 all-in-one 的設計,所有的采集工作用一個 agent搞定;未來也可以把日志和 trace 的采集納入 agent;純 Go 代碼編寫,靜態編譯依賴少,容易分發,易于安裝。

教你編寫自定義Categraf插件:

下面以自定義http_response插件為例;

http_response插件作用:解析http響應,該響應可以是獲取的監控數據,再將響應寫入指定的監控數據庫,如promethues、VictoriaMetrics、InfluxDB等;

http_response插件編寫思路:

  1. 拉取官方代碼倉庫項目,在插件目錄input文件夾下建http_response文件夾,在http_response文件夾下建立http_response.go
  2. http_response.go以任意一個官方已有插件go文件為模板粘貼,此處以tomcat插件為例,先將涉及插件名稱的地方改為http_response
  3. 在解釋器目錄parser文件夾下httpresponse文件夾,在httpresponse文件夾下建立parser.go
  4. parser.go中解析的http響應數據的方法,并調用SampleList類的PushSample或PushSamples方法推送監控數據
  5. 在http_response.go中將初始化方法func (ins *Instance) Init() 中調用解釋器即可
  6. 在配置文件目錄conf下建立inputs.http_response文件夾,在inputs.http_response文件夾下增加http_response.toml
  7. http_response.toml中增加需要的配置,如

    #collect interval
     interval = 60

    [[instances]]
    targets = [
    "//localhost",
    "//localhost:8080/metrics1",
    "//localhost:8088/metrics2"
    ]

     

    #append some labels for series
     labels = { device_type="vm"}

  8. 在代理注冊agent文件下的metrics_agent.go中導入自定義插件的路徑,如_ "flashcat.cloud/categraf/inputs/http_response"

  9. 調試插件:可以將不啟用插件的conf下的配置文件刪除或重命名,或將agent下的注冊插件注釋即可
     

Categraf的官方代碼托管在兩個地方:

- github://github.com/flashcatcloud/categraf
- gitlink://www.gitlink.org.cn/flashcat/categraf

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0