1. 为StackTach创建database,默认使用MySql,也可以 在settings.py 文件中配置其他的.

    create stack db
    mysql -u root -p
    mysql> create database stacktach;
    mysql> grant all privileges on stacktach.* to 'root'@'localhost' indentified by '';
    exit
  2. 安装django和 ./etc/pip-requires.txt
    由于pip-requires.txt中要求django >=1.5.1 < 1.6.0 ,否则在版本1.8.1出错:
    nuc:/opt/stack/stacktach$ python worker/start_workers.py
    Traceback (most recent call last):
    File "worker/start_workers.py", line , in <module>
    from django.db import close_connection
    ImportError: cannot import name close_connection

    所以在virtualenv中安装:

    stacktach$ virtualenv env1
    stacktach$ cd env1/
    stacktach$ source bin/activate
    $ pip install -r etc/pip-requires.txt
  3. Clone this repo
    git clone git://github/openstack/stacktach
  4. Copy and configure the config files in ./etc (see below for details)
    mv etc/sample_stacktach_config.sh etc/stacktach_config.json 
    mv etc/sample_stacktach_worker_config.json etc/stacktach_worker_config.json

    stack_config.json:

    export STACKTACH_DB_NAME="stacktach"
    export STACKTACH_DB_HOST="127.0.0.1"
    export STACKTACH_DB_USERNAME="root"
    export STACKTACH_DB_PASSWORD=""
    export STACKTACH_DB_PORT=""
    export STACKTACH_INSTALL_DIR="./"
    export STACKTACH_DEPLOYMENTS_FILE="etc/stacktach_worker_config.json"
    export STACKTACH_VERIFIER_CONFIG="etc/stacktach_verifier_config.json" export DJANGO_SETTINGS_MODULE="settings"

    如果你的local OpenStack环境为:

  5. [[local|localrc]]
    
    SERVICE_HOST=localhost
    DATABASE_PASSWORD=
    ADMIN_PASSWORD=
    MYSQL_PASSWORD=
    DATABASE_TYPE=mysql
    RABBIT_PASSWORD=guest
    SERVICE_PASSWORD=
    SERVICE_TOKEN=ADMIN

    stacktach_worker_config.json可以配置为:

    {"deployments": [
    {
    "name": "east_coast.prod.global",
    "durable_queue": false,
    "rabbit_host": "127.0.0.1",
    "rabbit_port": ,
    "rabbit_userid": "guest",
    "rabbit_password": "guest",
    "rabbit_virtual_host": "/",
    "exit_on_exception": true,
    "queue_name": "stacktach",
    "topics": {
    "nova": [
    {
    "queue": "notifications.info",
    "routing_key": "notifications.info"
    },
    {
    "queue": "notifications.error",
    "routing_key": "notifications.error"
    }
    ],
    "glance": [
    {
    "queue": "notifications.info",
    "routing_key": "notifications.info"
    },
    {
    "queue": "notifications.error",
    "routing_key": "notifications.error"
    }
    ]
    }
    }
    ]
    }
  6. 创建db tables 
    python manage.py syncdb
    You have installed Django's auth system, and don't have any superusers defined.
    Would you like to create one now? (yes/no): yes
    Username (leave blank to use 'yuntong'):
    Email address: ***@gmail.com
    Password:
    Password (again):
    Superuser created successfully.
  7. Configure OpenStack to publish Notifications back into RabbitMQ (see below)
  8. Restart the OpenStack services.
  9. Run the Worker to start consuming messages. (see below)
    先fix一个bug:
    diff --git a/settings.py b/settings.py
    index b6d27e5..dba5f2d
    --- a/settings.py
    +++ b/settings.py
    @@ -, +, @@ TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    - install_dir + "templates"
    + install_dir + "templates",

    运行start_workers:

  10. source etc/stacktach_config.sh
    $ python worker/start_workers.py
    Starting worker for 'east_coast.prod.global glance'
    Starting worker for 'east_coast.prod.global nova'

    打开rabbitmq的管理界面localhost:15672

  11. Run the web server (python manage.py runserver --insecure)
    python manage.py runserver --insecure
  12. Point your browser to http://127.0.0.1:8000 (the default server location)
    StackTach v2
    
    Fork me on GitHub
    Choose the Deployment to monitor All
    east_coast.prod.global
    或者访问API:
    
    curl -H "Content-Type: application/json" http://localhost:8000/stacky/deployments/ #The list of all available deployments
    [["#", "Name"], [1, "east_coast.prod.global"]]
    curl -H "Content-Type: application/json" http://localhost:8000/stacky/events/ #The distinct list of all event names
    [["Event Name"],
    ["compute.instance.create.end"], ["compute.instance.create.start"], ["compute.instance.exists"], ["compute.instance.update"],
    ["port.create.end"], ["port.create.start"], ["port.update.end"], ["port.update.start"], ["scheduler.select_destinations.end"], ["scheduler.select_destinations.start"],
    ["image.update"], ["scheduler.select_destinations.start"]]
    $ curl -H "Content-Type: application/json" http://localhost:8000/stacky/5b329e1f-c7d1-4fbe-bf15-80fcfbb22024/ #Retrieve all notifications for instances with a given UUID.
  13. Click on stuff, see what happens. You can’t hurt anything, it’s all read-only.

