上次分享过《一个.Net Core开源监控解决方案,支持Redis、Elasticsearch、SqlServer》,这是Stack Overflow 开源的监控产品,基于.Net Core开发的监控解决方案。

大家对这个监控系统都非常刚兴趣,但是由于这个项目官方文档不够详细,另外网络的资料都是过时的,所以有很多粉丝朋友一直找我咨询,该如何配置!

所以,今天我就结合官方现有的文档,分享下整个分析过程以及如何配置(嫌啰嗦的,想直接看如何配置的,直接第三点看)!

一、代码文件缺少、网络资料老旧

我们从Github下载代码后,打开解决方案,我们可以看到Config文件夹是不存在的。

Github:https://github.com/opserver/Opserver

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

但是我们从网络上搜索Opserver该如何配置,基本是以下2中情况:

1、基本都是教你如何在Config文件夹下配置。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

2、还有很多是上一个版本的配置教程,最新版本配置方式已经从Xml改为Json格式了。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

从以上分析,我们基本可以得出结论,通过网络现有的资料,基本是无法解决我们的问题。所以,我们只能通过其他方式,来学习如何配置。

二、配置分析

其实官方是有提供文档,只是是英文文档,很多人一看到英文文档就退缩了,在Github说明上就有。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

文档地址:https://opserver.github.io/Opserver/

1、打开配置文档,我们直接进入配置教程页面。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

2、配置说明

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

A、配置教程第一部分,主要说明了4个点:

1、所有模块都是可选的,我们只需配置我们需要监控的内容,比如你只需监控Redis,那就配置Redis就可以了;

2、所有配置从以下路径查找【见上图第2点】:

在Program.cs的源代码,我们也可以看出,系统都是从哪些文件读取配置信息的,另外源代码注释也说明了,最新版本配置格式已经改为Json,旧版本的需要手动把V1.0 XML转换过来。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

3、为了兼容V1.0,系统还会从Config文件夹下查找配置文件,最新版本配置信息都在opserverSettings.json中;

4、所有Json配置键不区分大小写。

B、配置教程第二部分,认证方式:

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

从教程我们知道,Opserver登录认证方式有:ActiveDirectory、OIDC、EveryonesAnAdmin、EveryonesReadOnly。

至此,我们基本就知道,该项目如何配置了。

三、配置教程

根据以上的配置教程,下面我们一起来配置下:

1、在Web项目,新建目录Config,以及创建认证配置文件SecuritySettings.json。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

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登录就可以。

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

5、部分功能截图

Redis监控

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

MSSQL监控

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

异常监控

【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

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 -

文章首发于公众号【编程乐趣】,欢迎大家关注。
【配置教程】撑起月6亿PV开源监控解决方案-LMLPHP

04-29 22:12