CetenOS 6.9 搭建hubot运维机器人
前言
Hubot是由Github开发的开源聊天机器人,基于Node.js采用CoffeeScript编写
可以借助Hubot开发Chatbot来自动化的完成想要一切自动化任务,比如:
-运维自动化(编译部署代码、重启机器,监控服务器运行情况,自动修复Bug等)
-外部服务交互(管理Redmine、集成Jenkins、监视Zabbix等)
-定时获取天气预报
-随机订餐
-聊天机器人等等。
运维自动化
你可以用slack和hubot搭建一个自己的运维机器人,hubot是那个做事情的机器人,而slack是聊天工具,其实也有一种搭配方式是用微信配合hubot。
场景
对于运维人员来说,用ssh登录自己的服务器进行各种操作几乎成了家常便饭。每次开发人员提交代码后,登录服务器执行git pull,或者把数据备份后压缩并下载也成为了日常工作。能不能省掉这些烦琐的步骤,让开发人员自己完成呢?现在好了,你可以用slack和hubot搭建一个自己的运维机器人,再也不用ssh,开发人员只需要在聊天群里对着机器人喊一声,它就乖乖地做事去了,多么省心!
运行Hubot需要以下软件支持:
Node.js
Redis 默认存贮数据
CoffeeScript
Yeoman
generator-hubot 生成Hubot骨架工程
安装环境要求
安装过程中间遇见了很多坑,最后发现是最新的node要求GCC 4.9.X 之上
参考官网文档: https://nodejs.org/en/blog/release/v9.10.1/
所以安装前要检查GCC版本
- gcc -v
参考之前的文档:Linux升级GCC
安装hubot
- yum install npm
这时候刚安装完的node版本比较低,只有0.几,先不要着急安装hubot,先把node升级再说。
- npm install -g n
- n stable
- node -v
好了,现在你的node已经升到最高版本,可以开始安装hubot了
- npm install -g hubot coffee-script yo generator-hubot
接下来是用root安装的话,这个时候可能会遇到很多权限上的错误,主要原因是它需要对于组有读写权限,所以我用一个普通用户www来执行安装。
- su - www
- mkdir hubot
- cd hubot
- yo hubot
安装过程问你一些问题,Owner(拥有者)、Bot name(机器人的名字)、Description(描述你的公司),最后问你安装什么样的adapter,手工输入slack。
- [www@test160 hubot]$ yo hubot
- _____________________________
- / \
- //\ | Extracting input for |
- ////\ _____ | self-replication process |
- //////\ /_____\ \ /
- ======= |[^_/\_]| /----------------------------
- | | _|___@@__|__
- +===+/ /// \_\
- | |_\ /// HUBOT/\\
- |___/\// / \\
- \ / +---+
- \____/ | |
- | //| +===+
- \// |xx|
- ? Owner jiangzuxing
- ? Bot name xiaojiang
- ? Description ji ang ke ji you xian gongsi
- ? Bot adapter slack
如果直接不填回车,缺省安装的hubot,会带上heroku和redis,如果用不到的话,可以卸载掉:(建议还是要按照上面的填,不然可能最后报错)
- npm uninstall hubot-heroku-keepalive --save
在hubot目录下的external-scripts.json文件中把有关heroku和redis的两行删掉就行了,否则老是会报几个警告。 然后,再把hubot-scripts.json删掉,目前我们暂时还用不到它:
- rm -f hubot-scripts.json
好了,现在总算可以了。用一下看看吧:
- ./bin/hubot
执行
- xiaojiang help
- xiaojiang ping
这里的xiaojiang是你在Bot name里面填写的名字,按ctrl+c可以退出。
安装过程出现问题,请参考
CetenOS 6.9 搭建hubot运维机器人的更多相关文章
- 【搭建Saltstack运维工具】
目录 所谓Salt 开始搭建 配置接受密钥 salt命令 YAML详解 目标定位字符串 state模块定义主机状态 Salt采集静态信息之GrainsSalt @(Saltstack) *** 所谓S ...
- Lnmp搭建zabbix运维监控系统
使用目的? 在公司项目中需要做一个日志监控,最开始选择的是efk,但是efk的资料相对较少并且之前对这几个产品都没接触过,使用起来难度.于是选择了zabbix作为项目的运维监控系统. zabbix能做 ...
- GoldenGate搭建与运维
GolenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库实时 ...
- 开源的运维机器人hubot原理
- Centos7搭建ansible运维自动化工具
1)设置主机名和hosts文件 2)配置阿里云repo源 Wget -O /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Ce ...
- 鹅厂优文 | 怎样用AI运维
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 织云平台团队 团队发布在腾讯云+社区 诞生背景 最近这些年,运维行业提出了不少概念,各种各样的"XX运维"可以说 ...
- 百度云曲显平:AIOps时代下如何用运维数据系统性地解决运维问题?
百度云智能运维负责人 曲显平 本文是根据百度云智能运维负责人曲显平10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日<百度云智能运维实践>演讲中的分享内容整理而 ...
- 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧
云计算概念一旦产生便一发不可收拾,成为移动互联网时代最为火热的行业之一.国内各大互联网公司例如阿里.腾讯.百度.网易等纷纷推出自己的云计算产品,3月10日,腾讯云0.01元投标时间更是让云计算在普罗大 ...
- 最适合初学者的Linux运维学习教程2018版
Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...
随机推荐
- Codeforces Round #485 (Div. 2)-B-High School: Become Human
B. High School: Become Human time limit per test 1 second memory limit per test 256 megabytes input ...
- koa generator
Koa (koajs) -- 基于 Node.js 平台的下一代 web 开发框架 | Koajs... Koa 框架教程 koa入门 如何评价 Node.js 的koa框架?
- stl stack用法
栈后进先出 #include<iostream> #include<algorithm> #include<cstdio> #include<stack> ...
- asp.net mvc Dateset读取Excel数据
//处理Excel //读取Excel [NonAction] public static DataSet ExcelToDS(string Path) { //根据情况选择合适的连接字符,参考msd ...
- ES7的新特性
ES7的新特性 ES7 特性: 1.Array.prototype.includes2.Exponentiation Operator(求幂运算) 一,Array.prototype.includes ...
- Mybatis测试用例
package cn.zhangxueliang.mybatis.mapper; import static org.junit.Assert.*; import java.io.InputStrea ...
- oninput和onchange的区别
菜鸟教程: oninput事件:HTML5标准事件 当用户向<input>中尝试输入时执行JavaScript: <input type="text" oninp ...
- Git发生SSL certificate problem: certificate ha错误的解决方法
这两天,不知道为什么,用Git提交代码到服务器时,总出现SSL certificate problem: unable to get local issuer certificate while ac ...
- Linux基础学习(16)--备份与恢复
第十六章——备份与恢复 一.备份概述 1.Linux系统需要备份的数据: 2.备份策略: 二.dump和restore命令 1.dump命令: 2.restore命令:
- python数据结构与算法第十一天【希尔排序】
1.希尔排序的原理 2.代码实现 def shell_sort(alist): n = len(alist) # 初始步长 gap = n / 2 while gap > 0: # 按步长进行插 ...