iT邦幫忙

1

C# 讀取伺服器上CPU、memory、硬碟使用率

  • 分享至 

  • xImage

各位前輩們好,
本身是網管工程師,因目前網管上有些小需求,想單純使用程式去撈遠端伺服器(公司內網)上的CPU使用率。

有參考到以下網址教學,但目前測出來只讀取本機CPU使用率,
想請教各位大大如要遠端讀取伺服器上的CPU使用率,是否能提供程式撰寫方向,好讓後續能學習摸索。

因小弟頭一次接觸C#,煩請各位前輩能詳細說明!

參考網址:https://blog.hungwin.com.tw/cshart-server-monitoring/#_CPU

看更多先前的討論...收起先前的討論...
pickuse iT邦新手 4 級 ‧ 2023-07-28 10:44:36 檢舉
有沒有考慮直接 LibreNMS?
pickuse iT邦新手 4 級 ‧ 2023-07-28 10:50:02 檢舉
我意思是有現成的你伺服器架設起來,客戶端裝好就能達成你的目的,不需要為了這點事情特別寫程式
q34011520 iT邦新手 5 級 ‧ 2023-07-28 11:05:33 檢舉
其實有架LibreNMS,目前也在測試階段,但發現C#也可以實現,想藉機會摸索一下C#
pickuse iT邦新手 4 級 ‧ 2023-07-28 11:10:32 檢舉
那你想讀取伺服器上的CPU的使用率的話最基本的問題會是你要怎麼處理網路通訊的過程,例如你得先建立個TCP或是UDP Server https://dotblogs.com.tw/kevintan1983/2010/10/15/18348
然後你就可以傳遞你那些CPU資訊至遠端
harry731 iT邦新手 3 級 ‧ 2023-07-28 11:28:51 檢舉
個人角度也贊成pickuse的提議,透過SNMP來監控就好了!
如果真想要寫程式,我個人的想法會是寫agent,然後將偵測結果回寫到資料庫
網頁端去抓取對應時間的資料即可
DennisLu iT邦研究生 1 級 ‧ 2023-07-28 11:29:21 檢舉
讀取遠端主機CPU?
前提是要有專門服務跟你的程式溝通,內建的、額外安裝的,那都會多起一個服務出來,嚴重點就是增加破口的機會。

你已經會取得本機訊息了,那你也可以反過來思考,
寫程式把讀本機訊息然後打出去,
打去你的LibreNMS使用的資料庫讓librenms讀就好了。
把程式常駐在被監控目標的主機有頻率打或是把一次性程式設排程定期打就好。
我記得站上有高手寫過類似的小軟體
typeperf 內建指令就有了.
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
海綿寶寶
iT邦大神 1 級 ‧ 2023-07-28 11:11:54

參考這篇看看可不可用

0
PPTaiwan
iT邦好手 1 級 ‧ 2023-07-29 22:42:39

你可以往幾個方向

  1. Web Server 申請 Domain name ,這部份最主要接收來自於 Cilent 的資訊
  2. db server mysql , mssql 這部份是將資料記錄起來
  3. Client C# .net Windows 可以寫 C# Winform , Linux form C#.net 6 可以編譯成 linux 版本或是用 SSH 來做些事情
  4. 定義好你的 json 將資料透過 domain 的方法,將其資料丟回到 web server 上

以上的方式可以將多台資料丟回來之後就可以做很多事情了或是分析了

我要發表回答

立即登入回答