# README
libagent
agent封装类库,用于快速开发agent
开发方式
已支持功能
-
与agent-server创建websocket连接并进行握手分配agent id
-
标准化日志输出
- 支持stdout和日志文件双目标输出
- 支持DEBUG、WARNING、INFO、ERROR级别的标准格式日志输出
- 支持日志文件的滚动存储
-
支持json、yaml或kv格式的配置文件,以下是一个kv格式配置文件示例
id = example-01 server = 127.0.0.1:13081 # log log.target = stdout #log.target = stdout,file #log.dir = ./logs #log.size = 10M #log.rotate = 7 # monitor monitor.enabled = true monitor.interval = 10s # limit limit.cpu_quota = 100 limit.memory_limit = 1G limit.disk_limit = [{"dev":"8:0","read_bytes":"1M","write_bytes":"1M","read_iops":4000,"write_iops":4000}]
-
支持agent的自监控数据上报,可通过配置文件中的monitor相关选项进行配置
-
支持断线重连功能
-
支持系统服务注册
# Functions
NewDummyApp 创建一个dummy的APP用于系统服务注册等.
RegisterService 注册系统服务.
Restart 重启agent.
Run 运行agent.
Start 启动agent.
Status 获取服务状态.
Stop 停止agent.
UnregisterService 卸载系统服务.
# Interfaces
App app 接口,每一个agent必须实现以下接口.