CN107665114A - 一种利用Rundeck监控应用服务存活的方法 - Google Patents
一种利用Rundeck监控应用服务存活的方法 Download PDFInfo
- Publication number
- CN107665114A CN107665114A CN201710874439.0A CN201710874439A CN107665114A CN 107665114 A CN107665114 A CN 107665114A CN 201710874439 A CN201710874439 A CN 201710874439A CN 107665114 A CN107665114 A CN 107665114A
- Authority
- CN
- China
- Prior art keywords
- parameter
- rundeck
- node
- task
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种利用Rundeck监控应用服务存活的方法,本发明采用了开源软件Rundeck作为监控工具,利用它的多节点分发任务的特性,以及定时任务CronTab的支持为基础,实现了一种监控服务存活并多渠道通知的方法。
Description
技术领域
本发明涉及一种利用Rundeck监控应用服务存活的方法。
背景技术
目前,互联网飞速发展,单点应用已经悄然退出,集群化、微服务化的应用正在普及,面对集群化、微服务化的架构,服务的健康则至关重要,并且需要达到及时通知,及时响应的效果。
目前也存在不少监控的方案,有利用JMX,或者第三方监控工具进行监控。但这些方案不是对服务入侵较大,就是不够灵活,又或是通知渠道单一。
发明内容
为了应对灵活的服务存活监控,本发明方法公开了一种利用Rundeck监控应用服务存活的方法,包括如下步骤:
步骤1,编辑Rundeck中的resources.xml文件,定义需要监控的所有节点信息,
步骤2,在Rundeck中新建服务监控的任务A,此任务为监控的基础任务;
步骤3,定义任务参数,包括环境信息参数env和通知方式参数notify-mode;
步骤4,定义任务执行模式为派发到选择的节点,过滤节点的参数为“tags:${option.env}”,这样下面定义的脚本就会在过滤后的节点依次执行;
步骤5,添加一个脚本步骤,脚本为Shell脚本;
步骤6,脚本中使用Rundeck提供取参数的方式,取出步骤1定义的需要监控的所有节点信息和步骤3定义的任务参数;
步骤7,设置通知方法,如短信通知、钉钉通知、邮件通知等等,本发明使用了短信+钉钉通知,因为企业内部一般使用钉钉作为及时聊天工具;
步骤8,检查端口号是否存活,检测进程是否存在,如果端口号不存活或者进程不存在,调用对应的通知方式发送通知。
步骤1中所述节点信息包括ip地址、主机的认证方式、用户名、秘钥、节点的tag标签信息(标识节点的环境,与任务参数env关联)、节点需要监控的端口号或者进程文件位置,以及节点故障接收通知人的电话号码;
步骤6中,所述Rundeck提供取参数的方式为:
NODE_NAME=@node.name@
NODE_HOSTNAME=@node.hostname@
NODE_NAME表示节点名称,全局唯一不能重复;NODE_HOSTNAME表示节点ip。
步骤8中,脚本中使用netstat命令检查端口号是否存活,使用命令kill-0(脚本中操作进程的命令)检测进程是否存在。
步骤8中,根据通知方式参数notify-mode的值,选择对应的通知方式发送通知。
本发明还包括步骤9,根据用户的需要,定义一个新的监控任务B,新监控任务中没有参数,B任务的步骤定义成调用步骤2建立的监控任务A,并传入监控任务A的环境信息参数env和通知方式参数notify-mode;
步骤10,设置新的监控任务B为定时执行。可以使用Crontab表达式定义,例如定义3分钟检测一次,Crontab表达式为**/3***?*。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1为本发明示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
实施例
本发明采用了开源软件Rundeck作为监控工具;利用它的多节点分发任务的特性,以及定时任务CronTab的支持为基础,创造了一种监控服务存活并多渠道通知的方法。
包括如下步骤:
步骤1,编辑Rundeck中的resources.xml文件,定义需要监控的所有节点信息,
步骤2,在Rundeck中新建服务监控的任务A,此任务为监控的基础任务;
步骤3,定义任务参数,包括环境信息参数env和通知方式参数notify-mode;
步骤4,定义任务执行模式为派发到选择的节点,过滤节点的参数为“tags:${option.env}”,这样下面定义的脚本就会在过滤后的节点依次执行;
步骤5,添加一个脚本步骤,脚本为Shell脚本;
步骤6,脚本中使用Rundeck提供取参数的方式,取出步骤1定义的需要监控的所有节点信息和步骤3定义的任务参数;
步骤7,设置通知方法,如短信通知、钉钉通知、邮件通知等等,本发明使用了短信+钉钉通知,因为企业内部一般使用钉钉作为及时聊天工具;
步骤8,检查端口号是否存活,检测进程是否存在,如果端口号不存活或者进程不存在,调用对应的通知方式发送通知。
步骤1中所述节点信息包括ip地址、主机的认证方式、用户名、秘钥、节点的tag标签信息(标识节点的环境,与任务参数env关联)、节点需要监控的端口号或者进程文件位置,以及节点故障接收通知人的电话号码;
步骤6中,所述Rundeck提供取参数的方式为:
NODE_NAME=@node.name@#节点名称,全局唯一不能重复
NODE_HOSTNAME=@node.hostname@#节点ip
步骤8中,脚本中使用netstat命令检查端口号是否存活,使用命令kill-0(脚本中操作进程的命令)检测进程是否存在。
步骤8中,根据通知方式参数notify-mode的值,选择对应的通知方式发送通知。
本发明还包括步骤9,根据用户的需要,定义一个新的监控任务B,新监控任务中没有参数,B任务的步骤定义成调用步骤2建立的监控任务A,并传入监控任务A的环境信息参数env和通知方式参数notify-mode;
步骤10,设置新的监控任务B为定时执行。可以使用Crontab表达式定义,例如定义3分钟检测一次,Crontab表达式为**/3***?*。
图1中是一个监控任务具体的流程,每隔3分钟会通过检测端口号的方式检测环境为prod(生产环境)的所有服务节点,并把异常信息通过Dingtalk(钉钉)、sms(短信)通知出去;
根据步骤1,定义了所有节点的信息,例如有一台需要监控的服务节点,节点名称为prod-1,所属的环境为prod,需要检测的端口号为8082,异常通知的接收人手机号码为138********,resource.xml如下配置:
<node name="prod-1"tags='prod,prod-server'description="节点1"
hostname="192.168.10.14"osArch="amd64"osFamily="unix"osName="Linux"
osVersion="3.10.0-327.el7.x86_64"username="prod-server"
ssh-password-storage-path="keys/test/192.168.10.14-prod-server"
ssh-authentication="password"destdir="/home/prod-server/prod-server"
healthPort="8082"mobile="138********"/>
根据步骤2-8,在Rundeck页面定义好基础的检测服务任务check-server;其中通知方法内容因通知通道、服务提供商而异;以检测端口号为服务存活条件,并通过短信、钉钉通知为例的脚本关键点:
利用netstat–lntp|grep“$HEALTH_PORT”判断端口号是否存活;
如果服务不存活,则调用的通知方法,通知提醒消息,通知方法接受自定义服务异常详细与通知对象的手机号码两个参数;
通知方法内部会根据中根据通道参数notify-mode,选择具体的通知通道进行通知;
具体的通道通知方法,因运营商而异。
定义监控prod(生产环境)的任务check-prod-server,check-prod-server的步骤定义为调用任务check-server,步骤的参数为-option.env=prod-option.notify-mode=Dingtalk,sms(表示监控prod环境服务节点,通知方式为钉钉+短信);
在任务check-prod-server页面,编辑任务为定时执行,Crontab中填入“**/3***?*”,保存后任务就会像图1每隔三分钟监控所有服务节点了。
本发明提供了一种利用Rundeck监控应用服务存活的方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (5)
1.一种利用Rundeck监控应用服务存活的方法,其特征在于,包括如下步骤:
步骤1,编辑Rundeck中的resources.xml文件,定义需要监控的所有节点信息,
步骤2,在Rundeck中新建服务监控的任务A;
步骤3,定义任务参数,包括环境信息参数env和通知方式参数notify-mode;
步骤4,定义任务执行模式为派发到选择的节点,过滤节点的参数为tags:${option.env};
步骤5,添加一个脚本步骤,脚本为Shell脚本;
步骤6,脚本中使用Rundeck提供取参数的方式,取出步骤1定义的需要监控的所有节点信息和步骤3定义的任务参数;
步骤7,设置通知方法;
步骤8,检查端口号是否存活,检测进程是否存在,如果端口号不存活或者进程不存在,调用对应的通知方式发送通知。
2.根据权利要求1所述的方法,其特征在于,步骤1中所述节点信息包括ip地址、主机的认证方式、用户名、秘钥、节点的tag标签信息、节点需要监控的端口号或者进程文件位置,以及节点故障接收通知人的电话号码。
3.根据权利要求2所述的方法,其特征在于,步骤8中,脚本中使用netstat命令检查端口号是否存活,使用命令kill-0检测进程是否存在。
4.根据权利要求3所述的方法,其特征在于,步骤8中,根据通知方式参数notify-mode的值,选择对应的通知方式发送通知。
5.根据权利要求4所述的方法,其特征在于,还包括步骤9,根据用户的需要,定义一个新的监控任务B,新监控任务中没有参数,B任务的步骤定义成调用步骤2建立的监控任务A,并传入监控任务A的环境信息参数env和通知方式参数notify-mode;
步骤10,设置新的监控任务B为定时执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710874439.0A CN107665114A (zh) | 2017-09-25 | 2017-09-25 | 一种利用Rundeck监控应用服务存活的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710874439.0A CN107665114A (zh) | 2017-09-25 | 2017-09-25 | 一种利用Rundeck监控应用服务存活的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107665114A true CN107665114A (zh) | 2018-02-06 |
Family
ID=61098530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710874439.0A Pending CN107665114A (zh) | 2017-09-25 | 2017-09-25 | 一种利用Rundeck监控应用服务存活的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107665114A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271291A (zh) * | 2018-09-04 | 2019-01-25 | 山东浪潮通软信息科技有限公司 | 一种服务监控及管理的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150124128A (ko) * | 2014-04-28 | 2015-11-05 | 삼성전자주식회사 | 전자 장치 및 이의 작업 연계 방법 |
-
2017
- 2017-09-25 CN CN201710874439.0A patent/CN107665114A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150124128A (ko) * | 2014-04-28 | 2015-11-05 | 삼성전자주식회사 | 전자 장치 및 이의 작업 연계 방법 |
Non-Patent Citations (3)
Title |
---|
ADR5970: "rundeck部署和基本使用", 《CSDN博客》 * |
BIGUFO: "自动化管理工具Rundeck", 《简书》 * |
海&叶: "rundeck email配置文件配置", 《博客园》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271291A (zh) * | 2018-09-04 | 2019-01-25 | 山东浪潮通软信息科技有限公司 | 一种服务监控及管理的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9699207B2 (en) | Social engineering simulation workflow appliance | |
CN109525558B (zh) | 数据泄露检测方法、系统、装置及存储介质 | |
CN103430483B (zh) | 用于确定通信系统中的关联事件的技术 | |
US8812649B2 (en) | Method and system for processing fault alarms and trouble tickets in a managed network services system | |
US11632320B2 (en) | Centralized analytical monitoring of IP connected devices | |
US20150254969A1 (en) | Method and system for providing aggregated network alarms | |
CN104767748B (zh) | Opc服务器安全防护系统 | |
CN104573520B (zh) | 检测常驻式跨站脚本漏洞的方法和装置 | |
CN106452955B (zh) | 一种异常网络连接的检测方法及系统 | |
US7502716B2 (en) | Closed-loop diagnostic method | |
CN109922026A (zh) | 一个ot系统的监测方法、装置、系统和存储介质 | |
CN104899134B (zh) | 域名注册服务器自动化测试系统和方法 | |
WO2018001326A1 (zh) | 故障信息获取方法及装置 | |
CN103188115B (zh) | 一种流量监控的方法和设备 | |
ATE413745T1 (de) | Alarm logfile meldung mittels xml tagging | |
CN103634166B (zh) | 一种设备存活检测方法及装置 | |
CN107665114A (zh) | 一种利用Rundeck监控应用服务存活的方法 | |
Yang et al. | IKE vulnerability discovery based on fuzzing | |
CN106209456B (zh) | 一种内核态下网络故障检测方法及装置 | |
TWI644228B (zh) | 伺服器及其監控方法 | |
CN107517111A (zh) | 一种动态虚拟局域网管理方法及其装置、网络设备 | |
Lappanitchayakul | Development of email and sms based notification system to detect abnormal network conditions: A case study of faculty of business administration, rajamangala university of technology phra nakhon, thailand | |
CN113448836A (zh) | 软件接口测试方法、装置、电子设备及存储介质 | |
CN110401559A (zh) | 一种服务器修复方法及装置 | |
ES2812152T3 (es) | Un método y un sistema para habilitar una (re)configuración de una red de telecomunicaciones |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180206 |
|
RJ01 | Rejection of invention patent application after publication |