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

【配置教程】撑起月6亿PV开源监控解决方案的更多相关文章
- 基于Django的Disqus如何支持每月80亿PV(转)
原文:基于Django的Disqus如何支持每月80亿PV 本文由 伯乐在线 - 贱圣OMG 翻译.未经许可,禁止转载!英文出处:Matt Robenolt.欢迎加入翻译小组. 现在我们Disqus能 ...
- hudson配置教程
Hudson配置教程 hudson是个优 秀的开源工具,可惜是小日本开发的.这点不爽.拿过来用吧.我们公司(Qisda)的用途是 用来晚上定时的抓Android的代码,然后编译,保存img文件,然后根 ...
- [记录]HAproxy负载均衡配置教程
HAproxy负载均衡配置教程 一.简介 haproxy是一个开源的高性能负载均衡软件:支持双机热备.虚拟主机和图形化的管理界面,自带强大的对RS健康检查功能:支持TCP(四层).HTTP(七层)应用 ...
- 看StackOverflow如何用25台服务器撑起5.6亿的月PV(微软的架构)
问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 ...
- 看StackOverflow如何用25台服务器撑起5.6亿的月PV
问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...
- 【转载】看StackOverflow如何用25台服务器撑起5.6亿的月PV
问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...
- 两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计(转)
原文:Scaling Pinterest - From 0 To 10s Of Billions Of Page Views A Month In Two Years 译文:两年内从零到每月十亿 PV ...
- IDEA 初始配置教程
IDEA 初始配置教程 如果你是第一次使用 IDEA,或者对 IDEA 常用配置仍然不熟悉,那么本文就特别适合你. 本文只是根据我自己的使用经验来进行配置,不一定适合所有的情况,但是对你肯定会有帮助. ...
- 2018超详细sublime text3+python3.x安装配置教程(附常用插件安装教程)
导读 本文是关于2018年7月最新版sublime text3+pythin3.x下载及安装配置教程,sublime text3版本为3176,python版本为3.7,安装环境是基于windows1 ...
- Termux 高级终端安装使用配置教程
Termux 高级终端安装使用配置教程,这篇文章拖了有小半年.因为网上相关的文章相对来说还是比较少的,恰好今天又刷了机,所以就特意来总结一下,希望本文可以帮助到其他的小伙伴.发挥Android平台更大 ...
随机推荐
- yum随笔
1.一般企业的服务器都能联网,所以装包都是装系统给的或者是自己去第三方的源,如下: http://mirrors.aliyun.com/repo/Centos-7.repo http://mirror ...
- python实例1(石头 剪刀 布)
#random .randint 模块导入 import random #定义一个用户需要输入的数据内容入口 user = int(input("请输入(石头1,剪刀2,布3 ...
- element中表格中对其解决方法:
element中表格中对其解决方法: 一开始错位的表格的样式: 发现我们设置的align="center"居中没人用 后面是操作列里的按钮影响了它 直接把align里的属性 ...
- Less-5 和 Less-6 SQL盲注
判断注入点 测试:http://localhost/sqli-labs-master/Less-5/?id=1a和http://localhost/sqli-labs-master/Less-5/?i ...
- 一起来试玩!在线可编程交互的实时音视频 Web SDK 入门教程
在与开发者长期的沟通中,我们发现,尽管声网为开发者提供了丰富翔实的 SDK 技术文档,但对于初次接触声网 SDK 的开发者来说,在第一眼看到文档的时候,可能会被大量新概念和复杂的 API 接口淹没.S ...
- Java面试——搜索
更多内容,前往 IT-BLOG 一.Elasticsearch了解多少 ElasticSearch 是一个基于 Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTfu ...
- Unity绘制圆和缓动雷达图
Unity绘制圆和缓动雷达图 之前在做UI模块的时候遇到过需要做雷达图的效果,所以简单复习了一下 关于网格绘制 我们都知道Unity绘制图形是通过Mesh网格添加顶点进行绘制,那么知道顶点信息后如何实 ...
- 分享我通过 API 赚钱的思路
写在最前 我们经常看到非常多的 API 推荐,但又经常收藏到收藏夹里吃灰,仿佛收藏了就是用了. 很多时候没有用起来,可能是因为想不到某类 API 可以用来做什么或者能应用在哪里. 下面我将我思考的一些 ...
- day02-搭建微服务基础环境01
搭建微服务基础环境01 1.创建父工程,用于聚合其他微服务模块 1.1创建父项目 说明:我们先创建一个父项目,该父项目会去管理多个微服务模块(module),如下: (1)File-New-Proje ...
- R语言文本数据挖掘(一)
文本挖掘可以视为NLP(Natural language processing,自然语言处理)的一个子领域,目标是在大量非结构化文本中整理析取出有价值的内容.由于人类语言具有很高的复杂性,例如不同语言 ...