Устанавливаем Puppet Dashboard

Я уже упоминал о , как о средстве централизованного управления парком серверов, теперь речь зайдет о Dashboard. Это веб-интерфейс предостовляющий наглядный доступ к отчетам .

Выглядит он следующим образом:

Puppet Dashboard Node Manager Puppet Dashboard Node View Puppet Dashboard Report Puppet Dashboard Radiator View

Для работы Dashboard требуется база данных. Предположим что MySQL уже установлен и настроен.

Устанавливать Dashboard будем из пакета, поэтому добавляем репозиторий puppetlabs

[email protected]:~# wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb [email protected]:~# dpkg -i puppetlabs-release-precise.deb [email protected]:~# apt-get update [email protected]:~# apt-get install puppet-dashboard

Настройки Dashboard содержатся в двух основных нофигурационных файлах: database.yml и settings.yml. Первый, как можно понять из названия отвечает за базу данных. Второй содержит остальные настройки.

В database.yml зададим параметры используемой БД.

production: database: puppet_dashboard username: puppet_dashboard password: top_secret encoding: utf8 adapter: mysql

Создадим в mysql пользователя puppet_dashboard, БД с аналогичным именем и предоставим на нее полные права.

CREATE DATABASE puppet_dashboard CHARACTER SET utf8; CREATE USER 'puppet_dashboard'@'localhost' IDENTIFIED BY 'top_secret'; GRANT ALL PRIVILEGES ON puppet_dashboard.* TO 'puppet_dashboard'@'localhost'; FLUSH PRIVILEGES;

Теперь необходимо заполнить созданную БД.

[email protected]:~# cd /usr/share/puppet-dashboard [email protected]:~# rake RAILS_ENV=production db:migrate

В settings.yml пропишем адрес puppetmaster.

# Hostname of the certificate authority. ca_server: 'puppet.local'

Отредактируем /etc/default/puppet-dashboard и /etc/default/puppet-dashboard-workers, разрешив запуск сервисов.

START=yes

Запускаем Dashboard.

[email protected]:~# service puppet-dashboard start

Для того чтобы исполовать Dashboard для отчетов необходимо соответсвующим образом настроить puppetmaster.

[master] reports = store, http reporturl = http://puppet.local:3000/reports/upload

И перезапустить его.

[email protected]:~# service puppetmaster restart

А так же включить отчеты в конфигурации агентов.

 [agent] report = true

Проверяем.

[email protected]:~# puppet agent --test info: Caching catalog for .local info: Applying configuration version '1356375539' notice: Finished catalog run in 0.46 seconds

Dashboard использует отложенную очередь для асинхронного выполнения задач, поэтому для его корректной работоы необходимо запустить сервис puppet-dashboard-workers.

[email protected]:~# service puppet-dashboard-workers start

На этом базовый функционал заканчивается. Слегка забегая вперед, подготовим Dashboard к использованию продвинутых возможностей, например службы инвентаризации. Для этого нам потребуется сертификат от puppetmaster, запрашиваем его.

[email protected]:~# cd /usr/share/puppet-dashboard [email protected]:/usr/share/puppet-dashboard# chown -R www-data: certs/ [email protected]:/usr/share/puppet-dashboard# sudo -u www-data rake cert:create_key_pair [email protected]:/usr/share/puppet-dashboard# sudo -u www-data rake cert:request

Утверждаем.

[email protected]:~# puppet ca list dashboard (MD5) CF:86:8D:45:A6:46:85:98:BA:56:8D:51:5C:D3:18:D2 [email protected]:~# puppet ca sign dashboard Signed certificate request for dashboard

И получаем.

[email protected]:~# cd /usr/share/puppet-dashboard [email protected]:/usr/share/puppet-dashboard# sudo -u www-data rake cert:retrieve