1. 程式人生 > 實用技巧 >二.cmdb之資源資訊收集及echarts展示

二.cmdb之資源資訊收集及echarts展示

一.系統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