An open source monitoring solution developed by .Net Core that supports monthly 600 million PV

For more open source projects, please check: A list focusing on recommending .Net open source projects

After the project is released, for us programmers, the project is not really over. It is also very important to ensure the stable operation of the project, and the monitoring of the server is one of the means to ensure stable operation. The monitoring of some middleware such as database, Redis, ES, etc. is also very important.

Therefore, today I recommend a lightweight open source monitoring solution to everyone.

Project Description

This is an open source monitoring product with Stack Overflow, based on the monitoring solution developed by .Net Core. It can monitor multiple systems independently. The monitoring information includes CPU, memory, network, hardware and other related information. It provides an overall monitoring information for each monitored system, which is convenient for us to check the server status and locate problems in operation and maintenance.

Technology Architecture

1. Cross-platform: Based on .NetCore development, it supports Windows, Mono, Liunx, Windows Azure, and Docker.

2. Technology stack. Net Core 6.0 + Asp. Net Mvc.

Monitorable service

  • Server/Switch

  • SQL Server singleton vs. cluster

  • Redis

  • Elasticsearch

  • HAProxy

  • PagerDuty

  • CloudFlare DNS

project structure

picture

Opserver.Core is the core code, and Opserver.Web is the monitoring site.

Configuration example

security configuration

{
  "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 monitoring configuration

"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"
    }
  ]
},

Monitoring screenshot

login interface

picture

Monitoring main interface

picture

task list

picture

project address

https://github.com/opserver/Opserver

- End -

recommended reading

A WinForm open source UI component framework supporting .Net 7

Inventory of 3 WMS warehouse management systems developed by .Net

A powerful .Net image manipulation library that supports more than 100 formats

Based on .NetCore+React single sign-on system

Recommend an open source project for Websocket group chat and private chat developed by .Net Core

Guess you like

Origin blog.csdn.net/daremeself/article/details/129221155