前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP实现的Supervisord多服务监控工具

PHP实现的Supervisord多服务监控工具

作者头像
Tinywan
发布2024-07-16 14:53:16
600
发布2024-07-16 14:53:16
举报
文章被收录于专栏:开源技术小栈

Supervisord多服务器监控工具

功能

  • 监控无限数量的Supervisord服务器和进程
  • 启动/停止/重启进程
  • 读取标准错误日志
  • 当出现标准错误时启动新的Redmine工单
  • 标准错误发生时发出声音警报
  • 静音声音警报(一段时间后自动恢复)
  • 监控进程正常运行时间状态

安装

  1. 将supervisord-monitor克隆到您的虚拟主机/web根目录:
代码语言:javascript
复制
git clone https://github.com/mlazarov/supervisord-monitor.git
  1. 将application/config/supervisor.php.example复制到application/config/supervisor.php:
代码语言:javascript
复制
cp supervisord-monitor/application/config/supervisor.php.example supervisord-monitor/application/config/supervisor.php
  1. 为您的所有Supervisord服务器启用/取消注释inet_http_server(在supervisord.conf中找到)。
代码语言:javascript
复制
[inet_http_server]
port=*:9001
username="yourusername"
password="yourpass"

更改supervisord.conf后不要忘记重启Supervisord服务。

  1. 编辑supervisord-monitor配置文件并添加您的所有Supervisord服务器:
代码语言:javascript
复制
vim application/config/supervisor.php
  1. 配置您的web服务器,将其中一个虚拟主机指向'public_html'目录。
  2. 打开web浏览器并输入您的虚拟主机URL。

Redmine集成

  1. 打开配置文件:
代码语言:javascript
复制
vim application/config/supervisor.php
  1. 将以下行更改为您的redmine URL和自动分配的ID:
代码语言:javascript
复制
// Redmine新问题URL路径
$config['redmine_url'] = 'http://redmine.url/path_to_new_issue_url';
// 默认的Redmine分配者ID
$config['redmine_assigne_id'] = '69';

故障排除

代码语言:javascript
复制
Did not receive a '200 OK' response from remote server.

在大多数情况下,这意味着Supervisord监控工具没有直接的网络访问权限到Supervisord RPC2 http接口。检查您的防火墙和网络连接。

代码语言:javascript
复制
Did not receive a '200 OK' response from remote server. (HTTP/1.0 401 Unauthorized)

401 Unauthorized意味着您的Supervisord监控工具和Supervisord之间有连接,但是用户名或密码错误。

这意味着您的supervisord服务没有启用rpc接口(仅限Supervisord v3+)。要启用rpc接口,请在配置文件中添加以下行:

在示例配置文件中,有一个名为[rpcinterface:supervisor]的部分。默认情况下,它看起来像这样:

代码语言:javascript
复制
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[rpcinterface:supervisor]部分必须保留在配置中,以确保标准的supervisor设置正常工作。如果您不希望supervisor做任何它本来就没有做的事情,这就是您需要了解的所有关于这种类型部分的信息。

有关更多信息,请访问官方Supervisord配置文档:http://supervisord.org/configuration.html#rpcinterface-x-section-settings

代码语言:javascript
复制
The requested URL /control/ ... was not found on this server.

如果您在每个操作(停止,开始,重启等)上都收到此错误,很可能您的web服务器没有尊重在public_html目录中找到的.htaccess文件。要测试这一点,您可以在httpd.conf(如果您使用的是Apache)中添加AllowOverride All配置,或者将.htaccess文件中的规则添加到httpd.conf文件中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Supervisord多服务器监控工具
  • 功能
  • 安装
  • Redmine集成
  • 故障排除
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档