supervisor 监控redis & mongodb

安装

  1. 安装python
    brew install python
  2. 安装pip
    wget https://bootstrap.pypa.io/get-pip.py
    sudo python get-pip.py
  3. 安装supervisor
    pip install supervisor

配置文件

  1. 生成默认的配置文件
    echo_supervisord_conf > /etc/supervisord.conf
  2. 编辑配置文件 参考地址
  3. 附我的配置文件 在默认的配置文件后面添加
[supervisord]
nodaemon=true
[program:redis]
command=/usr/local/bin/redis-server /usr/local/etc/redis.conf
autostart=true
autorestart=true
startsecs=3

[program:mongod]
command=/usr/local/bin/mongod --dbpath /Users/weixuan/Database/mongodbdata
autostart=true
startsecs=3
autorestart=true

基本使用

Supervisord安装完成后有两个可用的命令行supervisorsupervisorctl
常见的命令如下:

命令 说明
supervisord 初始启动Supervisord,启动、管理配置中设置的进程
supervisorctl stop programxxx 停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon
supervisorctl start programxxx 启动某个进程
supervisorctl restart programxxx 重启某个进程
supervisorctl stop groupworker 重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all 停止全部进程,注:start、restart、stop都不会载入最新的配置文件
supervisorctl reload 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。注意:显示用stop停止掉的进程,用reload或者update都不会自动重启

常见命令

supervisorctl tail programname 查看programname的日志
supervisorctl tail redis 查看日志

错误代码

ERROR (abnormal termination)

解决办法:
supervisorctl tail programname 查看programname的具体日志信息

Error: Another program is already listening on a port that one
of our HTTP servers is configured to use. Shut this program down first
before starting supervisord.

解决办法:

sudo unlink /tmp/supervisor.sock
or
sudo unlink /var/run/supervisor.sock

gave up: redis entered FATAL state, too many start retries too quickly

解决办法:

修改redis.conf的daemonize为no

brew安装的redis,配置文件在 /usr/local/etc/redis.conf

小技巧:vim查找

# 要自当前光标位置向上搜索
/pattern
#pattern   表示要搜索的特定字符序列
# 要自当前光标位置向下搜索
?pattern

# 精确查找
# 要查找单个的   place,请键入该单词,并在其前后各加一个空格
 /   place

其它

终止mongodb

正常:

use admin
db.shutdownServer()

强制:

kill -9 pid

原文地址:https://www.cnblogs.com/sundahua/p/9112391.html

时间: 2024-08-02 10:17:31

supervisor 监控redis & mongodb的相关文章

监控开发之用munin来自定义插件监控redis和mongodb

求监控组的大哥大妹子们干点事,真不容易 ! 要问他们是谁?  他们是神 .轻易别找他们,因为找了也是白找. 上次因为python和redis长时间brpop的时候,会有线程休眠挂起的情况,所有通知报警平台被下线了.这次算是完美解决了.再把他给上线.这两公司的告警已经开始往我这边的接口开始仍了. 这边正在改zabbix cmdb的控制,所以暂时不能登录.等搞好了后,让他们搞下redis和mogodb的监控,居然还让我发邮件和提供脚本及思路啥的...   一寻思,又要去zabbix,又要写脚本,还不

Cloud Insight 仪表盘上线 | 全面监控 Redis

OneAPM 作为应用性能领域的新兴领军企业,近期发布了重量级新产品—— Cloud Insight 数据管理平台,用它能够监控所有基础组件,并通过 tag 标签对数据进行管理. 近日,Cloud Insight (Ci) 探针仪表盘功能重磅上线,默认安装了探针,配置平台服务就会自动生成相应的仪表盘,而且仪表盘将包含所有数据.此外,本文也将重点介绍 Redis 的几项监控指标以及一些值得注意的部分,希望给使用 Redis 的读者带来一些帮助. 仪表盘 任意时间段数据查询 默认只能显示最近一小时的

Cacti监控Redis实现过程

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.被广泛的用于对服务器的运维监控中,Cacti提供了一种插件式的管理,只要按要求写好特定的模板,那么你就可以对任何服务进行流量监控.本文就是要为大家介绍两个模板,分别是MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控. 1,升级python,此时如果是系统默认的python版本,会出现以下错误 python setup.py install Tr

监控redis数据库应用状态:python,tornado实现

公司里最近redis服务器压力越来越大,其大概情况,只能从操作系统层面看,并不详尽,故同事在网上找了一个叫做 redis-live的开源项目,我配合部署了一下,还真有点意思,并解决了其中部分小debug, 原文来之这里 目前来说,越来越多的使用多了NOSQL的业务,但是这方面的监控缺不多.今天给大家介绍几个专业监控redis服务的工具,便于大家进行redis性能分析. 下面开始介绍安装redis-live: 因为redis-live是基于python开发的,所以首先要部署所需要的python环境

RedisLive监控Redis服务

RedisLive监控Redis服务 RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的监控服务,界面上只有一个基于BootStrap的web界面,非常简洁明了.除此之外,它还支持多实例监控,切换方便,而且配置起来也非常容易.监控信息支持redis存储和持久化存储(sqlite)两种方式. 注意:RedisLive是使用Python2.x编写,建议使用2.7,本次环境为Cen

zabbix 监控 redis

通过redis自带的info命令来监控redis的健康状态,通过redis-cli PING命令来监控redis的存活状态. 附件中有监控模板,将监控脚本放在redis服务器的自定义的/scripts/zabbix_redis/下: #! /bin/bash #Name: redismontior.sh REDISCLI="/usr/bin/redis-cli" HOST="127.0.0.1" PORT=6379 if [[ $# == 1 ]];then    

Redis 学习(Zabbix 监控Redis)

前面redis的配置文件盒常用命令.redis info信息都解释完了,接下来就是监控我们的redis了,我使用的是zabbix监控软件,所有在这里我在这里详细介绍下怎么设置zabbix来监控reids,主要分为配置zabbix插件.插件脚本.创建模板监控项.创建图形几个方面. Redis 学习(配置文件和常用命令注释): http://54snow.blog.51cto.com/2690157/1537449 Redis 学习(Redis Info详细注释): http://54snow.bl

[Erlang_Question13]怎么把一个普通的进程挂入Supervisor监控树?

简单来说:应该是在调用的start_link返回一个{ok,Pid}就可以把这个进程放入监控树Supervisor里面: -module(worker). -author("[email protected]"). -export([start_link/0,stop_worker/0]). start_link() –> {ok,spawn(fun() -> loop() end)}. loop() –> case whereis(?MODULE) of undef

zabbix自动发现监控redis

1: 在zabbix_agentd端编写自动发现的脚本,主要是自动发现redis的监控端口,脚本如下: vim /usr/local/zabbix/zabbix_discover_redis.sh #!/bin/sh #zhuangweihong 20160419 zabbix discover redis res=`sudo ss -tulnp|grep redis|awk '{print $(NF-2)}'|awk -F':' '{print $(NF)}'|sort -u` if [[ -