GO 编写的进程管理工具 Gosuv
Gosuv是一个进程管理工具,使用Go语言编写。与python-supervisor的功能和用法类似。
一、Gosuv的特点:
Web控制台部分做了重点加强,因为使用频率太高了,在网页上现在可以直接添加先的应用,网页查看日志的部分也做了优化,查看起来没有这么费劲了。使用了websocket连接后端,状态一有变化,前台就能立刻看到变化。
reload命令不在是重启的命令,而是重新读取配置文件,并应用已经更改的那部分。
日志部分对于带有ansi color的输出,再也不会报XML RPC错误了,这个只有用python的xml rpc库才会出这个问题,用Go语言写自然不会有这个问题。
配置文件也被我全部换成yaml格式的了,修改起来方便很多。所以的配置全部都放在了一个文件中,方便程序自动化的管理。
增加的CPU和内存的监控
默认killasgroup,所有启动程序在停止后,不会有残余的进程
加入了fatal状态的pushover通知的功能
支持了github的webhook,在github代码更新的时候,可以触发更新命令,并重启程序
gosuv程序加入了自更新功能
二、部署环境
法1:使用脚本自动部署
curl https://raw.githubusercontent.com/codeskyblue/gosuv/master/get.sh | bash
法2:直接下载源码压缩包,解压直接启动即可(百度云连接如下)
链接:https://pan.baidu.com/s/1Xwh4M_3JoSBygTFyW4HnNQ 密码:x5qp
官方文档:https://github.com/codeskyblue/gosuv
对,你没看错就一条命令,搞定,详细信息及使用方法,可以参考官方文档
三、配置gosuv
1) 启动服务
[root@backup ~]# gosuv start-server
server started, listening on 0.0.0.0:11313
2)查看状态
[root@backup ~]# gosuv status
```b
3)重启单个进程
```bash
$ gosuv stop test
$ gosuv start test
4)web访问
http://localhost:11313
5)添加访问 用户密码认证功能
[root@backup ~]# cat /root/.gosuv/config.yml
server:
httpauth:
enabled: true ##将false改为true 开启认证模式
username: 用户名
password: 密码
addr: :11313
client:
server_url: http://localhost:11313
重启服务
$ gosuv shutdown 关闭程序
$ gosuv start-server
四、使用效果
GIF效果图
五、异常排查
如果您的是java 进程,使用nohub 还追加日志那种,一样不要在进程里写入,否这会加载异常,或者没有cpu,内存数据,主要原因是 书写格式问题引发的。
nohup java -Xms128m -Xmx256m -jar xxx.jar #后面不要追加日志 他会自动生成的
## -Xms 最小内存
## -Xmx 最大内存
- QQ精品交流群
-
- 微信公众号
-