[英]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.