1、变更原因 
部署安装supervisor进行filebeat守护及后面的各种服务进程守护可以用
2、变更内容
增加supervisor服务

3、变量时间:6月2号-6月3号
4、变更风险评估:无风险
4.1技术风险:无风险
4.2业务风险:无风险
4.3操作风险:人工操作风险
4.4其他风险:无风险
5、变更步骤

5.1 、安装python的setuptools模块

cd /data/download

wget   https://bootstrap.pypa.io/ez_setup.py

python ez_setup.py

5.2、下载工具包meld

wget https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz#md5=3ccc78cd79cffd63a751ad7684c02c91

tar -zxvf meld3-1.0.2.tar.gz
cd meld3-1.0.2
python setup.py install

5.3、下载工具包supervisor

wget https://pypi.python.org/packages/31/7e/788fc6566211e77c395ea272058eb71299c65cc5e55b6214d479c6c2ec9a/supervisor-3.3.3.tar.gz#md5=0fe86dfec4e5c5d98324d24c4cf944bd
tar -zxvf supervisor-3.3.3.tar.gz
cd supervisor-3.3.3
python setup.py install

运行echo_supervisord_conf  看看是否安装正常

#如果有问题的话自行检查,一般情况下不可能有问题

5.4、复制配置文件

echo_supervisord_conf > /etc/supervisord.conf

修改配置文件/etc/supervisord.conf

nodaemon=false    改成true

5.5、在etc目录下创建自启服务文件

touch supervisord.service

5.6、然后在supervisord.service文件里面增加配置

[Unit]
Description=Supervisor daemon [Service]
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target

5.7、复制至服务启动目录 cp supervisord.service /usr/lib/systemd/system/
5.8、systemctl enable supervisord 设置开机自启动
5.9、systemctl is-enabled supervisord 检查状态(打印enable为成功)

5.10、修改配置文件supervisord.conf

具体配置文件视具体filebeat情况而定,没有具体的配置文件的,配置解释如下:

- command:启动程序使用的命令,可以是绝对路径或者相对路径
- process_name:一个python字符串表达式,用来表示supervisor进程启动的这个的名称,默认值是%(program_name)s
- numprocs:Supervisor启动这个程序的多个实例,如果numprocs>1,则process_name的表达式必须包含%(process_num)s,默认是1
- numprocs_start:一个int偏移值,当启动实例的时候用来计算numprocs的值
- priority:权重,可以控制程序启动和关闭时的顺序,权重越低:越早启动,越晚关闭。默认值是999
- autostart:如果设置为true,当supervisord启动的时候,进程会自动重启。
- autorestart:值可以是false、true、unexpected。false:进程不会自动重启,unexpected:当程序退出时的退出码不是exitcodes中定义的时,进程会重启,true:进程会无条件重启当退出的时候。
- startsecs:程序启动后等待多长时间后才认为程序启动成功
- startretries:supervisord尝试启动一个程序时尝试的次数。默认是3
- exitcodes:一个预期的退出返回码,默认是0,2。
- stopsignal:当收到stop请求的时候,发送信号给程序,默认是TERM信号,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。
- stopwaitsecs:在操作系统给supervisord发送SIGCHILD信号时等待的时间
- stopasgroup:如果设置为true,则会使supervisor发送停止信号到整个进程组
- killasgroup:如果设置为true,则在给程序发送SIGKILL信号的时候,会发送到整个进程组,它的子进程也会受到影响。
- user:如果supervisord以root运行,则会使用这个设置用户启动子程序
- redirect_stderr:如果设置为true,进程则会把标准错误输出到supervisord后台的标准输出文件描述符。
- stdout_logfile:把进程的标准输出写入文件中,如果stdout_logfile没有设置或者设置为AUTO,则supervisor会自动选择一个文件位置。
- stdout_logfile_maxbytes:标准输出log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小
- stdout_logfile_backups:标准输出日志轮转备份的数量,默认是10,如果设置为0,则不备份
- stdout_capture_maxbytes:当进程处于stderr capture mode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB
- stdout_events_enabled:如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESS_LOG_STDERR事件会被触发
- stderr_logfile:把进程的错误日志输出一个文件中,除非redirect_stderr参数被设置为true
- stderr_logfile_maxbytes:错误log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小
- stderr_logfile_backups:错误日志轮转备份的数量,默认是10,如果设置为0,则不备份
- stderr_capture_maxbytes:当进程处于stderr capture mode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB
- stderr_events_enabled:如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESS_LOG_STDERR事件会被触发
- environment:一个k/v对的list列表
- directory:supervisord在生成子进程的时候会切换到该目录
- umask:设置进程的umask
- serverurl:是否允许子进程和内部的HTTP服务通讯,如果设置为AUTO,supervisor会自动的构造一个url

具体配置例子如下:

