簡體   English   中英

如何以編程方式從 rrd db 中刪除數據源?

[英]how to remove a data source from rrd db programatically?

我正在嘗試從 rrd 數據庫中刪除數據源。

我發現我可以做一些類似“rrdtool tune mydb.rrd DEL:source_name”的事情,它可以工作,但我想用 C/C++ 代碼來做。 我可以在 Linux 中使用系統 function,但我不喜歡開銷。

我查看了https://oss.oetiker.ch/rrdtool/doc/librrd.en.html看看是否有什么我可以使用的,但我沒有找到任何東西。

I also looked in the rrd source code from https://github.com/oetiker/rrdtool-1.x/tree/master/src and I found they call rrd_modify_r2() to remove sources, but this function is static, so it's未導出(相對於 rrdc_create_r2)

那么,如何從 C/C++ 代碼中刪除源代碼?

謝謝, 卡塔林

正如您所注意到的,您當然使用rrdtool tune filename.rrd DEL:ds-name執行此操作。

然而,librrd 中的 RRDTool C 綁定並不全面,並且似乎沒有公開此功能。 不知道為什么——修改功能顯然很有用——但它看起來就是這樣。

一種選擇是簡單地使用 fork/exec 調用外部 rrdtool 二進制文件,並傳遞適當的命令行。 這不是一個特別漂亮的方法,但更便攜並且與發布的界面兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM