【配置教程】撑起月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": "<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 -
文章首发于公众号【编程乐趣】,欢迎大家关注。