aspot

command module
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2020 License: MIT Imports: 28 Imported by: 0

README

ASPOT

A super daemon process, as a service pot!

说明:aspot是一个基于linux平台的进程守护工具,目标是完成整个进程生命周期的管理,同时具备硬件资源和进程资源的整合能力,以及提供编排工具需要的接口。

功能:

1.进程守护

2.服务开关及版本更新

3.日志管理

4.日志清洗

5.进程资源占用管理

6.服务器节点资源查看

7.计划任务

特色:

1.无需第三方组件及中间件,开箱即用

2.每个被守护的进程的配置和信息只需要一个shell文件即可完成,很少的配置选项

3.提供计划任务,且支持开关操作

4.支持信息及时刷新,可随时新增新的进程及更新版本,方便编排工具部署业务

5.支持进程级别的资源管理,并且可持续强化,目前支持内存和CPU的查看,计划下个版本添加资源控制

6.提供日志切割及压缩,且支持日志流式清洗并发送至消息队列

计划:

1.增加对网络资源的查看

2.增加对进程资源的限制

3.优化代码结构

4.定义清洗方式的接口目前只能写在代码里,计划对外部开放

5.计划支持OCI标准,完成容器化的操作

6.增加脚本工具管理,可以执行脚本并查看结果

7.添加安全验证

使用

将编译好的aspot可执行文件放在目标路径,执行后会在当前目录下生成必要目录,如下
├── bin
│   ├── alart
│   ├── autolaunch
│   ├── cron
│   ├── daemon
│   ├── services
│   └── tool
├── aspot
└── logs
将相应的文件放到目录下即可,如启动守护脚本放在daemon下,脚本内容结构如下:
#!/bin/bash    (声明解释器)

#Logsize=50    (设置日志文件大小)
#Logfiles=5     (设置保存日志文件个数)
#Alart=alart.sh   (设置报警脚本名)
#Logapi=        (设置日志发送接口,留空不发送)
#Logserver=     (日志服务器地址)
#Topic=        (设置消息队列的Topic,Logapi留空则不生效)
#WashMode=      (日志清洗策略)
#Version=       (配置服务版本号)
#Dure=5         (服务启动时间设置)
#Retry=3        (服务启动重试次数)

ping www.baidu.com  (服务执行语句)

配置项将#去除,修改即可生效

Version字段可以使用$(do something)的形式直接获取版本信息,加上$会被程序认为是用bash处理并返回结果,如Version=$(cat /aspot/bin/services/aaa/version.txt)

告警信息

告警脚本需要接受两个参数:状态和守护脚本名,分别以第一个参数和第二个参数传入告警脚本,脚本内部case判断后执行具体的操作,状态分为up、down、fail,分别表示启动成功、服务进程异常终止、启动失败。守护脚本名用于标记具体服务,告警脚本放入alart目录即可。

其它

计划任务及脚本工具文档待完善

接口说明

功能 接口 传递参数 传参类型 请求方式 返回类型
启动指定服务 /launch file string GET string
关闭指定服务 /down file string GET string
重启服务 /restart file string GET string
关闭所有服务 /alldown "" "" GET string
获取版本号 /getversion file string GET string
设置版本号 /setversion file string GET string
查看守护信息 /info file string GET json
查看所有信息 /allinfo "" "" GET json
获取状态 /status file string GET json
查看计划任务 /croninfo file string GET json
查看计划任务列表 /seecron "" "" GET json
启动计划任务 /startcron file string GET string
停止计划任务 /stopcron file string GET string
设置计划任务 /setcron file,rule string,string GET string
添加计划任务 /addcron "" "" GET string
查看日志 /seelog file,lines string,string GET string
下载日志文件 /downlog file string GET file
查看系统资源 /getres "" "" GET json
获取系统信息 /getsys "" "" GET json
查看进程资源 /getproc file string GET json
刷新所有信息 /refresh "" "" GET string
编译说明:
推荐golang 版本 version ≥ 1.13 ,如果出现某些依赖无法下载的情况,请使用golang代理科学操作!

1.克隆项目 git clone https://github.com/SachChen/aspot

2.进入项目目录 cd aspot

3.初始化 go mod init aspot

4.go build aspot.go

警告:

目前未添加安全验证,监听端口千万不要开放在公共网络!!!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
src

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL