采用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 界面看到此服务器信息。
至此我们就完成了监控服务器的所有操作.喜欢的请关注一下,~觉得不错的可以点个推荐,当然也欢迎大神批评指正.~