参考:

http://stacktach.com/api.html

http://stacktach.com/install.html

http://stacktach.readthedocs.io/en/latest/setup.html

Installing StackTach的更多相关文章

  1. installing mysql,this may take a few minutes,hold on plz wdcp卡住解决办法

    centos6安装wdcp时make in progress卡住的解决办法 今天在一台centos6的vps上安装wdcp出现的这个问题,到安装程序滚动至下面这里时出现"卡死". ...

  2. MSI Error 1603 installing AppFabric 1.1 / Win7 x64

    MSI Error 1603 installing AppFabric 1.1 / Win7 x64  Archived Forums A-B > AppFabric Caching   先说解 ...

  3. [转]Installing python 2.7 on centos 6.3. Follow this sequence exactly for centos machine only

    Okay for centos 6.4 also On apu.0xdata.loc, after this install was done $ which python /usr/local/bi ...

  4. [转]Installing SharePoint 2013 on Windows Server 2012 R2

    转自:http://www.avivroth.com/2013/07/09/installing-sharepoint-2013-on-windows-server-2012-r2-preview/ ...

  5. 安装mysql odbc遇到error 1918.errror installing ODBC driver mysql ODBC 5.3 ANSI Drive

    环境:Windows server2008r2 安装mysql-connector-odbc-5.3.6-win32 报错 相信错误信息:Error 1918.errror installing OD ...

  6. Using Confluent’s JDBC Connector without installing the entire platform

    转自:https://prefrontaldump.wordpress.com/2016/05/02/using-confluents-jdbc-connector-without-installin ...

  7. Cocoapods的安装报错 - Error installing pods:activesupport requires Ruby version >=2.2.2

    1.打开终端 2 移除现有 Ruby 默认源 输入以下指令 $gem sources --remove https://rubygems.org/ 3.使用新的源 输入以下指令 $gem source ...

  8. Installing Hadoop on Mac OSX Yosemite Tutorial Part 1.

    Installing Hadoop on Mac OSX Yosemite Tutorial Part 1. September 23, 2014 Marek 68 Comments Install ...

  9. pod install出现[!] /bin/bash -c错误,Installing Realm报错

    pod install出现错误,具体错误信息如下: Installing Realm () [!] /bin/bash -c set -e sh build.sh cocoapods-setup co ...

随机推荐

  1. c#数据格式转换汇总

    时间差的公式,求出时间相差的转换成刻度值 DateTime endTime = , , , , , , , , , , , , ); TimeSpan temp = new TimeSpan(star ...

  2. Linux下带宽流量工具iftop实践

    在Linux/类Unix系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop ...

  3. AJAX 异步传数组时候,后台接收不到!

    呵呵,那么问题又来了! 这是为啥呢!! var ids= []; $.ajax({ url: 'xxxx.do', data: { ids: ids}, dataType: "json&qu ...

  4. ASP-Server.Transfer-Response.Redirect

    Server.Transfer Transfer 方法把一个 ASP 文件中创建的所有状态信息(所有 application/session 变量以及所有 request 集合中的项目)发送(传输)到 ...

  5. <mvc:view-controller path=""/>标签的作用

    <mvc:view-controller path=""/>标签的作用 对应WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到.需要通过转发的方式, ...

  6. python面试题(三)

    1 一行代码实现9*9乘法表 print ("\n".join("\t".join(["%s*%s=%s" %(x,y,x*y) for y ...

  7. 爬虫五 Beautifulsoup模块

    一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你 ...

  8. EasyMock 常见异常

    1. java.lang.IllegalStateException: calling verify is not allowed in record state 含义:不允许在记录状态(record ...

  9. 电信、网通、联通等恶意DNS劫持跳广告页面的解决方法

    中国电信.网通.联通ADSL用户必读:中国电信.网通.联通劫持dns(中国电信.网通.联通劫持ie浏览器)解决方案D... 宽带连接有 也能上网但是本地连接一直显示为受限制的解决方法 我的电脑一直显示 ...

  10. ajax 请求后台数据返回异常 及 提示404方法名不存在

    1.正常使用 Ajax 调取后台数据时,提示方法名不存在,Ajax前端正常,方法类bean注入正常,方法注解正常.但参数解析时出现异常. @RequestMapping(value="/ge ...