Puppet Dashboard Installation on Amazon Linux based EC2 Server

19 / Jun / 2015 by prashant varshney 0 comments

Puppet Dashboard is a puppet user interface that gives you a bird eye view of system configurations. It shows the list of nodes that can be in changed, unchanged, pending, failed or unreported state. You can manage all your nodes from the dashboard without login into the puppet master server


Puppet Master (2.7.25)

Install MYSQL Server

[shell]yum -y install mysql-server
/etc/init.d/mysqld start[/shell]

Create Database for puppet Dashboard

[shell]mysql -u root -p
mysql> create database puppetdash;
mysql> exit[/shell]

Install Puppet-Dashboard

[shell]rpm -i -y install puppet-dashboard
yum -y install puppet-dashboard[/shell]

Configure Puppet Dashboard

mv /usr/share/puppet-dashboard/config/database.yml.rvm /usr/share/puppet-dashboard/config/database.yml
vim /usr/share/puppet-dashboard/config/database.yml

database: puppetdash
username: root
password: <mysqlrootpassword>
encoding: utf8
adapter: mysql

Make the file look like above and comment all other lines

Install Dependencies

1.Install compatible ruby

[shell]yum install -y gcc zlib zlib-devel wget
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p330.tar.gz
tar xvf ruby-1.8.7-p330.tar.gz
cd ruby-1.8.7-p330
./configure –enable-pthread
make install[/shell]

2.Use the latest installed ruby

[shell]update-alternatives –config ruby[/shell]

By default when you install puppet master ruby comes with it and that ruby version i.e. 2.0.0 creates some conflicts during further puppet dashboard configuration.So we use the manually installed ruby for further configuration.

3.Install the compatible RubyGems

[shell]yum -y install rubygems18*
#This will install gems 1.8.25
gem install stomp
gem install rakegem install ruby-mysqlgem install ruby-mysql
gem install ruby-mysql[/shell]

Migrate the database

[shell]cd /usr/share/puppet-dashboard
/usr/bin/rake RAILS_ENV=production db:migrate[/shell]

db:migrate command will modify the schema of your database.

Add reporting to puppet.conf

[shell]vim /etc/puppet/puppet.conf[/shell]

report = true
reports = store, http
reporturl = 

Here we are commanding the puppet master server to  start sending the reports on a specified report url, you can specify your private ip over here for reporturl

Run puppet manually

[shell]chown puppet-dashboard /usr/share/puppet-dashboard/log/
/sbin/chkconfig puppet-dashboard on
/sbin/chkconfig puppet-dashboard-workers on
/sbin/chkconfig mysqld on
/etc/init.d/puppet-dashboard restart
/etc/init.d/puppet-dashboard-workers restart[/shell]

Access the Dashboard as where xx.xx.xx.xx is your public ip



Leave a Reply

Your email address will not be published. Required fields are marked *