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" ...@@ -2,7 +2,7 @@ version: "3.9"
services: services:
monitorSmi: 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 network_mode: host
volumes: volumes:
- /proc:/host/proc:ro - /proc:/host/proc:ro
......
FROM ubuntu 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/ 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() { ...@@ -20,7 +20,6 @@ func DCGM() {
fmt.Println("connect to prometh addr-----------", *promethAddr) fmt.Println("connect to prometh addr-----------", *promethAddr)
//cli, err := NewProCli("http://192.168.1.21:9090") //cli, err := NewProCli("http://192.168.1.21:9090")
cli, err := NewProCli(*promethAddr) cli, err := NewProCli(*promethAddr)
if err != nil { 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 ( ...@@ -10,7 +10,7 @@ import (
"github.com/gofiber/swagger" "github.com/gofiber/swagger"
) )
func Smi() { func SmiGopsutil() {
// Initialize a new Fiber app // Initialize a new Fiber app
app := fiber.New() app := fiber.New()
app.Use(cors.New()) app.Use(cors.New())
...@@ -45,8 +45,8 @@ func Smi() { ...@@ -45,8 +45,8 @@ func Smi() {
res.Data.Gpus = gpus res.Data.Gpus = gpus
res.Code = 200 // res.Code = 200
return c.JSON(&res) // return c.JSON(&res)
cpus, err := CpuSmi() cpus, err := CpuSmi()
...@@ -81,7 +81,7 @@ func Smi() { ...@@ -81,7 +81,7 @@ func Smi() {
res.Data.Disk = filesystems res.Data.Disk = filesystems
mem, err := memSmi() mem, err := MemSmi()
if err != nil { if err != nil {
fmt.Println("mem error", err.Error()) fmt.Println("mem error", err.Error())
......
...@@ -2,5 +2,7 @@ package main ...@@ -2,5 +2,7 @@ package main
func main() { func main() {
//DCGM() //DCGM()
Smi() //SmiGopsutil()
SmiExporter()
} }
...@@ -5,7 +5,7 @@ import ( ...@@ -5,7 +5,7 @@ import (
// "github.com/shirou/gopsutil/mem" // to use v2 // "github.com/shirou/gopsutil/mem" // to use v2
) )
func memSmi() (Mem, error) { func MemSmi() (Mem, error) {
v, err := mem.VirtualMemory() v, err := mem.VirtualMemory()
if err != nil { 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