Commit a1656626 authored by Your Name's avatar Your Name

update to monitor-smi:v.0.0.8

parent 118c7d13
......@@ -2,7 +2,7 @@ version: "3.9"
services:
monitorSmi:
image: docker.ai.17xuexi.com/monitorapi/monitor-smi:v.0.0.7
image: docker.ai.17xuexi.com/monitorapi/monitor-smi:v.0.0.8
network_mode: host
volumes:
- /proc:/host/proc:ro
......
FROM ubuntu
RUN apt update
RUN apt install -y supervisor
RUN mkdir -p /var/log/supervisor
COPY supervisord-smi.conf /etc/supervisor/conf.d/supervisord.conf
COPY gpuhw-smi /usr/bin/
ENTRYPOINT ["/usr/bin/gpuhw-smi"]
COPY ./test/node_exporter /usr/local/bin/node_exporter
COPY ./test/prometheus /usr/local/bin/prometheus
COPY ./prometheus.yml /prometheus/prometheus.yml
# ENTRYPOINT ["/usr/bin/gpuhw-smi"]
ENTRYPOINT ["/usr/bin/supervisord"]
\ No newline at end of file
No preview for this file type
......@@ -20,7 +20,6 @@ func DCGM() {
fmt.Println("connect to prometh addr-----------", *promethAddr)
//cli, err := NewProCli("http://192.168.1.21:9090")
cli, err := NewProCli(*promethAddr)
if err != nil {
......
package main
import (
"flag"
"fmt"
"log"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cors"
"github.com/gofiber/swagger"
)
func SmiExporter() {
// Initialize a new Fiber app
app := fiber.New()
app.Use(cors.New())
promethAddr := flag.String("promethaddr", "http://127.0.0.1:9090", "a string parameter")
flag.Parse()
fmt.Println("connect to prometh addr-----------", *promethAddr)
//cli, err := NewProCli("http://192.168.1.21:9090")
cli, err := NewProCli(*promethAddr)
if err != nil {
fmt.Println(err.Error())
return
}
app.Static("/swagger/docs", "./docs")
app.Get("/swagger/*", swagger.New(swagger.Config{ // custom
URL: "http://124.193.167.71:5000/swagger/docs/swagger.yaml", //http://124.193.167.71:8000/
DeepLinking: false,
// Expand ("list") or Collapse ("none") tag groups by default
DocExpansion: "none",
// Prefill OAuth ClientId on Authorize popup
// OAuth: &swagger.OAuthConfig{
// AppName: "OAuth Provider",
// ClientId: "21bb4edc-05a7-4afc-86f1-2e151e4ba6e2",
// },
// Ability to change OAuth2 redirect uri location
//OAuth2RedirectUrl: "http://localhost:8080/swagger/oauth2-redirect.html",
}))
app.Get("/hw", func(c *fiber.Ctx) error {
res := NewResponse{}
gpus, err := GpusSmi()
if err != nil {
fmt.Println("gpu error", err.Error())
res.Msg = err.Error()
res.Code = 500
return c.JSON(&res)
}
res.Data.Gpus = gpus
cpus, err := cli.Cpus()
if err != nil {
fmt.Println("cpu error", err.Error())
res.Msg = err.Error()
res.Code = 500
return c.JSON(&res)
}
res.Data.Cpus = cpus
networks, err := cli.NetworksWithFilter()
if err != nil {
fmt.Println("network error", err.Error())
res.Msg = err.Error()
res.Code = 500
return c.JSON(&res)
}
res.Data.Networks = networks
filesystems, err := cli.DisksWithFilter()
if err != nil {
fmt.Println("disks error", err.Error())
res.Msg = err.Error()
res.Code = 500
return c.JSON(&res)
}
res.Data.Disk = filesystems
mem, err := cli.Mem()
if err != nil {
fmt.Println("mem error", err.Error())
res.Msg = err.Error()
res.Code = 500
return c.JSON(&res)
}
res.Data.Mem = mem
res.Code = 200
return c.JSON(&res)
})
// Start the server on port 3000
log.Fatal(app.Listen(":4000"))
}
......@@ -10,7 +10,7 @@ import (
"github.com/gofiber/swagger"
)
func Smi() {
func SmiGopsutil() {
// Initialize a new Fiber app
app := fiber.New()
app.Use(cors.New())
......@@ -45,8 +45,8 @@ func Smi() {
res.Data.Gpus = gpus
res.Code = 200
return c.JSON(&res)
// res.Code = 200
// return c.JSON(&res)
cpus, err := CpuSmi()
......@@ -81,7 +81,7 @@ func Smi() {
res.Data.Disk = filesystems
mem, err := memSmi()
mem, err := MemSmi()
if err != nil {
fmt.Println("mem error", err.Error())
......
......@@ -2,5 +2,7 @@ package main
func main() {
//DCGM()
Smi()
//SmiGopsutil()
SmiExporter()
}
......@@ -5,7 +5,7 @@ import (
// "github.com/shirou/gopsutil/mem" // to use v2
)
func memSmi() (Mem, error) {
func MemSmi() (Mem, error) {
v, err := mem.VirtualMemory()
if err != nil {
......
[supervisord]
nodaemon=true
logfile=/dev/null
logfile_maxbytes=0
[program:node_exporter]
command=sh -c '/usr/local/bin/node_exporter --path.procfs=/host/proc --path.rootfs=/rootfs --path.sysfs=/host/sys --collector.cpu.info'
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
[program:prometheus]
command=sh -c '/usr/local/bin/prometheus --config.file=/prometheus/prometheus.yml'
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
[program:gpuhw-smi]
command=sh -c 'usr/bin/gpuhw-smi'
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment