Go语言实现监控服务器磁盘使用率

package main
import (
	"fmt"
	"github.com/gin-gonic/gin" // 引入Gin框架
	"os/exec"
	"strings"
    "net/http"
)
func main() {
	// 创建Gin服务器
	r := gin.Default()
	r.GET("/", func(c *gin.Context) {
		// 获取磁盘使用率
		out, err := exec.Command("df", "-h").Output()
		if err != nil {
			c.String(http.StatusInternalServerError, "Error: %!!(MISSING)s(MISSING)", err) // 如果出错,输出错误信息
			return
		}
		// 解析输出
		lines := strings.Split(string(out), "\n")
		c.Writer.WriteString("") // 输出HTML页面头
		c.Writer.WriteString("

Disk Usage

") // 输出标题 c.Writer.WriteString("") // 输出表格 for _, line := range lines[1:] { fields := strings.Fields(line) if len(fields) == 0 { continue } // 输出磁盘使用率 c.Writer.WriteString(fmt.Sprintf("\n", fields[0], fields[4])) // 输出磁盘使用率 } c.Writer.WriteString("
%!!(MISSING)!(MISSING)s(MISSING)%!!(MISSING)!(MISSING)s(MISSING)
") // 结束表格 c.Writer.WriteString("") // 结束HTML页面 }) // 启动Gin服务器 r.Run(":8999") // 监听8080端口 }

你可能感兴趣的:(golang)