【配置教程】撐起月6億PV開源監控解決方案

chingho發表於2023-04-29

上次分享過《一個.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 -

文章首發於公眾號【程式設計樂趣】,歡迎大家關注。
圖片

相關文章