该Dashboard是一种运行在Rails上的Ruby应用程序,它还不是可以添加到系统版本中的程序包,但是我们可以从Puppet Labs以RPM或者DEB包的形式获得该软件。我们也可以选择从资源进行安装。

   作为前提条件,Dashboard需要Puppet已经安装,并且使用存储的配置运行。Dashboard可以在最近出现的大多数Puppet版本上工 作,0.24.8版及更高版本都可以。它还需要Ruby、Rake工具以及一个MySQL数据库(以后的版本会支持更多的数据库)。

添加Yum或者Apt仓库

  首先,我们需要添加Puppet Labs Yum,或者添加Apt仓库。对于Yum来说,我们需要为Puppet Labs创建一个Yum报告条目:

$ vi /etc/yum.repos.d/puppetlabs.repo

  为该条目添加以下内容:

[puppetlabs]
name=Puppet Labs Packages
baseurl=http://yum.puppetlabs.com/base/
enabled=1
gpgcheck=1
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs

  然后通过Yum安装。

$ sudo yum install puppet-dashboard

  安装过程会提示你安装Puppet Labs释放键(release key),这是安装过程的一部分。

  对于Apt,我们需要给/etc/apt/sources.list文件添加条目:

deb http://apt.puppetlabs.com/ubuntulucid main
deb-src http://apt.puppetlabs.com/ubuntulucid main

  然后再给Apt添加Puppet Labs GPG键。

$ gpg --recv-key 4BD6EC30
$ gpg -a --export 4BD6EC30 | sudo apt-key add -

  接下来,我们运行更新:

$ sudo apt-get update

  然后安装软件包:

$ sudo apt-get install puppet-dashboard

  在装有红帽和Ubuntu系统的主机上,Puppet Dashboard的安装目录为/usr/share/puppet-dashboard。

配置Rails应用程序

  下一步,我们需要配置Rails应用程序,首先从数据库开始。目前Dashboard只支持MySQL数据库,那么我们就创建一个:

$ mysql --u root p
mysql> CREATE DATABASE dashboard CHARACTER SET utf8;
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';

  在此我们已经创建了一个名为dashboard的数据库,添加了一名叫做dashboard的用户,并让该用户对这个数据库拥有某些特权。你应该用适当的密码代替代码中的“密码”字符。

  接下来,我们需要告诉Dashboard有关数据库的信息。为了做到这一点,我们需要对/usr/share/puppet-dashboard/config目录下的database.yml文件进行配置。

  该软件包含有一个示例文件,名字为database.yml.example,我们可以对它进行复制和编辑:

$ cp database.yml.example database.yml
$ vi database.yml

  在该文件中更新生产节(用你自己的密码代替password字符),代码如下:

production:
adapter: mysql
database: dashboard
username: dashboard
password: password
encoding: utf8

  这个节需要YAML格式验证,所以请确保你保留了现有的缩进。

  最后,我们需要用表格和基础数据来填充我们的新数据库。我们用Rake任务来完成这个工作。在/usr/share/puppet-dashboard目录下,运行以下命令:

$ rake RAILS_ENV=production db:migrate

  现在Dashboard全部配置完成,我们可以运行该Rails应用程序了。运行Rails应用程序有很多方法。一种方法是使用内部Webrick服务器(这对于生产不是很好,因为它并不能很好的扩展)。

  在/usr/share/puppet-dashboard目录下,运行:

$ sudo ./script/server -e production

  这个命令会在端口3000上运行Dashboard,你可以通过一个网页浏览器进行访问:

http://your.host.name:3000

  你还可以配置带有Passenger的Apache或者Nginx来运行Dashboard,这种做法是一种更稳定、扩展性更好的生产选择。在这里你可以找到一个Apache Passenger配置文件示例。

  下篇文章中,我们将介绍如何把Puppet报告导入Puppet Dashboard

yum puppet dashboard的更多相关文章

  1. yum puppet 并整合控制台

    上篇说了下在ubuntu12.04上安装puppet,安装的版本为puppet2.7.11版本,今天尝试了下在CentOS6.4系统上安装puppet 3.1.1版本,本文参考chenshake的文章 ...

  2. yum puppet

    config.gem: Unpacked gem factory_girl-1.3.3 in vendor/gems has no specification file. Run 'rake gems ...

  3. puppet报告系统Dashboard部署及配置详解

    Puppet Dasshboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序.可以作为一个ENC(外部节点分类器)以及一个报告工具,并且正在逐渐成为一个 ...

  4. puppet常用调试命令

    yum快速部署puppet测试环境(C/S端) rpm -ivh  http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm yum r ...

  5. 自动化运维工具 ~puppet~

    一.模板的应用 到目前为止,资源申报.定义类.声明类等所有功能都只能一个manifest文件中实现,但这却非有效的基于puppet管理IT资源架构的方式.实践 中,一般需要把manifest文件分解成 ...

  6. puppet批量管理500多台服务器

    前言 puppet使用了有一段时间了,之前写的手顺书一直未发布到blog上来,今天正好有空,写下一点笔记.公司在用的服务器有500多台,基本都为CentOS,版本有5和6两种,管理起来很不方便,尤其是 ...

  7. puppet自动化安装服务

    puppet自动化部署 主机环境: server(master)端:172.25.7.1(server1.example.com) client(agent)端:172.25.7.2 172.25.7 ...

  8. 在CentOS 6.4上安装Puppet配置管理工具

    在CentOS 6.4上安装Puppet配置管理工具 linux, puppetAdd comments 五052013 上篇说了下在ubuntu12.04上安装puppet,安装的版本为puppet ...

  9. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

随机推荐

  1. html+css+js实现复选框全选与反选

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. Creating a Navigation Drawer 创建一个导航侧边栏

    The navigation drawer is a panel that displays the app’s main navigation options on the left edge of ...

  3. spring 读取properties的两种方法

    一:直接使用context命名空间 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi= ...

  4. COGS 渡轮问题 (LIS规定字典序输出方案数)

    /* 下标字典序最小 */ #include<iostream> #include<cstdio> #include<cstring> #define maxn 1 ...

  5. codevs 1281 Xn数列 (矩阵乘法)

    /* 再来个题练练手 scanf longlong 有bug....... */ #include<cstdio> #include<iostream> #include< ...

  6. js异步的理解---千呼万唤始出来啊!

    编译完成后(先分配给变量空间和function(){}命名的函数,var = function(){}这种函数也仅仅只是分配了个空间,还没有赋值个函数给他!),调用了若不是undefined就执行, ...

  7. (转)PHP中的ob_start用法详解

    用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出 ...

  8. 安装PHP过程中,make步骤报错:(集合网络上各种解决方法)

    安装PHP过程中,make步骤报错:(集合网络上各种解决方法) (1)-liconv -o sapi/fpm/php-fpm /usr/bin/ld: cannot find -liconv coll ...

  9. Swift - 07 - 布尔类型

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...

  10. Windows Phone获得IsolatedStorage中指定目录下的所有文件

    在Windows Phone 中对隔离存储空间中的文件操作需要通过System.Io.IsolatedStorage下的类进行操作 获得指定文件夹下的所有文件: 参数:是指定文件夹的路径加上通配符,格 ...