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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值