Plugin可以看做是對agent功能的擴充。對於業務系統的監控指標采集,最好不要做成plugin,而是把采集腳本放到業務程序發布包中,隨着業務代碼上線而上線,隨着業務代碼升級而升級,這樣會比較容易管理。
1. 編寫采集腳本
用什么語言寫沒關系,只要目標機器上有運行環境就行,腳本本身要有可執行權限。采集到數據之后直接打印到stdout即可,agent會截獲並push給server。數據格式是json。
2. 上傳腳本到git
3. 檢查agent配置:修改plugin的配置
4. 拉取plugin腳本
注意插件目錄plugin是和agent同目錄,如果agent相同目錄已經存在plugin目錄,第一次拉取會失敗
5. 讓plugin run起來
哪些機器執行哪些plugin腳本,是在portal上面配置的
6. 補充
portal上配置完成之后並不會立馬生效,有個同步的過程,最終是agent通過調用hbs的接口獲取的,需要一兩分鍾。上例我們綁定了sys/ntp,這實際是個目錄,這個目錄下的所有插件都會被執行,那什么樣的文件會被看做插件呢?文件名是數字下划線打頭的~這個數字代表的是step,即多長時間跑一次,單位是秒,比如60_a.py,就是在通過命名告訴agent,這個插件每60秒跑一次。sys/ntp目錄下的子目錄、其他命名方式的文件都會被忽略。
7、自己可以直接把監控信息push給agent,然后agent會發給server的transefer
push
到接口:http://127.0.0.1:1988/v1/push
, http method
為post
參考:
1、https://book.open-falcon.org/zh_0_2/philosophy/plugin.html
2、jvm監控等參考:https://book.open-falcon.org/zh_0_2/usage/jmx.html
3、http://zhxfei.com/2017/09/08/falcon_scripts/