好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

提取xml属性导入Mysql

xml.dom.minidom as minidom import MySQLdb dom = minidom.parse( " 1.xml " ) root = dom.getElementsByTagName( " GANGLIA_XML " ) conn =MySQLdb.connect(host= ‘ localhost ‘ ,user= ‘ root ‘ ,passwd= ‘ 123 ‘ ,port=3306 ) cur = conn.cursor() conn.select_db( ‘ ganglia ‘ ) for node in root: gangliaxml = node.getElementsByTagName( " CLUSTER " ) for cluster in gangliaxml: host = cluster.getElementsByTagName( " HOST " ) for metric in host: # print(metric.getAttribute("NAME")) for metrics in metric.getElementsByTagName( " METRIC " ): value =[metrics.attributes[ " NAME " ].value, metrics.attributes[ " VAL " ].value, metrics.attributes[ " TYPE " ].value, metrics.attributes[ " UNITS " ].value, metrics.attributes[ " TN " ].value, metrics.attributes[ " TMAX " ].value, metrics.attributes[ " DMAX " ].value, metrics.attributes[ " SLOPE " ].value,] cur.execute( ‘ insert into class values(%s,%s,%s,%s,%s,%s,%s,%s) ‘ ,value) conn测试数据mit() cur.close() conn.close()

xml文档是:

 <  GANGLIA_XML   VERSION  ="3.6.1"   SOURCE  ="gmond"  > 
 <  CLUSTER   NAME  ="sg620g"   LOCALTIME  ="1430118086"   OWNER  ="unspecified"   LATLONG  ="unspecified"   URL  ="unspecified"  > 
 <  HOST   NAME  ="172.19.0.181"   IP  ="172.19.0.181"   TAGS  =""   REPORTED  ="1430111045"   TN  ="7040"   TMAX  ="20"   DMAX  ="0"   LOCATION  ="unspecified"   GMOND_STARTED  ="1430111145"  > 
 <  METRIC   NAME  ="load_one"   VAL  ="0.00"   TYPE  ="float"   UNITS  =" "   TN  ="7043"   TMAX  ="70"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="load"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="One minute load average"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="One Minute Load Average"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="os_release"   VAL  ="2.6.32-504.12.2.el6.x86_64"   TYPE  ="string"   UNITS  =""   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="system"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Operating system release date"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Operating System Release"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="mem_total"   VAL  ="16314120"   TYPE  ="float"   UNITS  ="KB"   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Total amount of memory displayed in KBs"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Memory Total"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="proc_run"   VAL  ="0"   TYPE  ="uint32"   UNITS  =" "   TN  ="7043"   TMAX  ="950"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="process"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Total number of running processes"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Total Running Processes"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="load_five"   VAL  ="0.00"   TYPE  ="float"   UNITS  =" "   TN  ="7043"   TMAX  ="325"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="load"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Five minute load average"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Five Minute Load Average"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="gexec"   VAL  ="OFF"   TYPE  ="string"   UNITS  =""   TN  ="7043"   TMAX  ="300"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="core"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="gexec available"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Gexec Status"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="disk_free"   VAL  ="386.370"   TYPE  ="double"   UNITS  ="GB"   TN  ="7043"   TMAX  ="180"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="disk"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Total free disk space"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Disk Space Available"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="mem_cached"   VAL  ="1929396"   TYPE  ="float"   UNITS  ="KB"   TN  ="7043"   TMAX  ="180"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Amount of cached memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Cached Memory"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="pkts_in"   VAL  ="0.00"   TYPE  ="float"   UNITS  ="packets/sec"   TN  ="7043"   TMAX  ="300"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="network"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Packets in per second"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Packets Received"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="bytes_in"   VAL  ="0.20"   TYPE  ="float"   UNITS  ="bytes/sec"   TN  ="7043"   TMAX  ="300"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="network"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Number of bytes in per second"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Bytes Received"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="swap_total"   VAL  ="4095996"   TYPE  ="float"   UNITS  ="KB"   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Total amount of swap space displayed in KBs"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Swap Space Total"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="bytes_out"   VAL  ="0.72"   TYPE  ="float"   UNITS  ="bytes/sec"   TN  ="7043"   TMAX  ="300"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="network"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Number of bytes out per second"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Bytes Sent"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="mem_free"   VAL  ="13793820"   TYPE  ="float"   UNITS  ="KB"   TN  ="7043"   TMAX  ="180"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Amount of available memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Free Memory"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="load_fifteen"   VAL  ="0.00"   TYPE  ="float"   UNITS  =" "   TN  ="7043"   TMAX  ="950"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="load"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Fifteen minute load average"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Fifteen Minute Load Average"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="os_name"   VAL  ="Linux"   TYPE  ="string"   UNITS  =""   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="system"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Operating system name"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Operating System"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="boottime"   VAL  ="1429665572"   TYPE  ="uint32"   UNITS  ="s"   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="system"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="The last time that the system was started"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Last Boot Time"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_idle"   VAL  ="100.0"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="90"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="cpu"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="CPU Idle"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_user"   VAL  ="0.0"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="90"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="cpu"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Percentage of CPU utilization that occurred while executing at the user level"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="CPU User"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_nice"   VAL  ="0.0"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="90"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="cpu"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Percentage of CPU utilization that occurred while executing at the user level with nice priority"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="CPU Nice"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_aidle"   VAL  ="0.0"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="3800"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="cpu"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Percent of time since boot idle CPU"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="CPU aidle"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="mem_buffers"   VAL  ="135208"   TYPE  ="float"   UNITS  ="KB"   TN  ="7043"   TMAX  ="180"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Amount of buffered memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Memory Buffers"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="part_max_used"   VAL  ="36.9"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="180"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="disk"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Maximum percent used for all partitions"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Maximum Disk Space Used"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_system"   VAL  ="0.0"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="90"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="cpu"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Percentage of CPU utilization that occurred while executing at the system level"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="CPU System"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="disk_total"   VAL  ="412.914"   TYPE  ="double"   UNITS  ="GB"   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="disk"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Total available disk space"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Total Disk Space"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="mem_shared"   VAL  ="0"   TYPE  ="float"   UNITS  ="KB"   TN  ="7043"   TMAX  ="180"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Amount of shared memory"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Shared Memory"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="machine_type"   VAL  ="x86_64"   TYPE  ="string"   UNITS  =""   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE  ="zero"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="system"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="System architecture"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="Machine Type"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_wio"   VAL  ="0.0"   TYPE  ="float"   UNITS  ="%"   TN  ="7043"   TMAX  ="90"   DMAX  ="0"   SLOPE  ="both"  > 
 <  EXTRA_DATA  > 
 <  EXTRA_ELEMENT   NAME  ="GROUP"   VAL  ="cpu"  /> 
 <  EXTRA_ELEMENT   NAME  ="DESC"   VAL  ="Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request"  /> 
 <  EXTRA_ELEMENT   NAME  ="TITLE"   VAL  ="CPU wio"  /> 
 </  EXTRA_DATA  > 
 </  METRIC  > 
 <  METRIC   NAME  ="cpu_num"   VAL  ="16"   TYPE  ="uint16"   UNITS  ="CPUs"   TN  ="7043"   TMAX  ="1200"   DMAX  ="0"   SLOPE查看更多关于提取xml属性导入Mysql的详细内容...

  阅读:29次