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


    上次分享过《一个.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": "",
      "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 -

    文章首发于公众号【编程乐趣】,欢迎大家关注。
    图片

  • 相关阅读:
    无公网IP通过旁路由openwrt的Zerotier实现和在家一样访问家里每个设备
    工业智能网关BL110应用之九: 主要接口
    宝宝为什么会出现乳糖不耐受?
    SpringCloud微服务实战——搭建企业级开发框架(四十七):【移动开发】整合uni-app搭建移动端快速开发框架-添加Axios并实现登录功能
    计算机毕业设计ssm餐饮外卖系统v22fo系统+程序+源码+lw+远程部署
    Python与ArcGIS系列(八)通过python执行地理处理工具
    规格化浮点数
    JavaScript基础
    报错的解决 sqlite3.OperationalError: unrecognized token: “630008.OF“
    零基础小白怎么自学 Python ,大概要多久?
  • 原文地址:https://www.cnblogs.com/chingho/p/17281092.html