【转】open-falcon监控windows机器
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机器的更多相关文章
- Prometheus(二):Prometheus 监控Windows机器
一.安装wmi-exporter 首先在需要监控的Windows机器上安装wmi_exporter.wmi_exporter下载地址:https://github.com/martinlindhe/w ...
- 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 ...
- zabbix监控windows主机网卡流量
监控windows主机网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 客户端配置:(172.30.1.120,wi ...
- 如何使用LoadRunner监控Windows
1.监视连接前的准备工作 1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service (开始—)运行 ...
- LoadRunner监控windows资源报错Monitor name :Windows Resources. Cannot connect to machine
目标机:被监控的机器,windows server 2008 R2. 测试机:执行control的机器,windows7 操作:在测试机上执行Control,添加windows的监控 问题现象:Mon ...
- Nagios利用NSClient++监控Windows主机
在Nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的.其功能类似于check_nrpe.不过还需要搭配另外一个软件NSClient++,它则类似于NRP ...
- Loadrunner监控windows系统“找不到网络路径”问题解决
一.监控windows系统: 1.监视连接前的准备工作 1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Ser ...
- Nagios 利用NSClient++的check_nrpe方式使用自定义脚本监控windows
分类 NsClient++来监控windows主机有三种方式:check_nt.check_nrpe.nsca.check_nt自带很多功能,但是扩展性差,check_nrpe可以通过执行自己定义的脚 ...
- 在本地windows机器上安装SecureCRT客户端
一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...
随机推荐
- Ubuntu安装 Spark2.3.0 报错原因及解决
Ubuntu 安装Spark出现的问题及解决 最近在搭建Hadoop集群环境和Spark集群环境,出现的问题可能不太复杂,纯粹记录安装步骤和问题解决办法.集群环境使用的是(2台)阿里云主机,操作系统是 ...
- 20145311实验五"Java网络编程及安全"
20145311实验五 "Java网络编程及安全" 程序设计过程 实验内容 ·掌握Socket程序的编写:·掌握密码技术的使用:·设计安全传输系统 ·利用加解密代码包,编译运行代码 ...
- UVa 11582 巨大的斐波那契数!(幂取模)
https://vjudge.net/problem/UVA-11582 题意: 输入两个非负整数a.b和正整数n,你的任务是计算f(a^b)除以n的余数.f[0]=0,f[1]=1,f[i+2]=f ...
- shell 按行读取文件
#!/bin/bash count= //赋值语句,不加空格 cat test | while read line //cat 命令的输出作为read命令的输入,read读到的值放在line中 do ...
- Oracle 创建 Schema
-- 查看当前已有的用户 SELECT Username FROM dba_users; -- 创建临时 CREATE USER gzmpc IDENTIFIED BY PASSWORD; -- 授权 ...
- 网络安全:攻击和防御练习(全战课), DDos压力测试
XSS 跨站脚本攻击: Cross-site scripting(简称xss)跨站脚本. 一种网站的安全漏洞的攻击,代码注入攻击的一种.XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法 ...
- html5 自带全屏API调用方法
function FullScreen(){ var el = $('html')[0];//要全屏的元素,如果要全页面全屏,建议使用html节点而不是body节点 var isFullscreen= ...
- fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案
本文转载于:http://blog.csdn.net/tfy1028/article/details/8660823 win7 下,安装的VS2010,然后搭配opencv2.4.3运行,报错为:fa ...
- git源代码管理工具
git是一款源代码管理工具 是分布式版本管理工具 分布式管理必须先在本地提交然后才能提交到服务器: svn集中式版本管理工具 集中式版本管理工具离开服务器就做不了版本管理: 初始化仓库 1.用git初 ...
- python语言的优缺点
python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂,初学者学Py ...