python windows 客户端开发_open-falcon Windows系统客户端

open-falcon-agent-windows

open-falcon indows Agent

使用方法

安装依赖

pip3 install -r requirements.txt

安装完Python以后需要执行build_exe.bat变成exe格式 W

c:\> .\build_exe.bat

57 INFO: PyInstaller: 3.6

57 INFO: Python: 3.8.3

60 INFO: Platform: Windows-10-10.0.18362-SP0

66 INFO: UPX is not available.

68 INFO: Extending PYTHONPATH with paths

71 INFO: checking Analysis

114 INFO: checking PYZ

127 INFO: checking PKG

176 INFO: Building PKG (CArchive) PKG-00.pkg

3131 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.

3144 INFO: Bootloader C:\Python38\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe

3144 INFO: checking EXE

3147 INFO: Rebuilding EXE-00.toc because agent.exe missing

3147 INFO: Building EXE from EXE-00.toc

3211 INFO: Copying icons from ['ico\\favicon.ico']

3212 INFO: Writing RT_GROUP_ICON 0 resource with 20 bytes

3214 INFO: Writing RT_ICON 1 resource with 4264 bytes

3219 INFO: Updating resource type 24 name 1 language 0

3234 INFO: Building EXE from EXE-00.toc completed successfully.

生成文件在dist目录中agent.exe, 请吧agent.exe和config.json放到一个目录中

config.json 配置说明

{

"debug": true,

"interval": 60,

"heartbeat_addr": "127.0.0.1:6030",

"transfer_addr": "127.0.0.1:8433",

"version": "0.0.1",

"plugins":[

"CollectBasic"

]

}

参数

数值

说明

debug

true/false

debug日志开关,否则只输出错误日志

interval

60秒

数据采集提交

heartbeat_addr

127.0.0.1:6030

心跳地址

transfer_addr

127.0.0.1:8433

数据提交地址

plugins

["CollectBasic"]

插件配置

安装服务

agent.exe --startup auto install 并且设置服务自启动

agent.exe start 启动服务

plugin 配置

{

"plugins":[

"CollectBasic"

]

}

数组中的“CollectBasic”是插件类名称, 类名称配置在plugins包的__init__.py 中配置

from .collect import CollectBasic

自定义采集类

自定义采集类需要继承 Metri 类, Metric定义如下

class Metric:

def make_data(self, metric, value, c_type="", tags="", timestamp=0):

return {

"endpoint": self.hostname,

"metric": metric,

"timestamp": timestamp,

"step": self.push_interval,

"value": value,

"counterType": c_type,

"tags": tags

}

参数

示例

说明

metric

agent.alive

Counters

value

10

采集的数值

c_type

GAUGE/COUNTER

数据类型

tags

disk=c:\

标签

timestamp

1591889163

采集时间戳

basic.py

from datetime import datetime

from lib2.make_metric import Metric

class CollectBasicTest(Metric):

def __init__(self, config):

self.config = config

self.zh_decode = "utf8"

self.network_name = []

self.timestamp = int(datetime.now().timestamp())

def collect(self):

"""

collect函数必须存在, 在执行plugin的时候调用获取数据

"""

logging.debug('enter basic collect')

cpu_status = psutil.cpu_times_percent()

metric = "cpu.user"

value = cpu_status.user

c_type = "GAUGE"

result = self.make_data(metric, value, c_type=c_type, tags="", timestamp=self.timestamp)

return result

文件放到plugins目录中, 并且在plugins 的__init__.py 文件增加

from .basic import CollectBasicTest

重新执行build_exe.bat编译exec:\> .\build_exe.bat,并重新安装服务,并且重启服务

使用Inno Setup Compiler 打包成安装包, 修改项目的pack目录中的build.iss

#define ROOT "C:\github\open-falcon-agent-windows" 定义项目路径

