二.cmdb之資源資訊收集及echarts展示
阿新 • • 發佈:2020-08-02
一.系統cpu和mem獲取:
(python36env) [vagrant@CentOS cmdb]$ ansible all -m setup -i etc/hosts 用結果ansible中setup模組如下圖中資料,圖中可看出
記憶體資料像free命令的結果。但是可以發現setup模組中cpu資料少,所以記憶體我就用setup模組,而cpu我自己做
cpu,記憶體監控: (1)收集: 主動 開發agent--大量叢集適用 被動 ansible--頻次高適用 被動方式:每分鐘採集所有(少量)主機的cpu 記憶體使用率 (2)展示: echarts圖表 自己寫指令碼:獲取cpu, 記憶體使用率 獲取資訊: top命令 free命令 vmstat 讀檔案/proc/meminfo /proc/stats python 3rd api使用: psutil
python如何呼叫系統命令,並且獲取結果:
top
ansible
copy
command
(python36env) [vagrant@CentOS cmdb]$ python >>> import os >>> os.system >>> os.popen >>> os.system('top -n 1') 它會有如上圖中輸出到控制檯
>>> os.popen('top -n 1')<os._wrap_close object at 0x7fcafe52e278>
>>> fh = os.popen('top -n 1')
>>> fh.readlines()
>>>lines = fh.readlines()
>>>lines[2]
'%Cpu(s):\x1b[m\x0f\x1b[1m 10,3 \x1b[......
1
2
3