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目录下,进入命令行界面,进行安装

3、安装psutil模块

版本:4.1.0

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

第二步:脚本部署及修改

脚本名称:windows_collect.py

脚本位置:C:\open-falcon\workspace\agent\  (此目录自己指定)

此脚本的主要监控项在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:\Python27\python.exe  C:\open-falcon\workspace\agent\windows_collect.py

2、新建计划任务

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

点击创建基本任务:

填上名称

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

3、修改计划任务属性

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

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

【转】open-falcon监控windows机器的更多相关文章

  1. Prometheus(二):Prometheus 监控Windows机器

    一.安装wmi-exporter 首先在需要监控的Windows机器上安装wmi_exporter.wmi_exporter下载地址:https://github.com/martinlindhe/w ...

  2. zabbix 3.0.4 监控windows 服务

    下载客户端 http://www.zabbix.com/download.php http://www.zabbix.com/downloads/3.0.4/zabbix_agents_3.0.4.w ...

  3. zabbix监控windows主机网卡流量

    监控windows主机网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 客户端配置:(172.30.1.120,wi ...

  4. 如何使用LoadRunner监控Windows

    1.监视连接前的准备工作   1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service (开始—)运行 ...

  5. LoadRunner监控windows资源报错Monitor name :Windows Resources. Cannot connect to machine

    目标机:被监控的机器,windows server 2008 R2. 测试机:执行control的机器,windows7 操作:在测试机上执行Control,添加windows的监控 问题现象:Mon ...

  6. Nagios利用NSClient++监控Windows主机

    在Nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的.其功能类似于check_nrpe.不过还需要搭配另外一个软件NSClient++,它则类似于NRP ...

  7. Loadrunner监控windows系统“找不到网络路径”问题解决

    一.监控windows系统: 1.监视连接前的准备工作 1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Ser ...

  8. Nagios 利用NSClient++的check_nrpe方式使用自定义脚本监控windows

    分类 NsClient++来监控windows主机有三种方式:check_nt.check_nrpe.nsca.check_nt自带很多功能,但是扩展性差,check_nrpe可以通过执行自己定义的脚 ...

  9. 在本地windows机器上安装SecureCRT客户端

    一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...

随机推荐

  1. Python3.x:sys.argv[]的简介

    Python3.x:sys.argv[]的简介 sys模块通过sys.argv提供对任何命令行参数的访问.主要有两个参数变量: sys.argv是命令行参数的列表. len(sys.argv)是命令行 ...

  2. 20155201 实验三《Java面向对象程序设计》实验报告

    20155201 实验三<Java面向对象程序设计>实验报告 一.实验内容 XP基础 XP核心实践 相关工具 二.实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门 ...

  3. 设置WebApi里面命名空间参数

    在这种情况下: 如果没有特别处理,会报: 所以要像MVC中的控制器一下配置一个命名空间参数,webapi里面没有自带这个功能 代码: using System; using System.Collec ...

  4. 前端工程化 - Yeoman

    什么是Yeoman Yeoman是一个前端构建工具.它整合了yo(yeoman).gulp/grunt和npm/bower等工具,组成了一个完整的工具集合,为前端开发提供了一套完整的解决方案. Yeo ...

  5. UOJ #122 【NOI2013】 树的计数

    题目链接:树的计数 这道题好神啊……正好有人讲了这道题,那么我就写掉吧…… 首先,为了方便考虑,我们可以把节点重标号,使得\(bfs\)序变成\(1,2,3,\dots,n\),那么显然树的深度就是\ ...

  6. CSS的三种样式表和优先级

    1.外部样式表当样式需要应用于很多页面时,外部样式表将是理想的选择.在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观.每个页面使用 <link> 标签链接到样式表. & ...

  7. 一个n*n 的方格,要从左上角走到右下角,一次只能往右或往下走一步,求算法得出所有走动的方法数。

    题目一:一个n*n 的方格,要从左上角走到右下角,一次只能往右或往下走一步,求算法得出所有走动的方法数. 分析:对于第(i,j)个格子,只有向右走一步到达或者向左走一步到达,dp(i,j) = d(i ...

  8. c++运算符优先级表

    优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 作用 ...

  9. UVA-307 Sticks (DFS+剪枝)

    题目大意:用n根长度未必相等的木棒匹配出最多数量的等长木棒. 题目分析:枚举所有可能的等长木棒的长度,通过DFS的方式逐根匹配,在此过程中要剪枝.先将木棒长度按从大到小排序,也就是说匹配每一根等长木棒 ...

  10. Uedit个人专注

    Uedit个人专注   Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\Shell\Uedit] [HKEY_CLASSES_ROO ...