zoukankan      html  css  js  c++  java
  • 【转】open-falcon监控windows机器

    open-falcon监控windows机器
    时间:2016-05-22 15:34:04   来源:眷恋江南   编辑:涛涛   点击:791  

    A-A+

     

     

    最近公司上线了一款新的游戏,用的windows机器,需要用open-falcon对机器进行监控。

    open-falcon对windows的监控还不是特别完善,linux下的监控是通过agent来完成的,但是windows下的agent还没有开发,参考open-falcon的文档,里面暂时有2中实现方法。

    一种是用python脚本来获取数据,然后把数据push到一台agent上,再推送到server,实现机器监控。

    脚本如下:windows_collect.py

    另外是通过golong版本的windows agent。地址如下:https://github.com/LeonZYang/agent

    我是通过第一种方法python脚本来实现的。

    下面就跟大家分享一下我的部署过程以及遇到的问题。

    第一步:环境部署

        使用python脚本来监控的话,需要安装python以及2个模块psutil 和requets模块

    1、安装python

        版本:2.7.11

        直接网上下载,然后点击安装就行了,非常简单

        然后设置环境变量,自行百度即可。

        

    2、安装requests模块

        版本:2.9.1 

        下载的是tar包,然后解压到C:Python27目录下,进入命令行界面,进行安装

        wKioL1cd8h3jG-vRAAAaR1bHAng803.png

    3、安装psutil模块

        版本:4.1.0

        直接网上下载,双击安装,非常简单

    第二步:脚本部署及修改

        

    脚本名称:windows_collect.py

    脚本位置:C:open-falconworkspaceagent  (此目录自己指定)

    此脚本的主要监控项在github里面都有说明,这里就说一下需要修改的地方。

    cpu_interval = 60 
    push_interval = 300  
    push_interval_agent = 60   
    zh_decode = "gbk"
    endpoint = "******"   
    ignore_interface = ["Loopback","Teredo Tunneling","isatap","6TO4 Adapter"]
    push_url = "

    push_interval = 300 

    这是推送间隔,默认的是300秒

    push_interval_agent = 60 

    这个是我自己设置的推送agent.alive的间隔,用于主机存活监测,会推送一个值为1,不需要可忽略。

    endpoint = “***”

    这是给该机器的配的名称,自己指定

    push_url = "http://192.168.221.22:1988/v1/push"

    这是推送接口,因为本身是脚本获取系统信息,需要借用其他的agent的接口来将信息推送到服务器端,这个第一次很难理解,我也是想了好久。

    增加agent.alive 主机存活的监控:

    windows_collect.py脚本里并无agent.alive的监控项,但是我们如果需要监控机器的存活的话,

    那么可以用一下的方法:

    1、定时推送agent.alive的值到ope-falcon的服务器端

    2、如果没有数据推送,在Nodata里面将agent.alive的数据设置为-1

    3、配置报警规则,如果agent.alive 的值小于0,那么发送报警。

    需要在脚本里增加一个推送agent.alive的函数,单独来推送

    def agent_alive():
        ts = int(time.time())
        payload = []
        data = {"endpoint":endpoint,"metric":"","timestamp":ts,"step":push_interval_agent,"value":"","counterType":"","tags":""}
        data["metric"] = "agent.alive"
        data["value"] = "1"  推送一个值为1
        data["counterType"] = "GAUGE"
        payload.append(copy.copy(data))

    为什么要单独来推送呢?

    因为在测试中发现,如果将agent.alive和其他的系统数据一起推送的话,推送间隔很难协调。如果设置为300秒,那么间隔太长,会触发主机存活报警,如果将设置调小的话,那么获取的其他系统数据都不完整了,所以将他们都分开来推送,agent_alive 单独设置为60秒,其他数据保持300秒。也就是最上面配置的那个

    push_interval = 300  
    push_interval_agent = 60

    最后,在main()函数执行之后,再执行agent_alive函数。

    if __name__ == "__main__":
        main()
        agent_alive()

    修改完成之后,在windows终端里面执行以下,如果没有报错,那么就没有问题,可以配置计划任务了。

    第三步:配置计划任务

    将脚本修改完毕之后,需要放到计划任务中执行,设置为1分钟执行一次,

    1、首先建立一个批处理文件,里面就一句话

      C:Python27python.exe  C:open-falconworkspaceagentwindows_collect.py

    2、新建计划任务

      控制面板--管理工具--任务计划程序

      点击创建基本任务:

      填上名称 

      wKioL1c9fwqyiIFBAAB4a463W_U510.png

      wKioL1c9fwrA-Dp4AAB8wqg9AjY273.png

      wKioL1c9fwrB6RAeAACUuy7Hf1c857.png

      wKioL1c9fwuhu-0MAAB0nzR86HU191.png

      指定程序位置,也就是我们刚建立的bat文件,还要把起始于也填上,也就是bat的路径

      wKiom1c9fiDw3vXQAAD7AEvp2v8382.png

    3、修改计划任务属性
      

      wKiom1c9gE7BXtKvAABRkgA68NA932.png

      wKiom1c9gE7DK-UUAAFQxcJtNZQ798.png

      修改完毕之后,将计划任务打开就行了。

    以上,windows机器的open-falcon监控就完成了,可以去web端配置报警规则以及screen了。

  • 相关阅读:
    &与&&的区别
    x^y=(x&~y)|(~x&y)证明
    a、b交换与比较
    x+y = ((x&y)<<1) + (x^y) 证明
    (x&y) + ((x^y)>>1)即x和y的算数平均值
    默认参数提升
    类型转换
    闲扯原码,补码和反码(转)
    C/C++中float和double的存储结构
    led设备驱动(s3c_led.c)
  • 原文地址:https://www.cnblogs.com/liangqihui/p/6624555.html
Copyright © 2011-2022 走看看