使用 Puppet Dashboard
Puppet Dashboard 是一个管理 Puppet 安装的有用的工具,尤其对于大量的安装, 并且能够通过一个 Web 界面看到节点的信息和报告。 Puppet Dashboard 可以为你显示最近运行 Puppet 的节点,它们运行了多长时间, 是否有任何节点的错误报告,以及是否有一段时间内没有运行 Puppet 的节点等。
准备工作
从 Puppet Labs 站点 http://www.puppetlabs.com/misc/download-options/ 下载 Puppet Dashboard 软件包并解压缩。 软件包中有一个安装说明文件 README.markdown,但你可能需要先安装以下依赖的包(部分或全部):
# apt-get install -y build-essential irb libmysql-ruby libmysqlclient-dev libopenssl-ruby libreadline-ruby mysql-server rake rdoc ri ruby ruby-dev
为 Puppet Dashboard 应用程序创建一个 MySQL 数据库和用户(使用自己的口令):
# mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 39 Server version: 5.1.41-3ubuntu12.9 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database dashboard; Query OK, 1 row affected (0.00 sec) mysql> grant all on dashboard.* to dashboard@localhost identified by 'topsecret'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
复制 Puppet Dashboard 提供的样例文件 database.yml,并做适当的修改:
# cd puppetlabs-puppet-dashboard-071acf4 # cp config/database.yml.example config/database.yml # vi config/database.yml
production: database: dashboard username: dashboard password: topsecret encoding: utf8 adapter: mysql
使用应用程序提供的 Rake 任务创建如下的初始化数据库:
# rake RAILS_ENV=production db:migrate
操作步骤
启动内置的 Web 服务器:
# script/server -e production => Booting WEBrick => Rails 2.3.5 application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2011-02-21 09:54:32] INFO WEBrick 1.3.1 [2011-02-21 09:54:32] INFO ruby 1.8.7 (2010-01-10) [i486-linux] [2011-02-21 09:54:37] INFO WEBrick::HTTPServer#start: pid=16570 port=3000 Using a web browser, connect to localhost:3000
如图所示,你应该看到 Puppet Dashboard 的界面:
现在你需要配置 Puppetmaster 向 Puppet Dashboard 发送报告。 为了实现这个功能,你需要配置 puppet.conf 文件的 reports 参数,为其添加 http 报告:
reports = http,log
重新启动 Puppetmaster 使新配置的报告生效。
在节点上运行 Puppet:
# puppet agent --test
在 Puppet Dashboard 界面中单击 Nodes 链接。 如图所示,你应该看到表明 Puppet 运行成功的绿色区域:
工作原理
当在一个节点上运行了 Puppet,它会使用其报告装置向 Puppet Dashboard 发送报告。 Puppet Dashboard 会存储这些数据并利用这些数据显示所有节点上的 Puppet 活动的图表和摘要。
更多用法
你也可以使用 Puppet Dashboard 创建新的节点或类,并控制哪些节点需要包含哪些类。 实际上,它为你管理 Puppet 配置清单提供了一个 Web 接口, 所以你可以通过 Web 浏览器来编辑配置清单,而不是直接修改文本文件。 这是一个有吸引力的功能,尤其用于想让其他团队或部门的人能够管理他们自己的 Puppet 配置时。
为了实现 Puppet Dashboard 的这个功能,你需要配置 Puppet 使用 external node classifier; 这将在 使用外部节点分类器 一节中介绍。