Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gpuhw
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Odysseus
gpuhw
Commits
a1656626
Commit
a1656626
authored
May 31, 2024
by
Your Name
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update to monitor-smi:v.0.0.8
parent
118c7d13
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
164 additions
and
9 deletions
+164
-9
docker-compose-smi.yml
docker-compose-smi.yml
+1
-1
dockerfile-smi
dockerfile-smi
+14
-1
gpuhw-smi
gpuhw-smi
+0
-0
main-dcgm.go
main-dcgm.go
+0
-1
main-smi-exporter.go
main-smi-exporter.go
+113
-0
main-smi.go
main-smi.go
+4
-4
main.go
main.go
+3
-1
mem-smi.go
mem-smi.go
+1
-1
supervisord-smi.conf
supervisord-smi.conf
+28
-0
No files found.
docker-compose-smi.yml
View file @
a1656626
...
@@ -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
...
...
dockerfile-smi
View file @
a1656626
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
gpuhw-smi
View file @
a1656626
No preview for this file type
main-dcgm.go
View file @
a1656626
...
@@ -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
{
...
...
main-smi-exporter.go
0 → 100644
View file @
a1656626
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"
))
}
main-smi.go
View file @
a1656626
...
@@ -10,7 +10,7 @@ import (
...
@@ -10,7 +10,7 @@ import (
"github.com/gofiber/swagger"
"github.com/gofiber/swagger"
)
)
func
Smi
()
{
func
Smi
Gopsutil
()
{
// 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
:=
m
emSmi
()
mem
,
err
:=
M
emSmi
()
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Println
(
"mem error"
,
err
.
Error
())
fmt
.
Println
(
"mem error"
,
err
.
Error
())
...
...
main.go
View file @
a1656626
...
@@ -2,5 +2,7 @@ package main
...
@@ -2,5 +2,7 @@ package main
func
main
()
{
func
main
()
{
//DCGM()
//DCGM()
Smi
()
//SmiGopsutil()
SmiExporter
()
}
}
mem-smi.go
View file @
a1656626
...
@@ -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
m
emSmi
()
(
Mem
,
error
)
{
func
M
emSmi
()
(
Mem
,
error
)
{
v
,
err
:=
mem
.
VirtualMemory
()
v
,
err
:=
mem
.
VirtualMemory
()
if
err
!=
nil
{
if
err
!=
nil
{
...
...
supervisord-smi.conf
0 → 100644
View file @
a1656626
[
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment