欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang通過node_exporter監(jiān)控GPU及cpu頻率、溫度的代碼

 更新時(shí)間:2022年05月09日 14:07:44   作者:爺來辣  
node_exporter這個(gè)開源組件是配合prometheus收集主機(jī)操作系統(tǒng)層的metrics的常用組件,但是官方?jīng)]有提供GPU卡的metrics的采集,今天通過本文給大家介紹golang通過node_exporter監(jiān)控GPU及cpu頻率、溫度的相關(guān)知識(shí),感興趣的朋友一起看看吧

導(dǎo)語:通過node_exporter監(jiān)控GPU以及cpu頻率、溫度,不想用一個(gè)node_exporter再加一個(gè)dcgm,分開監(jiān)控。我這里監(jiān)控的是熱區(qū)的溫度。如果需要監(jiān)控各個(gè)cpu核心的溫度需要修改一下代碼。

結(jié)合了https://gitee.com/kevinliu_CQ/node_exporter監(jiān)控GPU的代碼。

加入了cpu的2項(xiàng)自定義監(jiān)控https://gitee.com/jiaminxu/self_node_exporter

安裝一下go

wget https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz
tar -xvf go1.16.5.linux-amd64.tar.gz  
cp -r ./go /usr/local 
cd /usr/local/go/bin
cp -r * /usr/bin
mkdir -p $HOME/go
echo "export GOROOT=$HOME/go" >> /etc/profile 
echo "export GOPATH=$HOME/gopath" >> /etc/profile 
echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" >> /etc/profile 
echo "export env -w GO111MODULE=on" >> /etc/profile 
echo "export env -w GOPROXY=https://goproxy.io,direct" >> /etc/profile 
source /etc/profile
cd /srv/
git clone https://gitee.com/kevinliu_CQ/node_exporter.git
cd node_exporter/
# cp自己的go文件到collector/下
mkdir -p /usr/local/cuda/include
cp -p nvml.h /usr/local/cuda/include
export GOPROXY=https://goproxy.cn
go build

編譯完直接使用./node_exporter二進(jìn)制文件即可。

gitee中已經(jīng)編譯好了amd64的可執(zhí)行文件。

這個(gè)版本添加了Nvidia GPU信息的抓取,所以編譯的時(shí)候需要nvml.h 復(fù)制到/usr/local/cuda/include 目錄里面
1.  復(fù)制依賴
?```bash
mkdir -p /usr/local/cuda/include
cp -p nvml.h /usr/local/cuda/include
?```
2.  定義GOPROXY變量
?```bash
export GOPROXY=https://goproxy.cn
?```
3. 編譯項(xiàng)目
?```bash
cd /root/gitee_node_exporter
go build
如果報(bào)錯(cuò)kit相關(guān)需要替換"github.com/go-kit/log"為"github.com/go-kit/kit/log"
?```
4. 在如果一切正常在目錄中會(huì)生成node_exporter的可執(zhí)行二進(jìn)制文件
5. 運(yùn)行即可
?```bash
./node_exporter --web.listen-address=":19200"
?```
6. 打包arm64架構(gòu)的方法
  * apt install gcc-aarch64-linux-gnu 
  * env CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC_FOR_TARGET=gcc-aarch64-linux-gnu CC=aarch64-linux-gnu-gcc go build

CPU 溫度(最熱的核心)由 x86_pkg_temp 給出。

$ cat /sys/class/thermal/thermal_zone10/type 
x86_pkg_temp

然后/sys/class/thermal/thermal_zone10/temp是應(yīng)該在 i3 狀態(tài)欄中使用的文件。

附帶說明一下,每個(gè)內(nèi)核的溫度都可以temp*_input/sys/devices/platform/coretemp.0/hwmon/hwmon*/. 關(guān)聯(lián)temp*_label顯示哪個(gè)文件與哪個(gè)內(nèi)核相關(guān)(在我的例子中是 4 個(gè)內(nèi)核):

.../hwmon*/$  grep "" temp*_label
temp1_label:Physical id 0
temp2_label:Core 0
temp3_label:Core 1
temp4_label:Core 2
temp5_label:Core 3

該文件temp1_input對(duì)應(yīng)于內(nèi)核的最熱值。

如果要獲取對(duì)應(yīng)每個(gè)cpu的溫度 需要

cat /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input

參考

https://qa.1r1g.cn/unix/ask/21339181/

https://cloud.tencent.com/developer/article/1820706

到此這篇關(guān)于golang通過node_exporter監(jiān)控GPU及cpu頻率、溫度的文章就介紹到這了,更多相關(guān)golang監(jiān)控GPU頻率溫度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • go語言的工作空間和GOPATH環(huán)境變量介紹

    go語言的工作空間和GOPATH環(huán)境變量介紹

    這篇文章主要介紹了go語言的工作空間和GOPATH環(huán)境變量介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 深入了解Golang網(wǎng)絡(luò)編程N(yùn)et包的使用

    深入了解Golang網(wǎng)絡(luò)編程N(yùn)et包的使用

    net包主要是增加?context?控制,封裝了一些不同的連接類型以及DNS?查找等等,同時(shí)在有需要的地方引入?goroutine?提高處理效率。本文主要和大家分享下在Go中網(wǎng)絡(luò)編程的實(shí)現(xiàn),需要的可以參考一下
    2022-07-07
  • Golang極簡入門教程(二):方法和接口

    Golang極簡入門教程(二):方法和接口

    這篇文章主要介紹了Golang極簡入門教程(二):方法和接口,本文同時(shí)講解了錯(cuò)誤、匿名域等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • Golang中interface的基本用法詳解

    Golang中interface的基本用法詳解

    Go 中接口也是一個(gè)使用得非常頻繁的特性,好的軟件設(shè)計(jì)往往離不開接口的使用,比如依賴倒置原則(通過抽象出接口,分離了具體實(shí)現(xiàn)與實(shí)際使用的耦合)。 今天,就讓我們來了解一下 Go 中接口的一些基本用法
    2023-01-01
  • go項(xiàng)目打包部署的完整步驟

    go項(xiàng)目打包部署的完整步驟

    之前斷斷續(xù)續(xù)的接觸到項(xiàng)目部署,一直沒有詳細(xì)的了解部署,于是最近就好好的專研一下項(xiàng)目的部署,下面這篇文章主要給大家介紹了關(guān)于go項(xiàng)目打包部署的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • GoLang中的sync包Once使用執(zhí)行示例

    GoLang中的sync包Once使用執(zhí)行示例

    這篇文章主要介紹了GoLang中的sync包Once使用執(zhí)行示例,沒有學(xué)習(xí)Once前,大家可能想到 聲明一個(gè)標(biāo)識(shí),表示是否初始化過,然后初始化這個(gè)標(biāo)識(shí)加鎖,更新這個(gè)標(biāo)識(shí),Once包主要用于在并發(fā)執(zhí)行代碼的時(shí)候,某部分代碼只會(huì)被執(zhí)行一次
    2023-03-03
  • Go語言二進(jìn)制文件的讀寫操作

    Go語言二進(jìn)制文件的讀寫操作

    本文主要介紹了Go語言二進(jìn)制文件的讀寫操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Golang二進(jìn)制文件混淆保護(hù)操作

    Golang二進(jìn)制文件混淆保護(hù)操作

    這篇文章主要介紹了Golang二進(jìn)制文件混淆保護(hù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 一文精通管理多版本Go安裝教程

    一文精通管理多版本Go安裝教程

    這篇文章主要為大家介紹了一文精通管理多版本Go安裝教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go實(shí)現(xiàn)并發(fā)緩存的示例代碼

    Go實(shí)現(xiàn)并發(fā)緩存的示例代碼

    高并發(fā)數(shù)據(jù)存儲(chǔ)是現(xiàn)代互聯(lián)網(wǎng)應(yīng)用開發(fā)中常遇到的一大挑戰(zhàn),本文主要介紹了Go實(shí)現(xiàn)并發(fā)緩存的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10

最新評(píng)論