NjmonLinuxStatDetails

Linux stats description

  • This page is a work in progress
  • Around 250 stats
  • Need to add process stats and Fibre Channel

"timestamp"

  • string("datetime",buffer
  • string("UTC",buffer
  • long("snapshot_seconds",seconds
  • long("snapshot_maxloops",maxloops
  • long("snapshot_loop",loop

"gpfs_io_total"

  • string("node",ip
  • string("name",nn
  • long("rc",gpfs_io_curr.rc /* status */
  • long("time",gpfs_io_curr.t /* epoc seconds */
  • long("tu",DELTA_GPFS(tu)
  • long("readbytes", DELTA_GPFS(br)
  • long("writebytes", DELTA_GPFS(bw)
  • long("open", DELTA_GPFS(oc)
  • long("close", DELTA_GPFS(cc)
  • long("reads", DELTA_GPFS(rdc)
  • long("writes", DELTA_GPFS(wc)
  • long("directorylookup",DELTA_GPFS(dir)
  • long("inodeupdate", DELTA_GPFS(iu)

"gpfs_filesystems"

  • string("node",ip
  • string("name",nn
  • long("rc",gpfs_fs_curr[i].rc /* status */
  • long("time",gpfs_fs_curr[i].t /* epoc seconds */
  • long("tu",DELTA_GPFSFS(tu)
  • string("cl",gpfs_fs_curr[i].cl
  • long("disks",gpfs_fs_curr[i].d
  • long("readbytes", DELTA_GPFSFS(br)
  • long("writebytes", DELTA_GPFSFS(bw)
  • long("open", DELTA_GPFSFS(oc)
  • long("close", DELTA_GPFSFS(cc)
  • long("reads", DELTA_GPFSFS(rdc)
  • long("writes", DELTA_GPFSFS(wc)
  • long("directorylookup",DELTA_GPFSFS(dir)
  • long("inodeupdate", DELTA_GPFSFS(iu)

"ppc64_lparcfg"

  • POWER systems only
  • from /proc/ppc64/lparcfg
  • lparcfg 1.9
  • serial_number=IBM,067804930
  • system_type=IBM,9009-42A
  • partition_id=3
  • BoundThrds=1
  • CapInc=1
  • DisWheRotPer=5120000
  • MinEntCap=10
  • MinEntCapPerVP=5
  • MinMem=1024
  • MinProcs=1
  • partition_max_entitled_capacity=200
  • system_potential_processors=16
  • DesEntCap=100
  • DesMem=8192
  • DesProcs=1
  • DesVarCapWt=128
  • DedDonMode=0
  • CapiLicensed=0
  • ServicePartition=0
  • NumLpars=7
  • partition_entitled_capacity=100
  • group=32771
  • system_active_processors=16
  • pool=0
  • pool_capacity=1600
  • pool_idle_time=12023362941776105
  • pool_num_procs=16
  • unallocated_capacity_weight=0
  • capacity_weight=128
  • capped=0
  • unallocated_capacity=0
  • physical_procs_allocated_to_virtualization=16
  • max_proc_capacity_available=1600
  • entitled_proc_capacity_available=700
  • entitled_memory=8589934592
  • entitled_memory_group_number=32771
  • entitled_memory_pool_number=65535
  • entitled_memory_weight=0
  • unallocated_entitled_memory_weight=0
  • unallocated_io_mapping_entitlement=0
  • entitled_memory_loan_request=0
  • backing_memory=8589934592 bytes
  • cmo_enabled=0
  • dispatches=76498930
  • dispatch_dispersions=1552966
  • purr=445330657216
  • partition_active_processors=1
  • partition_potential_processors=2
  • shared_processor_mode=1
  • slb_size=32
  • power_mode_data=0001000000010001

"stat" cpu_total

  • double("user", DELTA_TOTAL(user) /* incrementing counter */
  • double("nice", DELTA_TOTAL(nice) /* incrementing counter */
  • double("sys", DELTA_TOTAL(sys)/* incrementing counter */
  • double("idle", DELTA_TOTAL(idle) /* incrementing counter */

/*pdouble("DEBUG IDLE idle: lld %lld\n", total_cpu.idle, idle, idle-total_cpu.idle */

  • double("iowait", DELTA_TOTAL(iowait) /* incrementing counter */
  • double("hardirq", DELTA_TOTAL(hardirq) /* incrementing counter */
  • double("softirq", DELTA_TOTAL(softirq) /* incrementing counter */
  • double("steal", DELTA_TOTAL(steal) /* incrementing counter */
  • double("guest", DELTA_TOTAL(guest) /* incrementing counter */
  • double("guestnice",DELTA_TOTAL(guestnice) /* incrementing counter */

then for each CPU in detail

  • double("user", DELTA_LOGICAL(user) /* counter */
  • double("nice", DELTA_LOGICAL(nice) /* counter */
  • double("sys", DELTA_LOGICAL(sys)/* counter */
  • double("idle", DELTA_LOGICAL(idle) /* counter */

/*pdouble("DEBUG IDLE idle: lld %lld\n", logical_cpu[cpuno].idle, idle, idle-logical_cpu[cpuno].idle */

  • double("iowait", DELTA_LOGICAL(iowait) /* counter */
  • double("hardirq", DELTA_LOGICAL(hardirq) /* counter */
  • double("softirq", DELTA_LOGICAL(softirq) /* counter */
  • double("steal", DELTA_LOGICAL(steal) /* counter */
  • double("guest", DELTA_LOGICAL(guest) /* counter */
  • double("guestnice",DELTA_LOGICAL(guestnice) /* counter */
  • double("ctxt",((double)(value - old_ctxt)/elapsed)
  • long("btime",value
  • double("processes_forks",((double)(value - old_processes)/elapsed)
  • long("procs_running",value
  • long("procs_blocked",value

"disk"

  • double("reads", (current.dk_reads - previous[i].dk_reads) / elapsed
  • double("rmerge", (current.dk_rmerge - previous[i].dk_rmerge) / elapsed
  • double("rkb", (current.dk_rkb - previous[i].dk_rkb) / elapsed
  • double("rmsec", (current.dk_rmsec - previous[i].dk_rmsec) / elapsed
  • double("writes", (current.dk_writes - previous[i].dk_writes) / elapsed
  • double("wmerge", (current.dk_wmerge - previous[i].dk_wmerge) / elapsed
  • double("wkb", (current.dk_wkb - previous[i].dk_wkb) / elapsed
  • double("wmsec", (current.dk_wmsec - previous[i].dk_wmsec) / elapsed
  • long("inflight", current.dk_inflight
  • double("time", (current.dk_time - previous[i].dk_time) / elapsed
  • double("backlog", (current.dk_backlog - previous[i].dk_backlog) / elapsed
  • double("xfers", (current.dk_xfers - previous[i].dk_xfers) / elapsed
  • long("bsize", current.dk_bsize

"networks"

  • double("ibytes", (current.if_ibytes - previous[i].if_ibytes) / elapsed
  • double("ipackets",(current.if_ipackets - previous[i].if_ipackets) / elapsed
  • double("ierrs", (current.if_ierrs - previous[i].if_ierrs) / elapsed
  • double("idrop", (current.if_idrop - previous[i].if_idrop) / elapsed
  • double("ififo", (current.if_ififo - previous[i].if_ififo) / elapsed
  • double("iframe", (current.if_iframe - previous[i].if_iframe) / elapsed
  • double("obytes", (current.if_obytes - previous[i].if_obytes) / elapsed
  • double("opackets",(current.if_opackets - previous[i].if_opackets) / elapsed
  • double("oerrs", (current.if_oerrs - previous[i].if_oerrs) / elapsed
  • double("odrop", (current.if_odrop - previous[i].if_odrop) / elapsed
  • double("ofifo", (current.if_ofifo - previous[i].if_ofifo) / elapsed
  • double("ocolls", (current.if_ocolls - previous[i].if_ocolls) / elapsed
  • double("ocarrier",(current.if_ocarrier - previous[i].if_ocarrier) / elapsed

"os_release"

  • string("name",&buf[strlen("NAME=")+1]
  • string("version",&buf[strlen("VERSION=")+1]
  • string("pretty_name",&buf[strlen("PRETTY_NAME=")+1]
  • string("version_id",&buf[strlen("VERSION_ID=")+1]

"proc_version"

  • Stats from /proc/version
  • string("version"

"lscpu"

  • string("architecture",&buf[data_col]
  • string("byte_order",&buf[data_col]
  • string("cpus",&buf[data_col]
  • string("online_cpu_list",&buf[data_col]
  • string("online_cpu_list",&buf[data_col]
  • string("model",&buf[data_col]
  • string("model_name",&buf[data_col]
  • string("threads_per_core",&buf[data_col]
  • string("cores_per_socket",&buf[data_col]
  • string("sockets",&buf[data_col]
  • string("numa_nodes",&buf[data_col]
  • string("cpu_mhz",&buf[data_col]
  • string("cpu_max_mhz",&buf[data_col]
  • string("cpu_min_mhz",&buf[data_col]
  • string("bogomips",&buf[data_col]
  • string("vendor_id",&buf[data_col]
  • string("cpu_family",&buf[data_col]
  • string("stepping",&buf[data_col]

"proc_uptime"

  • Stats from /proc/uptime
  • long("total_seconds",value
  • long("days",days
  • long("hours",hours

"filesystems" ^ Stats via System Calls setmntent() and getmntent()

  • string("fs_dir", fs->mnt_dir
  • string("fs_type", fs->mnt_type
  • string("fs_opts", fs->mnt_opts
  • long("fs_freqs", fs->mnt_freq
  • long("fs_passno", fs->mnt_passno
  • long("fs_bsize", vfs.f_bsize
  • long("fs_size_mb", (vfs.f_blocks * vfs.f_bsize) / 1024 / 1024
  • long("fs_free_mb", (vfs.f_bfree * vfs.f_bsize) / 1024 / 1024
  • long("fs_used_mb", (vfs.f_blocks * vfs.f_bsize) / 1024 / 1024 - (vfs.f_bfree * vfs.f_bsize) / 1024 / 1024
  • double("fs_full_percent", ((vfs.f_blocks * vfs.f_bsize) - (vfs.f_bfree * vfs.f_bsize) ) /
  • long("fs_avail", (vfs.f_bavail * vfs.f_bsize) / 1024 / 1024
  • long("fs_files", vfs.f_files
  • long("fs_files_free", vfs.f_ffree
  • long("fs_namelength", vfs.f_namelen

"cpuinfo"

  • States from "/proc/cpuinfo
  • double("mhz_clock",value
  • string("vendor_id",&buf[12]
  • double("cpu_mhz",value
  • double("cache_size",value
  • long("physical_id",int_val
  • long("siblings",int_val
  • long("core_id",int_val
  • long("cpu_cores",int_val
  • string("model_name",&buf[13]

"cpuinfo_power"

  • string("timebase",&buf[11]
  • long("power_timebase",power_timebase
  • string("platform",&buf[11]
  • string("model",&buf[9]
  • string("machine",&buf[11]
  • string("firmware",&buf[11]
  • string(name,buf

"identity"

  • string("hostname", hostname
  • string("shorthostname", shorthostname
  • string(label, p->ai_canonname
  • string(label,str
  • string(label,str
  • string("njmon_command", command
  • string("njmon_version", version
  • string("username", pw->pw_name
  • long("userid", uid
  • string("username","unknown"