def __update__(self): """ Update the stats """ # Get informations from libstatgrab and others... self.host = statgrab.sg_get_host_info() # TODO: platform.platform(True) instead of statgrab.sg_get_host_info() self.system = statgrab.sg_get_host_info() self.cpu = statgrab.sg_get_cpu_percents() self.load = statgrab.sg_get_load_stats() self.mem = statgrab.sg_get_mem_stats() self.memswap = statgrab.sg_get_swap_stats() self.networkinterface = statgrab.sg_get_network_iface_stats() self.network = statgrab.sg_get_network_io_stats_diff() self.diskio = statgrab.sg_get_disk_io_stats_diff() # Replace the bugged self.fs = statgrab.sg_get_fs_stats() self.fs = self.glancesgrabfs.get() self.processcount = statgrab.sg_get_process_count() self.process = statgrab.sg_get_process_stats() self.now = datetime.datetime.now() # Get the number of core (CPU) # Used to display load alerts self.core_number = multiprocessing.cpu_count()
os_release : 3.2.0-2-amd64 ''' print "Memory (RAM)" res = stg.sg_get_mem_stats() for (k,v) in ast.literal_eval(str(res)).items(): print k, v / 1000000,"MB" ''' total 8372 MB cache 1769 MB used 4549 MB free 3822 MB ''' #This is exactly the same with swap, and user but not with cache attribute for iface in stg.sg_get_network_iface_stats(): print iface['interface_name']+":", "up" if iface["up"] == 1 else "down" ''' lo: up wlan0: up eth0: up ''' for iface in stg.sg_get_network_io_stats(): print iface['interface_name']+": Input:",iface['ipackets'] / 1000,'Kb\tOutput:',iface['opackets'] / 1000,"Kb" ''' lo: Input: 0 Kb Output: 0 Kb wlan0: Input: 794 Kb Output: 554 Kb eth0: Input: 0 Kb Output: 0 Kb '''
mem_total=mem['total'] / mb, mem_free=(mem['cache'] + mem['free']) / mb, mem_used=mem['used'] / mb) hs.save() ### FS data ### filesystems = statgrab.sg_get_fs_stats() for fs in filesystems: fs_stat = FilesystemStats( device=fs['device_name'], used_perc=str(float(fs['used']) / float(fs['size']) * 100.0), size=fs['size'] / mb, used=fs['used'] / mb, avail=fs['avail'] / mb, fs_type=fs['fs_type']) fs_stat.save() ### Network data ### statgrab.sg_get_network_io_stats() time.sleep(1) # Collect data over 1 second diff = statgrab.sg_get_network_io_stats_diff() netstats = statgrab.sg_get_network_iface_stats() for iface in diff: for netstat in netstats: if iface['interface_name'] == netstat['interface_name']: ns = NetworkStats(interface=iface['interface_name'], up=netstat['up'], tx=iface['tx'] / kb, rx=iface['rx'] / kb) ns.save() time.sleep(1)
kb = 1024 mb = kb * kb while True: ### Host data ### cpu = statgrab.sg_get_cpu_percents() load = statgrab.sg_get_load_stats() host = statgrab.sg_get_host_info() mem = statgrab.sg_get_mem_stats() hs = HostStats(hostname = host['hostname'], uptime = host['uptime'], arch = host['platform'], min1 = str(load['min1']), min5 = str(load['min5']), min15 = str(load['min15']), mem_total = mem['total'] / mb, mem_free = (mem['cache'] + mem['free']) / mb, mem_used = mem['used'] / mb) hs.save() ### FS data ### filesystems = statgrab.sg_get_fs_stats() for fs in filesystems: fs_stat = FilesystemStats(device = fs['device_name'], used_perc = str(float(fs['used']) / float(fs['size']) * 100.0), size = fs['size'] / mb, used = fs['used'] / mb, avail = fs['avail'] / mb, fs_type = fs['fs_type']) fs_stat.save() ### Network data ### statgrab.sg_get_network_io_stats() time.sleep(1) # Collect data over 1 second diff = statgrab.sg_get_network_io_stats_diff() netstats = statgrab.sg_get_network_iface_stats() for iface in diff: for netstat in netstats: if iface['interface_name'] == netstat['interface_name']: ns = NetworkStats(interface = iface['interface_name'], up = netstat['up'], tx = iface['tx'] / kb, rx = iface['rx'] / kb) ns.save() time.sleep(1)