然后编译, 会在Output文件夹中生成agent-setup.exe, 右击管理员运行即可安装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java应用程序的监控可以通过Open-Falcon进行配置和实现。下面是一些详细的配置步骤: 1. 下载和安装Open-Falcon Agent 在Java应用程序所在服务器上下载和安装Open-Falcon Agent。 2. 配置Open-Falcon Agent 修改Open-Falcon Agent配置文件,添加如下配置项: ``` { "plugin": { "enabled": true, "dir": "/usr/local/open-falcon/agent/plugin" }, "heartbeat": { "enabled": true, "addr": "127.0.0.1:6030", "interval": 60, "timeout": 1000 }, "transfer": { "enabled": true, "addrs": [ "127.0.0.1:8433" ], "interval": 60, "timeout": 1000 } } ``` 其中,`plugin.enabled`设置为`true`表示启用插件,`plugin.dir`设置插件所在目录。 3. 下载和安装Java插件 在Open-Falcon Agent所在服务器上下载和安装Java插件。 4. 配置Java插件 修改Java插件配置文件,添加如下配置项: ``` { "debug": true, "metric": { "step": 60, "prefix": "java." }, "plugin": { "jvm": { "enabled": true, "bin": "/usr/local/java/bin/java", "option": "-classpath ${plugin_dir}/java-plugin.jar", "jmx_url": "service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi", "metrics": [ { "name": "jvm.mem.heap_used", "type": "GAUGE", "mbean": "java.lang:type=Memory", "attribute": "HeapMemoryUsage.used" }, { "name": "jvm.mem.heap_committed", "type": "GAUGE", "mbean": "java.lang:type=Memory", "attribute": "HeapMemoryUsage.committed" }, { "name": "jvm.mem.heap_max", "type": "GAUGE", "mbean": "java.lang:type=Memory", "attribute": "HeapMemoryUsage.max" }, { "name": "jvm.mem.non_heap_used", "type": "GAUGE", "mbean": "java.lang:type=Memory", "attribute": "NonHeapMemoryUsage.used" }, { "name": "jvm.mem.non_heap_committed", "type": "GAUGE", "mbean": "java.lang:type=Memory", "attribute": "NonHeapMemoryUsage.committed" }, { "name": "jvm.threads.count", "type": "GAUGE", "mbean": "java.lang:type=Threading", "attribute": "ThreadCount" }, { "name": "jvm.threads.daemon_count", "type": "GAUGE", "mbean": "java.lang:type=Threading", "attribute": "DaemonThreadCount" }, { "name": "jvm.threads.peak_count", "type": "GAUGE", "mbean": "java.lang:type=Threading", "attribute": "PeakThreadCount" }, { "name": "jvm.gc.young_count", "type": "COUNTER", "mbean": "java.lang:type=GarbageCollector,name=PS Scavenge", "attribute": "CollectionCount" }, { "name": "jvm.gc.young_time", "type": "COUNTER", "mbean": "java.lang:type=GarbageCollector,name=PS Scavenge", "attribute": "CollectionTime" }, { "name": "jvm.gc.old_count", "type": "COUNTER", "mbean": "java.lang:type=GarbageCollector,name=PS MarkSweep", "attribute": "CollectionCount" }, { "name": "jvm.gc.old_time", "type": "COUNTER", "mbean": "java.lang:type=GarbageCollector,name=PS MarkSweep", "attribute": "CollectionTime" } ] } } } ``` 其中,`plugin.jvm.enabled`设置为`true`表示启用Java插件,`plugin.jvm.bin`设置Java程序所在路径,`plugin.jvm.option`设置Java插件所在路径,`plugin.jvm.jmx_url`设置JMX URL,`plugin.jvm.metrics`设置监控指标。 5. 重启Open-Falcon Agent 修改完Open-Falcon Agent和Java插件的配置文件后,需要重启Open-Falcon Agent。 6. 查看监控数据 在Open-Falcon Web界面上查看Java应用程序的监控数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值