#coding=utf-8"""通过saltstatck获取资产清单"""importsalt.clientasscfromshimportsaltimportjsonlocal=sc.LocalClient()tgt="*"grains=local.cmd(tgt,"grains.items")diskusage=local.cmd(tgt,"disk.usage")app_name=["tomcat","zookeeper","redis","fast","mongo","mysql","nginx","web","zabbix","log"]cols="Hostname,IP,Memory(GB),CPU Count,OS,/data volum(GB),Project,Application"ret_file=open("ret.csv","w")ret_file.write(cols+"\n")try:foriingrains.keys():"""print grains[i]["id"]print "ipv4" + ":" ,grains[i]["ipv4"]print "mem_total" + ":" , grains[i]["mem_total"] / 1024 + 1print "num_cpus" + ":" , grains[i]["num_cpus"]print "osfullname" + ":" , grains[i]["osfullname"]print "release" + ":" , grains[i]["lsb_distrib_release"]"""if"/data"notindiskusage[i]:print"diskusage"+":"+"have no /data disk"else:data_vol=int(diskusage[i]["/data"]["1K-blocks"])print"diskusage"+":",data_vol/1048576ipv4=str(grains[i]["ipv4"]).replace(", '127.0.0.1'","")hostname=grains[i]["nodename"]ipv4=str(grains[i]["ipv4"]).replace(", '127.0.0.1'","")ipv4=ipv4.replace(",","and")mem=grains[i]["mem_total"]/1024+1num_cpu=grains[i]["num_cpus"]OS=grains[i]["osfullname"]+grains[i]["lsb_distrib_release"]if"/data"notindiskusage[i]:disk_data="None"else:disk_data=data_vol/1048576project=""forjinapp_name:ifjinhostname.lower():printhostname.lower()app=jbreakelse:app="undefined"c=","line=hostname+c+ipv4+c+str(mem)+c+str(num_cpu)+c+str(OS)+c+str(disk_data)+c+project+c+appret_file.write(line+"\n")exceptException,e:print"Exception:\n",efinally:ret_file.close()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。