采用Opserver来监控你的ASP.NET项目系列(三、监控你的服务器状态)

简介: 原文:采用Opserver来监控你的ASP.NET项目系列(三、监控你的服务器状态)前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看.   今天我们主要来介绍一下,如何使用Opserver监控我们的服务器状态. Opserver的功能其实很强大,他可以用于连接任何支持Bosun, Orion, or direct WMI监控数据。
原文: 采用Opserver来监控你的ASP.NET项目系列(三、监控你的服务器状态)

之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看.

 

今天我们主要来介绍一下,如何使用Opserver监控我们的服务器状态.

Opserver的功能其实很强大,他可以用于连接任何支持Bosun, Orion, or direct WMI监控数据。

大概效果如下:

 

 

正文

1.通过Windows自带的WMI监控服务器

首先,我们找到相关的配置文件,修改配置文件的名称 DashboardSettings.json.example 为 DashboardSettings.json

然后修改DashboardSettings.json设置连接地址 providers,这里我们以WMI为例,如下:

{
  "providers": {
    "wmi": {
      "nodes": [ "USER-20170316IW" ], // List of nodes to monitor
      "staticDataTimeoutSeconds": 300, // (Optional) How long to cache static data (node name, hardware, etc.) - defaults to 5 minutes
      "dynamicDataTimeoutSeconds": 5, // (Optional) How long to cache dynamic data (utilizations, etc.) - defaults to 30 seconds
      "historyHours": 2, // (Optional) How long to retain data (in memory) - defaults to 24 hours
      "username": "Administrator"
    }
}

 

解释一下参数说明:

  • nodes 可以有多台,可以填 服务器名称 或是 IP地址
  • StaticDataTimeoutSeconds 缓存静态数据(节点名称、硬件等)要多长时间-默认为5分钟
  • DynamicDataTimeoutSeconds 缓存动态数据(CPU,加载时间等)要多长时间-默认为30秒
  • HistoryHours 保留记录的时长,默认为 2 小时
  • Username 远程服务器的账户名
  • Password 远程服务器的密码(PS,我这里因为连接的是本机 所以就不需要了.)

设置完连接之后,我们可以设置我们的警戒值,如下:

設定警戒值

key 說明
cpuWarningPercent cpu 用量警戒(黄色)
cpuCriticalPercent cpu 用量危险(红色)
memoryWarningPercent 内存用量警戒(黄色)
memoryCriticalPercent 内存用量危险(红色)
diskWarningPercent 磁盘空间 用量警戒(黄色)
diskCriticalPercent 磁盘空间 用量危险(红色)

JSON配置直接添加在providers节点下即可.

如下:

{
"providers":{
 "cpuWarningPercent": 50,
  "cpuCriticalPercent": 60,
  "memoryWarningPercent": 90,
  "memoryCriticalPercent": 95, 
  "diskWarningPercent": 85,
  "diskCriticalPercent": 95
}
}

多台服务器的情况下,服务器的配置不一定相同,所以需要根据服务器配置 单独设置报警值,我们可以添加categories节点,并配置如下:

"categories": [
    {
     "name": "第一台", // Name for this group of servers
     "pattern": "-sql",
     "cpuWarningPercent": 20, 
     "cpuCriticalPercent": 60,
      "memoryWarningPercent": 98, 
     "memoryCriticalPercent": 99.2
 },
     "name": "第二台", 
     "pattern": "-sql", 
     "cpuWarningPercent": 20, 
     "cpuCriticalPercent": 60,
      "memoryWarningPercent": 98,
     "memoryCriticalPercent": 99.2
 }
]

 

这样,我们就完成了我们使用WMI采集信息,并展示在OpServer上的全部工作.

当然,官方推荐的是使用bosun +scollector+OpServer的形式来采集和显示

所以,我们下面就来讲讲(不过我本人并没有实践..资源实在有限)

2.通过bosun +scollector监控服务器

1、bosun 快速安装(当然,也有不使用Docker的..不过说实话..太复杂了..也许就是因为太复杂了,才放到容器里简化安装了吧)

  •      安装docker

      ..具体我就不说了,直接移步安装步骤官网:https://docs.docker.com/engine/installation/

  •      在docker中安装bosun

     使用命令“docker run -d -p 4242:4242 -p 8070:8070 stackexchange/bosun”,安装bosun,文件大概200多M,等待完成即可。

  •      检查是否安装成功

     访问网站http://docker-server-ip:8070,显示bosun界面,即安装成功。此时,本机监控数据已经被采集,可以查看相应数据。

 

2、服务器agent数据采集器(scollector)

   可以到 http://bosun.org/scollector/   下载scollector.

    以windows 为例,下载“scollector-windows-amd64.exe"后,用管理员身份运行”cmd.exe"。cd 到文件目录,在命令窗口输入“scollector-windows-amd64 -h  docker-server-ip:8070"

    显示如下信息,表示与bosun服务建立连接。命令如下:

C:\>scollector-windows-amd64 -h 192.168.1.101:8070
2016/11/18 15:59:19 info: main.go:213: OpenTSDB host: http://192.168.1.101:8070

然后可在bosun items 界面看到此服务器信息。

写在最后

至此我们就完成了监控服务器的所有操作.喜欢的请关注一下,~觉得不错的可以点个推荐,当然也欢迎大神批评指正.~

目录
相关文章
|
16天前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
32 8
|
16天前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
31 5
|
3天前
|
jenkins 测试技术 持续交付
解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
20 8
|
3天前
|
架构师 开发者
【悬念揭秘】DDD:那片隐藏在软件深处的业务乐土——.NET项目如何借力领域驱动设计,让复杂业务逻辑迎刃而解?
【8月更文挑战第28天】领域驱动设计(DDD)在.NET项目中的应用聚焦于将业务领域知识与软件开发紧密结合,通过构建清晰的领域模型管理复杂业务逻辑。DDD的核心概念包括限界上下文、聚合、实体等,确保模型与实现的统一。在.NET中,通过CQRS和事件源等模式提高系统响应性和可扩展性,实现业务事件驱动的解耦与协作。DDD不仅是一种设计方法,更是要求开发者深入理解业务的文化,助力.NET项目应对复杂挑战,实现业务与技术的融合。
22 6
|
3天前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
17 5
|
3天前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
28 0
|
7天前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
6天前
|
C# C++
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
|
7天前
|
开发框架 .NET Linux
【Azure Developer】已发布好的.NET Core项目文件如何打包为Docker镜像文件
【Azure Developer】已发布好的.NET Core项目文件如何打包为Docker镜像文件
|
7天前
|
Linux C# C++
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
下一篇
云函数