Installing StatusWolf v0.9

Mark Troyer edited this page Aug 12, 2014 · 6 revisions

Before getting StatusWolf up and running, you'll need the following:

  • The URL for your OpenTSDB server(s) (currently the only supported data source)
  • Name, port, binddn, basedn and account info for your LDAP server (Optional, if using LDAP for auth)

Configure StatusWolf and the web server

  1. Get the StatusWolf source code and install it on your web server (Apache, Lighttpd does not support .htaccess)

  2. Install the PHP dependencies using Composer

     cd <StatusWolf root>
     composer install --no-dev
    
  3. Install the javascript dependencies and set up the required directories - run the setup_requirements.sh script to do this automatically. The script uses wget, if that isn't installed on your system you can edit the script and replace wget with curl -O to use Curl instead. If you prefer, you can find the javascript dependencies list here, and you'll need to create the app/log directory and make sure that it and the conf directory (and all files within) are owned by your web server user.

     cd <StatusWolf root>
     ./get_javascript_requirements.sh
    
    • If you prefer to use a local copy of the D3 library, download it from http://d3js.org/ and put it in <StatusWolf root>/app/static/js/lib/, making sure it's named d3.min.js
  4. Create a database for statuswolf and add the statuswolf MySQL user. Example config expects the database and user to be named statuswolf, change those and the statuswolf user's password as appropriate.

     msyql> create database statuswolf;
     mysql> grant all on statuswolf.* to 'statuswolf'@'localhost' identified by 'statuswolf';
    
  5. Create the database schema

    • For a brand-new install
      • Command line:

          cd <StatusWolf root>
          % mysql -h localhost -ustatuswolf -pstatuswolf statuswolf < conf/statuswolf.sql
        
      • In MySQL:

          mysql> use statuswolf;
          mysql> source statuswolf.sql
        
  6. Copy either the <StatusWolf root>/conf/sw_config_example_ldap.json (if using LDAP auth) or <StatusWolf root>/conf/sw_config_example_no_ldap.json (if not using LDAP auth) file to <StatusWolf root>/conf/sw_config.json and edit it.

    • Set the host, dbname, user and password lines under db_options to match your StatusWolf database config.
    • If using LDAP auth, set the url, binddn, bindpw, basedn, userattr and name_key lines under ldap_options to match your LDAP server.
  7. Copy the <StatusWolf root>/conf/sw_datasource_example.json file to <StatusWolf root>/conf/sw_datasource.json and edit it.

    • If your OpenTSDB servers are accessed through a proxy, remove the "proxy": false line and uncomment the lines below it for 'proxyandproxy_url. Set theproxy_url` line to your proxy server and port.
    • Enter the connection information for your OpenTSDB servers.
      • Leave type set to ajax.

      • url should be an array of servers, if you have only one set it here but keep the array syntax:

          "url": [ "opentsdb.server.name:4242" ],
        
      • If you have a cluster of servers and can hit more than one as the front end, list them all:

          "url": [
              "opentsdb1.server.name:4242",
              "opentsdb2.server.name:4242",
              etc.
          ]
        
      • tl;dr - leave trim set to 301.

        In large OpenTSDB installations where there is a large pipeline of metric data coming in, OpenTSDB will lag slightly behind real time in having the data available to search. This has the effect of creating a trailing drop-off curve on all your graphs. The trim setting will disregard the configured number of seconds from the query in order to take this drop off into account.

  8. Configure your web server to host StatusWolf

    • Recommended setup is to either add a virtual server (e.g. statuswolf.example.com) or a new port (e.g. http://mydashboard.example.com:9653/) for StatusWolf.

    • The virtual server must be configured to follow symbolic links and to allow overrides so that URL rewriting will work.

    • Example Apache configuration:

        Listen 9653
        <VirtualHost *:9653>
            DocumentRoot /box/www/StatusWolf/
            <Directory />
                Options FollowSymLinks
                AllowOverride All
            </Directory>
        </VirtualHost>
      
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.