采用Opserver來監控你的ASP.NET項目系列(三、監控你的服務器狀態)
之前有過2篇關於如何監控ASP.NET core項目的文章,有興趣的也可以看看.
今天我們主要來介紹一下,如何使用Opserver監控我們的服務器狀態.
Opserver的功能其實很強大,他可以用於連接任何支持Bosun, Orion, or direct WMI監控數據。
大概效果如下:
正文
1.通過Windows自帶的WMI監控服務器
首先,我們找到相關的配置文件,修改配置文件的名稱 DashboardSettings.json.example
為 DashboardSettings.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
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項目系列(三、監控你的服務器狀態)