天天看点

一个.Net Core开发的,撑起月6亿PV开源监控解决方案

作者:编程乐趣
我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。

项目发布后,对于我们程序员来说,项目还不是真正的结束,保证项目的稳定运行也是非常重要的,而对于服务器的监控,就是保证稳定运行的手段之一。对数据库、Redis、ES等一些中间件的监控,也都是非常重要。

所以,今天给大家推荐一个轻量级的开源监控解决方案。

项目简介

这是有 Stack Overflow 的开源监控产品,基于.Net Core开发的监控解决方案。它可以独立监控多个系统,监控信息包含CPU、内存、网络、硬件等有关信息,它为每个监控的系统提供一个总体监控信息,方便我们运维方便查看服务器情况与定位问题。

技术架构

1、跨平台:基于.NetCore开发,支持Windows、Mono、Liunx、Windows Azure、Docker。

2、技术栈 .Net Core 6.0 + Asp.Net Mvc。

可监控服务

  • 服务器 / 交换机
  • SQL Server 单例与集群
  • Redis
  • Elasticsearch
  • HAProxy
  • PagerDuty
  • CloudFlare DNS

项目结构

一个.Net Core开发的,撑起月6亿PV开源监控解决方案

Opserver.Core为核心代码,Opserver.Web为监控站点。

配置示例

安全配置

{
  "provider": "EveryonesAnAdmin",
  "apiKey": "<Global API Key>",
  "internalNetworks": [
    {
      "name": "My Internal",
      "cidr": "10.0.0.0/8"
    }
  ],
  "viewEverythingGroups": "Opserver-View",
  "adminEverythingGroups": "Opserver-Admins;Opserver-MoreAdmins",
  "scopes": [ "openid", "email" ],
  "clientId": "<Client ID>",
  "clientSecret": "<Client Secret>",
  "authorizationUrl": "https://example.org/oauth2/authorize",
  "accessTokenUrl": "https://example.org/oauth2/token",
  "userInfoUrl": "https://example.org/oauth2/token",
  "nameClaim": "nameIdentifier",
  "groupsClaim": "groups"
}           

SqlServer监控配置

"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",
          "connectionString": "Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456"
        }
      ]
    }
  ],
  "instances": [
    {
      "name": "work",
      "connectionString": "Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456"
    }
  ]
},           

监控截图

登录界面

一个.Net Core开发的,撑起月6亿PV开源监控解决方案

监控主界面

一个.Net Core开发的,撑起月6亿PV开源监控解决方案

任务列表

一个.Net Core开发的,撑起月6亿PV开源监控解决方案

项目地址

https://github.com/opserver/Opserver

我是编程乐趣,一个10年.Net开发经验老程序员,专注开源项目和编程知识分享。

私信回复:【888】,领取.Net视频教程。

- End -

推荐阅读

一个支持.Net 7的WinForm开源UI组件框架

盘点3个.Net开发的WMS仓库管理系统

一个强大、支持100多种格式.Net图片操作库

基于.NetCore+React单点登录系统

推荐一个.Net Core开发的Websocket群聊、私聊的开源项目

继续阅读