采用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 界面看到此服务器信息。

写在最后

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

目录
相关文章
|
5月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
56 8
|
5月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
64 5
|
2月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
50 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
4月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
4月前
|
开发框架 JavaScript 前端开发
|
4月前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
70 0
监控Linux服务器
|
5月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
596 0
|
5月前
|
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应用服务
|
5月前
|
监控 Linux 测试技术
|
5月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间