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

时间:2022-09-02 15:19:37
前言

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

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

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

大概效果如下:

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

正文

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

写在最后

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