1. 程式人生 > >采用Opserver來監控你的ASP.NET項目系列(三、監控你的服務器狀態)

采用Opserver來監控你的ASP.NET項目系列(三、監控你的服務器狀態)

lis 容器 等待 保留 指正 默認 ins dock eight

之前有過2篇關於如何監控ASP.NET core項目的文章,有興趣的也可以看看.

今天我們主要來介紹一下,如何使用Opserver監控我們的服務器狀態.

Opserver的功能其實很強大,他可以用於連接任何支持Bosun, Orion, or direct WMI監控數據。

大概效果如下:

技術分享圖片

正文

1.通過Windows自帶的WMI監控服務器

首先,我們找到相關的配置文件,修改配置文件的名稱 DashboardSettings.json.exampleDashboardSettings.json

然後修改DashboardSettings.json設置連接地址 providers,這裏我們以WMI為例,如下:

{
  "providers": {
    "wmi": {
      "nodes": [ "USER-20170316IW" ], // List of nodes to monitor
      "staticDataTimeoutSeconds": 300, // (Optional) How long to cache static data (node name, hardware, etc.) - defaults to 5 minutes
      "dynamicDataTimeoutSeconds": 5, // (Optional) How long to cache dynamic data (utilizations, etc.) - defaults to 30 seconds
"historyHours": 2, // (Optional) How long to retain data (in memory) - defaults to 24 hours "username": "Administrator" } }

解釋一下參數說明:

  • nodes 可以有多臺,可以填 服務器名稱 或是 IP地址
  • StaticDataTimeoutSeconds 緩存靜態數據(節點名稱、硬件等)要多長時間-默認為5分鐘
  • DynamicDataTimeoutSeconds 緩存動態數據(CPU,加載時間等)要多長時間-默認為30秒
  • HistoryHours
    保留記錄的時長,默認為 2 小時
  • Username 遠程服務器的賬戶名
  • Password 遠程服務器的密碼(PS,我這裏因為連接的是本機 所以就不需要了.)

設置完連接之後,我們可以設置我們的警戒值,如下:

設定警戒值

key說明
cpuWarningPercent cpu 用量警戒(黃色)
cpuCriticalPercent cpu 用量危險(紅色)
memoryWarningPercent 內存用量警戒(黃色)
memoryCriticalPercent 內存用量危險(紅色)
diskWarningPercent 磁盤空間 用量警戒(黃色)
diskCriticalPercent 磁盤空間 用量危險(紅色)

JSON配置直接添加在providers節點下即可.

如下:

{
"providers":{
 "cpuWarningPercent": 50,
  "cpuCriticalPercent": 60,
  "memoryWarningPercent": 90,
  "memoryCriticalPercent": 95, 
  "diskWarningPercent": 85,
  "diskCriticalPercent": 95
}
}

多臺服務器的情況下,服務器的配置不一定相同,所以需要根據服務器配置 單獨設置報警值,我們可以添加categories節點,並配置如下:

"categories": [
    {
     "name": "第一臺", // Name for this group of servers
     "pattern": "-sql",
     "cpuWarningPercent": 20, 
     "cpuCriticalPercent": 60,
      "memoryWarningPercent": 98, 
     "memoryCriticalPercent": 99.2
 },
     "name": "第二臺", 
     "pattern": "-sql", 
     "cpuWarningPercent": 20, 
     "cpuCriticalPercent": 60,
      "memoryWarningPercent": 98,
     "memoryCriticalPercent": 99.2
 }
]

這樣,我們就完成了我們使用WMI采集信息,並展示在OpServer上的全部工作.

當然,官方推薦的是使用bosun +scollector+OpServer的形式來采集和顯示

所以,我們下面就來講講(不過我本人並沒有實踐..資源實在有限)

2.通過bosun +scollector監控服務器

1、bosun 快速安裝(當然,也有不使用Docker的..不過說實話..太復雜了..也許就是因為太復雜了,才放到容器裏簡化安裝了吧)

  • 安裝docker

..具體我就不說了,直接移步安裝步驟官網:https://docs.docker.com/engine/installation/

  • 在docker中安裝bosun

使用命令“docker run -d -p 4242:4242 -p 8070:8070 stackexchange/bosun”,安裝bosun,文件大概200多M,等待完成即可。

  • 檢查是否安裝成功

訪問網站http://docker-server-ip:8070,顯示bosun界面,即安裝成功。此時,本機監控數據已經被采集,可以查看相應數據。

2、服務器agent數據采集器(scollector)

可以到 http://bosun.org/scollector/ 下載scollector.

以windows 為例,下載“scollector-windows-amd64.exe"後,用管理員身份運行”cmd.exe"。cd 到文件目錄,在命令窗口輸入“scollector-windows-amd64 -h docker-server-ip:8070"

顯示如下信息,表示與bosun服務建立連接。命令如下:

C:\>scollector-windows-amd64 -h 192.168.1.101:8070
2016/11/18 15:59:19 info: main.go:213: OpenTSDB host: http://192.168.1.101:8070

然後可在bosun items 界面看到此服務器信息。

寫在最後

至此我們就完成了監控服務器的所有操作.喜歡的請關註一下,~覺得不錯的可以點個推薦,當然也歡迎大神批評指正.~

采用Opserver來監控你的ASP.NET項目系列(三、監控你的服務器狀態)