Installing Dashboard

[Note]Note

While I'm using Puppet environment 'testing', and the Dashboard environment is 'production', the interface doesn't show any classes. I don't know whether this is because the Puppet environment and the Dashboard environment should correspond, or because classes just aren't imported.

I don't even know whether Puppet and Dashboard environments have anything to do with each other at all.

  1. Install MySQL Server

  2. Install Dashboard

  3. Create the Dashboard database

  4. Permanently set max packet size

    In /etc/mysql/my.cnf set:

    <snip>
    [mysqld]
    <snip>
    # Allowing 32MB allows an occasional 17MB row with plenty of spare room
    max_allowed_packet = 32M
    <snip>
    	  

  5. Fill the database

  6. Configure dashboard to find the database and run

    /etc/puppet-dashboard/database.yml:

    # -----
    production:
      database: dashboard
      username: dashboard
      password: my_password
      encoding: utf8
      adapter: mysql
    	  

    /etc/default/puppet-dashboard

    <snip>
    START=yes
    <snip>
    DASHBOARD_ENVIRONMENT=production
    <snip>
    DASHBOARD_IFACE=10.0.17.1
    	  

    [Note]Note

    There is also /etc/default/puppet-dashboard-workers. Although it is the service puppet-dashboard-workers that we use, we configure it through /etc/default/puppet-dashboard.

  7. Starting Dasboard

  8. Tunnelling port 3000 from the Xen server to localhost

    Now http://localhost:3000 on 'home' should show the Dashboard. (It does.)

  9. Configuring the Master to accept reports

    In /etc/puppet/puppet.conf under [master], add:

    <snip>
    [master]
    <snip>
    reports = store, http
    reporturl = http://vhost1.xennet:3000/reports/upload
    <snip>
    	  

    then restart puppet on the master

  10. Configure the clients to send in reports

  11. Check that dashboard works

    Run puppet agent -t on a client, then refresh the web interface at localhost:3000. Data should have streamed in.