上次分享過《一個.Net Core開源監控解決方案,支援Redis、Elasticsearch、SqlServer》,這是Stack Overflow 開源的監控產品,基於.Net Core開發的監控解決方案。
大家對這個監控系統都非常剛興趣,但是由於這個專案官方文件不夠詳細,另外網路的資料都是過時的,所以有很多粉絲朋友一直找我諮詢,該如何配置!
所以,今天我就結合官方現有的文件,分享下整個分析過程以及如何配置(嫌囉嗦的,想直接看如何配置的,直接第三點看)!
一、程式碼檔案缺少、網路資料老舊
我們從Github下載程式碼後,開啟解決方案,我們可以看到Config資料夾是不存在的。
Github:https://github.com/opserver/Opserver
但是我們從網路上搜尋Opserver該如何配置,基本是以下2中情況:
1、基本都是教你如何在Config資料夾下配置。
2、還有很多是上一個版本的配置教程,最新版本配置方式已經從Xml改為Json格式了。
從以上分析,我們基本可以得出結論,透過網路現有的資料,基本是無法解決我們的問題。所以,我們只能透過其他方式,來學習如何配置。
二、配置分析
其實官方是有提供文件,只是是英文文件,很多人一看到英文文件就退縮了,在Github說明上就有。
文件地址:https://opserver.github.io/Opserver/
1、開啟配置文件,我們直接進入配置教程頁面。
2、配置說明
A、配置教程第一部分,主要說明了4個點:
1、所有模組都是可選的,我們只需配置我們需要監控的內容,比如你只需監控Redis,那就配置Redis就可以了;
2、所有配置從以下路徑查詢【見上圖第2點】:
在Program.cs的原始碼,我們也可以看出,系統都是從哪些檔案讀取配置資訊的,另外原始碼註釋也說明了,最新版本配置格式已經改為Json,舊版本的需要手動把V1.0 XML轉換過來。
3、為了相容V1.0,系統還會從Config資料夾下查詢配置檔案,最新版本配置資訊都在opserverSettings.json中;
4、所有Json配置鍵不區分大小寫。
B、配置教程第二部分,認證方式:
從教程我們知道,Opserver登入認證方式有:ActiveDirectory、OIDC、EveryonesAnAdmin、EveryonesReadOnly。
至此,我們基本就知道,該專案如何配置了。
三、配置教程
根據以上的配置教程,下面我們一起來配置下:
1、在Web專案,新建目錄Config,以及建立認證配置檔案SecuritySettings.json。
2、SecuritySettings.json認證配置如下:
我們這邊採用的認證方式:EveryonesAnAdmin。
{
"provider": "EveryonesAnAdmin",
"apiKey": "<Global API Key>",
"internalNetworks": [
{
"name": "My Internal",
"cidr": "10.0.0.0/8"
}
],
"viewEverythingGroups": "Opserver-View",
"adminEverythingGroups": "Opserver-Admins;Opserver-MoreAdmins"
}
3、配置MSSQL
"Sql": {
//預設連結字串
"defaultConnectionString": "Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456",
//叢集
"clusters": [
{
"name": "127.0.0.1",
"refreshIntervalSeconds": 20,
"nodes": [
{
"name": "127.0.0.1",
//如果沒有配置,預設為defaultConnectionString
"connectionString": "Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456"
}
]
}
],
"instances": [
{
"name": "work",
//如果沒有配置,預設為defaultConnectionString
"connectionString": "Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456"
}
]
},
4、執行
我們直接執行,在瀏覽器就會開啟登入介面,我們輸入admin登入就可以。
5、部分功能截圖
Redis監控
MSSQL監控
異常監控
6、其他配置
Redis配置
"Redis": {
"Servers": [
{
"name": "127.0.0.1",
"instances": [
{
"name": "Default",
"port": 6379
}
]
}
]
},
Asp.net異常配置
"Exceptions": {
"stores": [
{
"name": "Local",
"queryTimeoutMs": 2000,
"connectionString": "Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456"
}
],
四、其他配置
更多的配置資訊,大家可以檢視配置文件:
Github:https://opserver.github.io/Opserver/Configuration
好了,今天就分享到這邊,想要獲取文章的示例的配置與原始碼,可以關注公眾號,回覆:1086,獲取。
更多開源專案請檢視:一個專注推薦優秀.Net開源專案的榜單
- End -
文章首發於公眾號【程式設計樂趣】,歡迎大家關注。