首页 > 其他 > 详细

Go 采集系统信息和监控的服务(gopsutil)

时间:2021-01-22 17:05:42      阅读:25      评论:0      收藏:0      [点我收藏+]

安装

go get github.com/shirou/gopsutil

  

 

简单的代码示例

package main

import (
	"fmt"
	"github.com/shirou/gopsutil/cpu"
	"github.com/shirou/gopsutil/disk"
	host2 "github.com/shirou/gopsutil/host"
	"github.com/shirou/gopsutil/load"
	"github.com/shirou/gopsutil/mem"
	"time"
)

//采集CPU相关信息
func getCpuInfo(){
	cpuInfos ,err := cpu.Info()
	if err !=nil{
		panic(err)
	}
	for _,ci := range cpuInfos{
		fmt.Println(ci)
	}

	for{
		percent,_:= cpu.Percent(time.Second,false)
		fmt.Printf("cpu percent :%v\n",percent) //cpu使用率
	}
}

//获取CPU负载信息:
func getCpuLoad(){
	info,_:= load.Avg()
	fmt.Printf("load :%v\n",info)
}
//内存
func getMemInfo(){
	memInfo ,_ :=mem.VirtualMemory()
	fmt.Printf("mem info :%v\n",memInfo)
}

//Host
func getHostInfo()  {
	hinfo,_ := host2.Info()
	fmt.Printf("host info:%s uptime:%v boottime:%v\n",hinfo,hinfo.Uptime,hinfo.BootTime)
}

//Disk 信息
func getDiskInfo()  {
	parts,err := disk.Partitions(true)
	if err !=nil{
		panic(err)
	}
	for _,part := range parts{
		fmt.Printf("part:%v\n",part.String())
		diskInfo,_ := disk.Usage(part.Mountpoint)
		fmt.Printf("disk info:used :%v free:%v\n",diskInfo.UsedPercent,diskInfo.Free)
	}

	ioStat,_:= disk.IOCounters()
	for k,v:= range ioStat{
		fmt.Printf("%v,%v\n",k,v)
	}
}

func main() {
	//getCpuInfo() //获取cpu的信息
	//getCpuLoad() //获取cpu的负载信息
	//getMemInfo() // 获取内存信息
	//getHostInfo() //

	getDiskInfo() //硬盘信息
}

  

Go 采集系统信息和监控的服务(gopsutil)

原文:https://www.cnblogs.com/pebblecome/p/14312647.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!