调度平台Rundeck + 配置邮件告警

写在前面

常用的调度平台:
crontab/azkaban/rundeck/xxl_job/oozie…
这些是比较常用的一些调度工具,选择合适自己的即可。

Rundeck

官网:https://www.rundeck.com/open-source
GitHub地址: https://github.com/rundeck/rundeck

部署安装:
前置条件:
安装好JDK:比较简单,下载解压,配置到系统环境变量就可以啦!

rundeck 下载,可以直接去挂官网下载 社区版即可。
下载到~/rundeck 目录下

从官网下载构建好的:http://dl.bintray.com/rundeck/rundeck-maven/rundeck-launcher-2.10.5.jar

java -jar java -jar rundeck-launcher-2.10.5.jar
修改一:
vim /root/rundeck/server/config/rundeck-config.properties 文件

grails.serverURL=http://120…243.91:4440

修改二:
[root@spark001 config]# vim /root/rundeck/etc/framework.properties

framework.server.name = 120..243.91
framework.server.hostname = 120..243.91
framework.server.port = 4440
framework.server.url = http://120..243.91:4440

以上两步基本就能够实现外网访问到你阿里云上面启动的rundeck了
ip:4440 默认admin/admin登录即可跳转
在这里插入图片描述

服务启动后,会在rundeck目录生成如下相关目录:

[root@spark001 rundeck]# ll
total 97952
drwxr-xr-x 2 root root      4096 Dec 30 16:42 etc
drwxr-xr-x 3 root root      4096 Dec 30 16:44 libext
drwxr-xr-x 2 root root      4096 Dec 30 16:26 projects
-rw-r--r-- 1 root root 100275677 Jan 27  2018 rundeck-launcher-2.10.5.jar
drwxr-xr-x 9 root root      4096 Dec 30 16:43 server
drwxr-xr-x 4 root root      4096 Dec 30 16:26 tools
drwxr-xr-x 4 root root      4096 Dec 30 16:41 var

  • etc:存储Rundeck使用的到的框架配置信息,如日志框架log4j,以及指定其他所有配置的磁盘存储路径,如以上所示目录,都可在etc中的配置文件指定
  • libext: 存储插件依赖jar
  • projects:存储新建的项目信息,包括项目节点信息等
  • server:存储RunDeck配置信息(用户体系,数据库连接)。RunDeckserver本身的日志信息、项目元数据库信息、webui项目信息、web容器的依赖(jetty)
  • tools:存放项目依赖的jar包,相关指令集
  • var:存放远程主机key信息,如ssh的密码,服务私钥。保存新建项目的日志信息,生命周期数据等。存储项目节点资源模型缓存信息,等

有一种感觉 Rundeck 的权限做的很好的样子,好像用的是Spring Security 来搞得,NB啦

Rundeck 简单操作

(1)创建Project
输入项目名称(一般还是不要中文比较好),项目描述随意,选好ssh权限校验的方式(私钥 or password),提交

在这里插入图片描述
这里直接校验方式使用私钥即可。
在这里插入图片描述

[root@spark001 .ssh]# ll
total 16
-rwxrwxrwx 1 root root 1958 Oct 25 06:10 authorized_keys
-rw------- 1 root root 1675 Aug 15 09:36 id_rsa
-rw-r--r-- 1 root root  394 Aug 15 09:36 id_rsa.pub
-rw-r--r-- 1 root root 1345 Nov 14 11:42 known_hosts
[root@spark001 .ssh]#

点击下面的Create 按钮

(2)添加节点信息
默认的节点配置信息,存储在RunDeck/projects/下的:

[root@spark001 projects]# pwd
/root/rundeck/projects
[root@spark001 projects]# ll
total 4
drwxr-xr-x 4 root root 4096 Dec 30 16:57 first-projet
[root@spark001 projects]#

这里以刚才创建的dirst-project为例,添加节点信息:
[root@spark001 projects]# vim first-projet/etc/resources.xml

 <node  name="fitst-project" description="newca server node" tags="" hostname="120.27.243.91" osArch="amd64" osFamily="u
nix" osName="Linux" osVersion="10.0" username="root"/>

在这里插入图片描述

保存 ,刷新Nodes模块就会看到新增的节点信息,如
之前:

之后:
在这里插入图片描述

(3)新增用于节点服务器 权限验证的key
点击如图
在这里插入图片描述
创建好后在项目ssh属性password中选中创建好的key
在这里插入图片描述
(4)新增job,添加查看日志的命令,在刚才的 fitst-project 节点执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新增一个可执行的job,添加tail -F xxx.log用来查看远程服务器输出的日志信息,操作如下,注意如下箭头标注,可以指定筛选到的服务器,这里是fitst-projet,也可以配置命令执行失败后的处理流程等等。
在这里插入图片描述

执行job后,
在这里插入图片描述
会不断地输出目标节点服务器的日志信息,如
在这里插入图片描述

(5)Activity中查看历史执行记录
在这里插入图片描述
(6)其他相关使用

如下图,还有用户权限控制,插件管理,报表导出等等功能
在这里插入图片描述
文末结语
RunDeck功能概念清晰,webui交互友好,细粒度的安全策略控制非常适合跨部门跨职能的协同作业,基于token机制的api很好的集成到DevOps平台中,是DevOps上下文中不可多得的组件。

邮件告警部分可以参照:
https://www.cnblogs.com/gaoyuechen/p/10821377.html

未完待续~

参考:
http://www.kailing.pub/article/index/arcid/186.html
https://www.cnblogs.com/gaoyuechen/p/10821377.html
http://blog.sina.com.cn/s/blog_6311af050102wnxf.html
http://blog.sina.com.cn/s/blog_6311af050102wnxf.html

猜你喜欢

转载自blog.csdn.net/liuge36/article/details/103767423
今日推荐