[program:filebeat_oracle]
command=/data/services/filebeat/filebeat -c /data/services/filebeat/filebeat_oracle.yml
process_name=%(program_name)s
directory=/data/services/filebeat
autostart=true
autorestart=true
startsecs=10
startretries=6
user=root
stderr_logfile=/data/services/filebeat/filebeat_oracle_err.log
stdout_logfile=/data/services/filebeat/filebeat_oracle.log

5.11、可以部署多个,比如2个就写2个

5.12、需要创建相对应的日志文件,在/data/services/filebeat/目录下创建filebeat_oracle_err.log、filebeat_oracle.log,若没有的话启动会报错
6、重启supervisor、filebeat服务是否正常运行,然后kill掉服务,查看是否会正常拉起服务,若没问题则大功告成了
7、变更通知到相关人:重点是产品经理(部门经理)、开发组长、业务测试

参考文章:https://www.cnblogs.com/toutou/p/supervisor.html

supervisor守护filebeat服务进程的更多相关文章

  1. Centos7 使用 Supervisor 守护进程 Celery

    一.Supervisor 安装(centos7 还有另一个进程守护命令 Systemd ) Centos 7 安装 Supervisord 二.Supervisor 守护进程 Centos7 使用 S ...

  2. 【Centos7】 中使用Supervisor守护进程

    原文出处: Centos7 中使用Supervisor守护进程 配置supervisor实现进程守护 1.安装supervisor yum install Supervisor   2.启动服务 su ...

  3. Linux Supervisor 守护进程基本配置

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...

  4. centos 下Supervisor 守护进程基本配置

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...

  5. Supervisor 守护 dotnetcore 程序

    版权声明:本文由屈政斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/240 来源:腾云阁 https://www.qclo ...

  6. 使用Supervisor守护Python进程

    1.需求 现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,就需要使用到了Supervisor.Supervisor起到守护 ...

  7. 【转载】Centos7 中使用Supervisor守护进程

    配置supervisor实现进程守护 1.安装supervisor yum install Supervisor   2.启动服务 supervisord -c /etc/supervisord.co ...

  8. Supervisor守护DotNet Core控制台程序

    Supervisor 相信对Linux系统很熟的都知道这个软件,基于Python写的一个守护进程软件.具体的介绍和使用我就不再赘述了. 使用asp.net core 部署在Linux常用的方法 我们可 ...

  9. CentOS7 安装supervisor守护进程管理器

    supervisor没有发布在标准的CentOS源在,需要安装epel源.这种方式安装的可能不是最新版本,但比较方便,安装完成之后,配置文件会自动帮你生成. 默认配置文件:/etc/superviso ...

随机推荐

  1. JVM性能优化系列-(1) Java内存区域

    1. Java内存区域 1.1 运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.主要包括:程序计数器.虚拟机栈.本地方法栈.Java堆.方法区(运 ...

  2. 「洛谷P1196」「NOI2002」银河英雄传说 解题报告

    P1196 [NOI2002]银河英雄传说 题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的 ...

  3. 小白学 Python 爬虫(34):爬虫框架 Scrapy 入门基础(二)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. 17.python自定义模块的导入方式

    1.直接用import导入 最后运行main.py可以看到命令行窗口输出了一句:你好,这样就完成了. 2.通过sys模块导入自定义模块的路径path 3.在环境变量中找到自定义模块 这个方法原理就是利 ...

  5. 《图解机器学习-杉山将著》读书笔记---CH1

    CH1 什么是机器学习 重点提炼 机器学习的种类: 常分为:监督学习.无监督学习.强化学习等 监督学习是学生从老师那获得知识,老师提供对错指示 无监督学习是在没有老师的情况下,学生自习 强化学习是在没 ...

  6. react与redux的一点心得(理解能力有限,蜗牛进度)

    Redux是一款状态管理库,并且提供了react-redux库来与React亲密配合, 但是总是傻傻分不清楚这2者提供的API和相应的关系.这篇文章就来理一理. 如果要用一句话来概括Redux,那么可 ...

  7. tantivy&lucene功能,写入性能对比

    硬件概述:cpu:24,内存:20g,磁盘:10*2.7T. 写入性能:(不对ip进行添加geo信息). 写入性能对比 速度 Commit耗时(秒) 500*1000条 Bulk耗时(秒) 1000条 ...

  8. 【Spark 内核】 Spark 内核解析-上

    Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制.Spark任务调度机制.Spark内存管理机制.Spark核心功能的运行原理等,熟练掌握Spark内核原理,能够帮助我们更 ...

  9. DevExpress 控件用法笔记(VB)

    1.ChartControl 显示条形图 ChartControl1.Titles.Clear() ChartControl1.Series.Clear() Dim db As DataTable S ...

  10. 代码注释规范-IDEA 配置 Java 类方法注释模板

    1. 引言     团队开发时,业务模块分配的越清晰,代码注释管理越完善,越有利于后面维护,后面再管理也方便不少.另外也起着"文字砖"的作用,你懂的.注释不需要很详细,把代码块方法 ...