在 Windows 上使用 telegraf/grafana 监控服务器正常运行时间

在 Windows 上使用 telegraf/grafana 监控服务器正常运行时间

我知道有无数的解决方案可以监控 Windows 服务器上的正常运行时间,但我想特别询问有关 Influx 的服务器代理 telegraf。

我们目前有一个很好的 influxdb/grafana/telegraf 堆栈监控我们的 Linux 机器的基本系统指标,如 CPU、内存、磁盘、正常运行时间等,最近我已经开始将我们的一些 Windows 机器也纳入这个设置中。

这很简单,只需在 telegraf.conf 中启用输入插件并更新需求文件的计数器即可。我可以从 grafana 的 UI 查询 influxdb 中的数据。

我遇到困难的是“系统”输入插件。在 Linux 机器上,此插件提供的指标与 unix“uptime”命令的输出基本相同 - 正常运行时间、用户数、平均负载等。然后,我们可以在 grafana UI 中为各个 Linux 机器创建一个漂亮的彩色编码“singlestat”正常运行时间图表。即,如果机器已运行超过一秒,则显示绿色,否则显示红色...

有人可以建议我是否可以使用 telegraf 代理和 grafana UI 做类似的事情来测量和显示 Windows 框的正常运行时间吗?

我可以根据要求发布 telegraf.conf。

谢谢,山姆

答案1

您可以使用 Windows“系统”对象和“系统启动时间”计数器来获取服务器启动时间(以秒为单位)。例如,将其添加到您监控的 Windows 主机的电报配置文件

[[inputs.win_perf_counters]]
...
    #####  System  #####
    [[inputs.win_perf_counters.object]]
        ObjectName = "System"
        Counters = ["System Up Time"]
        Instances = ["------"]
        Measurement = "win_system"
        #IncludeTotal=false #Set to true to include _Total instance when querying for all (*).

win_perf_counters 插件

答案2

我在“学习”配置中遇到了这个问题。我不得不更改

Instances = ["------"]  

更改为:

Instances = ["*"]  

我现在已经将其改为以下内容:

[[inputs.win_perf_counters.object]]  
  ObjectName = "System"  
  Counters = [  
    "Context Switches/sec",  
    "System Calls/sec",  
    "Processor Queue Length",  
    "Threads",  
    "System Up Time",  
    "Processes"  
  ]  
  Instances = ["------"]  
  Measurement = "win_system"  
  # Set to true to include _Total instance when querying for all (*).  
  #IncludeTotal=false

相关内容