文档章节

StackStorm安装与配置

葫芦咩
 葫芦咩
发布于 2015/12/30 17:49
字数 828
阅读 2346
收藏 0

##环境 系统: ubuntu14.04/ubuntu15.04

stackstorm版本: v0.12

##依赖 ###apt

aptlist='rabbitmq-server make python-virtualenv python-dev realpath python-pip mongodb mongodb-server gcc git mysql-server python-yaml python-dateutil python-jsonpath-rw'
apt-get install -y ${aptlist}

###pip 从github的requirements.txt拷贝过来,文档中的不全

mkdir /usr/local/src/st2
cd /usr/local/src/st2

cat << EOF > requirements.txt
apscheduler>=3.0.0rc1
eventlet>=0.13.0
flask
flask-jsonschema
gitpython==0.3.2.1
jinja2
jsonschema>=2.3.0
kombu
mongoengine>=0.8.7,<0.9
oslo.config>=1.12.1,<1.13
paramiko
pecan==0.7.0
pymongo<3.0
python-dateutil
python-json-logger
pyyaml
requests
setuptools==11.1
six==1.9.0
tooz
git+https://github.com/StackStorm/python-mistralclient.git@st2-0.9.0
git+https://github.com/StackStorm/fabric.git@stanley-patched
passlib>=1.6.2,<1.7
lockfile>=0.10.2,<0.11
python-gnupg>=0.3.7,<0.4
jsonpath-rw>=1.3.0
# Requirements for linux pack
# used by file watcher sensor
pyinotify>=0.9.5,<=0.10
-e git+https://github.com/Kami/logshipper.git@stackstorm_patched#egg=logshipper
# used by nmap actions
python-nmap>=0.3.4,<0.4
semver>=2.1.2
EOF

pip install -r requirements.txt

##配置rabbitmq

rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart

#下载管理脚本
curl -sS -o /usr/bin/rabbitmqadmin http://localhost:15672/cli/rabbitmqadmin
chmod 755 /usr/bin/rabbitmqadmin

###Mistral 注意要关闭mistral的认证

参考 https://github.com/openstack/mistral

安装完成后,要注册mistral到系统服务(ubuntu14.04使用upstart,15.04使用systemd)

upstart:

cat <<mistral_upstart >/etc/init/mistral.conf
description "Mistral Workflow Service"

start on runlevel [2345]
stop on runlevel [016]
respawn

exec /opt/openstack/mistral/.venv/bin/python /opt/openstack/mistral/mistral/cmd/launch.py --config-file /etc/mistral/mistral.conf --log-config-append /etc/mistral/wf_trace_logging.conf
mistral_upstart

##下载并安装st2包

cd /usr/local/src/st2
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2actions_0.12.0-3_amd64.deb
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2api_0.12.0-3_amd64.deb
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2auth_0.12.0-3_amd64.deb
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2client_0.12.0-3_amd64.deb
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2common_0.12.0-3_amd64.deb
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2debug_0.12.0-3_amd64.deb
wget https://downloads.stackstorm.net/releases/st2/0.12.0/debs/current/st2reactor_0.12.0-3_amd64.deb

dpkg -i *.deb

##安装WebUI ###已编译

cd /usr/local/src/st2
wget https://downloads.stackstorm.net/releases/st2/0.12.0/webui/webui-0.12.0.tar.gz
tar -xf webui-0.12.0.tar.gz
mkdir /opt/stackstorm/static/
mv webui /opt/stackstorm/static/

###正式版

cd /usr/local/src
git clone https://github.com/StackStorm/st2web.git

node -v
v0.10.32

npm -v
1.4.9

cd /usr/local/src/st2web
npm install
bower install

gulp #测试web服务是否正常

编辑gulpfile.js,修改port: 8000

编译web

gulp build
gulp production

