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 - Dungeon Master

    C - Dungeon Master Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...

  2. iframe脸面的页面和父页面之间的交互方法

    1.iframe父页面修改iframe中的页面的信息 var obj = document.getElementById("iframeId").contentWindow;   ...

  3. PHP-Heredoc用法:<<<EOFEOF;

    Heredoc,用来输出大段的HTML和JavaScript <<<EOF后面不能有空格. EOF;末尾的结束符必须靠边,并且前面不能有空格和缩进符. 例如: $mazey=< ...

  4. Linux三剑客之老二-------sed命令详解

    sed命令 文件 编辑 本文索引 [隐藏] sed的选项.命令.替换标记 选项 参数 sed命令 sed替换标记 sed元字符集 sed用法实例 替换操作:s命令 全面替换标记g 定界符 删除操作:d ...

  5. Linux下查看CPU型号,内存大小,硬盘空间命令

    1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重 ...

  6. 设计线程安全的类 VS 发布线程安全的对象

    一.设计线程安全的类 步骤: 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并发访问策略 1.在现有的线程安全类中添加功能 (1)重用能减低工作量和提高正确性 (2)如果底层 ...

  7. android开发 软键盘出现后 防止EditText控件遮挡 总体平移UI

    在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息  防止这种情况发生 就须要设置AndroidManifest.xml的属性 前面的xml信 ...

  8. springboot 常用的异常处理方式

    springboot常用的异常处理推荐: 一.创建一个异常控制器,并实现ErrorController接口: package com.example.demo.controller; import o ...

  9. SMW0 上传问题?

    *SMW0 和 OAOR 的区别在哪3个方面? SMW0 上传 出现: 没有指派至MIME 类型

  10. 3.2 使用STC89C52控制MC20发送短信

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...