mkdir -p /opt/stackstorm/static/webui
cp -rf build/* /opt/stackstorm/static/webui/

##配置WEBUI ###修改配置文件,配置正确的api接口:

#vim /opt/stackstorm/static/webui/config.js

'use strict';
angular.module('main')
  .constant('st2Config', {

    hosts: [{
      name: 'Dev Env',
      url: 'http://127.0.0.1:9101',
      auth: false,
    },]

  });

###允许web访问st2api

#vim /etc/st2/st2.conf

allow_origin = http://st2web.example.com:3000

##配置st2 ###SUDO 默认情况下, 所有的action以stanley用户执行,可以在st2.conf修改默认配置.

1.新增用户:

useradd stanley

2.stanley需要sudo权限。

echo "stanley ALL=(ALL) NOPASSWD: SETENV: ALL" >> /etc/sudoers.d/st2 ###SSH(可选) 参考: http://docs.stackstorm.com/0.12/install/config.html#configure-ssh ###禁用auth

#vim /etc/st2/st2.conf

...
[auth]
enable = False
...

###新增CLI配置(可选)

# Configuration file for the StackStorm CLI
[general]
base_url = http://localhost
api_version = v1
# Path to the CA cert bundle used to validate the SSL certificates
cacert =

[cli]
debug = True
# True to cache the retrieved auth token during authentication in ~/.st2/token
# and use the cached token in the sunsequent API requests
cache_token = True

[credentials]
# Credentials used to authenticate against the auth API and retrieve the auth
# token
username = test1
password = testpassword

[api]
url = http://localhost:9101/v1

[auth]
url = http://localhost:9100/

##注册sensors、action、rules、aliases、policy types、policies ###注册核心模块

st2ctl reload --register-all

###注册样例 拷贝github.com/StackStorm/st2/contrib中的exampleshello-st2/opt/stackstorm/packs/目录下,然后注册:

st2 run packs.load register=all

更多第三方packs在https://github.com/StackStorm/st2contrib

##重启服务

st2ctl restart

##排错

  • 如果st2ctl restart起不来则在前台启动服务查看错误,例如:

    st2api --config-file /etc/st2/st2.conf

  • 如果有服务起不来,可能是依赖有问题,尝试再次pip install -r requests.txt

© 著作权归作者所有

葫芦咩
粉丝 17
博文 19
码字总数 14205
作品 0
浦东
程序员
私信 提问
加载中

评论(3)

duo_panda
duo_panda

引用来自“葫芦咩”的评论

引用来自“duo_panda”的评论

你好,可以留个QQ吗?想跟你交流下stackstorm
这个我很久没搞咯,有问题,多看看官网哈.

回复@葫芦咩 : 嗯!!!照着官网搭建出来了!!!这个资料很少呀!!!我想想前辈们的使用心得,嘻嘻。。。
葫芦咩
葫芦咩 博主

引用来自“duo_panda”的评论

你好,可以留个QQ吗?想跟你交流下stackstorm
这个我很久没搞咯,有问题,多看看官网哈.
duo_panda
duo_panda
你好,可以留个QQ吗?想跟你交流下stackstorm
StackStorm与ChatOps

什么是chatops ChatOps是诞生于GitHub的一种基于会话驱动的协作开发方法,过去团队之间的通讯和开发操作是两层皮,导致各种不透明和低效率。ChatOps将开发工具带入开发者聊天室,通过定制的插...

葫芦咩
2015/12/30
614
0
fmnisme/err-stackstorm

#err-stackstorm Plugin to run action-alias in stackstorm. important: not support st2 auth now,If you want,It is easy to add by yourself. ##Install !repos install https://github.......

fmnisme
2015/12/15
0
0
Python "RemoteError: Remote error: UnicodeEncodeError 'ascii' codec can't encode ch

{ "traceback": " File \"/opt/stackstorm/st2/lib/python2.7/site-packages/st2actions/container/base.py\", line 99, in _do_run\n LOG.debug('Performing run for runner: %s' % (runner......

liangzebin
2017/08/03
74
1
利用StackStorm实现故障智能诊断

携程旅行网是国内领先的在线旅游服务公司,也是国内规模较大的互联网公司之一。随着近年来业务的迅猛增长,支撑网站的技术和系统的复杂性和规模也随之呈跳跃性的攀升。要迎接网站规模和复杂性...

神谕03
2018/07/01
0
0
ChatOps如何变革企业业务

【编者按】本文作者为日志分析软件公司 [Logz.io][1] 的联合创始人 Tomer Levy,主要介绍 [ChatOps][2] 的特点与发展历程,以及将来可能带来的业务变革。文章系国内 [ITOM][3] 管理平台 [One...

OneAPM蓝海讯通
2016/05/18
46
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
20分钟前
2
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
22分钟前
5
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
24分钟前
3
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
30分钟前
4
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
54分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部