puppet连载四:服务端安装dashboard

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -L get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm install ruby-1.8.7
rvm use 1.8.7

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

mysql 5.0.95

wget http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.0/mysql-5.0.95-linux-x86_64-glibc23.tar.gz
yum install -y perl-DBI
tar zxvf mysql-5.0.95-linux-x86_64-glibc23.tar.gz
mv mysql-5.0.95-linux-x86_64-glibc23 /usr/local/mysql

vi /etc/profile
export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

安装ruby-mysql-2.8.1

rpm -ivh http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.0/MySQL-shared-5.0.95-1.glibc23.x86_64.rpm
rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-db-headers-4.7.25-28.el7.noarch.rpm
rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-db47-4.7.25-28.el7.x86_64.rpm
rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/gdbm-1.8.0-39.el6.x86_64.rpm --force
rpm -ivh http://packages.psychotic.ninja/7/testing/x86_64/RPMS//compat-readline5-5.2-27.el7.psychotic.x86_64.rpm
rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/ruby-libs-1.8.7.374-5.el6.x86_64.rpm --force
rpm -ivh ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/dibo2010:/buildservice/CentOS_CentOS-5/x86_64/ruby-mysql-2.8.1-9.1.x86_64.rpm
rpm -ivh http://mirror.centos.org/centos/6/os/i386/Packages/rubygem-rake-0.8.7-2.1.el6.noarch.rpm
cd /puppet/soft
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.25.tgz
tar zxvf rubygems-1.8.25.tgz
ruby setup.rb
gem install ruby-mysql -v 2.8.1
gem install rake -v 0.8.7
gem install rails -v 3.2.15
gem install mysql

rpm -ivh ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/sttts:/puppet/CentOS_CentOS-6/noarch/puppet-dashboard-1.2.17-13.1.noarch.rpm

启动、设置mysql

vi /etc/my.cnf
[mysql]

CLIENT

port = 3306
socket = /data/mysql/mysql.sock
default-character-set=utf8
[mysqld]
server-id = 100
skip-name-resolve

GENERAL

user = mysql
default-storage-engine = InnoDB
socket = /data/mysql/mysql.sock
pid-file = /data/mysql/mysql.pid
character_set_server = utf8

表名不区分大小写

lower_case_table_names=1

不自动提交

init_connect='SET autocommit=0'

修改时区解决java写入少14小时问题

default-time-zone = '+8:00'

MyISAM

key-buffer-size = 32M

myisam-recover = FORCE,BACKUP

SAFETY

max-allowed-packet = 32M
max-connect-errors = 1000000

DATA STORAGE

datadir = /data/mysql/
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

BINARY LOGGING

log-bin = /data/mysql/mysql-bin
expire-logs-days = 14
sync-binlog = 1

CACHES AND LIMITS

tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 800
thread-cache-size = 80
open-files-limit = 1000

INNODB

innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 128M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 1G

LOGGING

log-error = /data/mysql/mysql-error.log

log-queries-not-using-indexes = 1

slow-query-log-file = /data/mysql/mysql-slow.log

max_prepared_stmt_count=100000

保存,退出

chown -R mysql.mysql /data/mysql
useradd mysql
mkdir -p /data/mysql
cd /usr/local/mysql/scripts
./mysql_install_db --datadir=/data/mysql --basedir=/usr/local/mysql
/usr/local/mysql/bin/mysqld_safe &
echo "/usr/local/mysql/bin/mysqld_safe &">>/etc/rc.local

修改root密码

use mysql;
UPDATE user SET Password = PASSWORD('yourpassword') WHERE user = 'root';
FLUSH PRIVILEGES;

mysql -p -e"CREATE DATABASE dashboard CHARACTER SET utf8;" &&
mysql -p -e"CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'yourpassword';" &&
mysql -p -e"GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';"

修改database.yml中的db连接信息

cd /usr/share/puppet-dashboard/config
cp config/settings.yml.example config/settings.yml &&
cp config/database.yml.example config/database.yml &&
vim config/database.yml
production:
database: dashboard
username: dashboard
password: xmrbi3967968@
encoding: utf8
adapter: mysql

保存退出

ln -s /data/mysql/mysql.sock /tmp/mysql.sock
cd /usr/share/puppet-dashboard/
rake RAILS_ENV=production db:migrate
cd /usr/share/puppet-dashboard/script
./server -e production -d

------------------ruby版本不符合,先不要--------------------------------------

修改httpd

vi /etc/httpd/conf.d/passenger.conf
Listen 3000
<VirtualHost *:3000>
DocumentRoot /usr/share/puppet-dashboard/public/
ErrorLog /var/log/httpd/dashboard_error.log
CustomLog /var/log/httpd/dashboard_access.log combined
AddDefaultCharset UTF-8
RailsEnv production
<Location /usr/share/puppet-dashboard/public/>
Options None
AllowOverride None
Order allow,deny
allow from all
</Location>
</VirtualHost>

关闭刚才的server

kill -9 xxx
chown apache.apache -R /usr/share/puppet-dashboard/
service httpd restart
---------------------------ruby版本不符合,先不要end--------------------------------------

修改puppet.conf

vi /etc/puppet/puppet.conf
[master]
reports = store, http
reporturl = http://172.16.54.209:3000/reports

设置时区

vi /usr/share/puppet-dashboard/config/settings.yml
time_zone: 'Asia/Shanghai'

保存,启动

cd /usr/share/puppet-dashboard/&&rake RAILS_ENV=production jobs:work &
chkconfig httpd on
service httpd restart
echo "cd /usr/share/puppet-dashboard/script&&./server -e production -d">>/etc/rc.local
echo "cd /usr/share/puppet-dashboard/&&rake RAILS_ENV=production jobs:work &">>/etc/rc.local


手工导入报告:

cd /var/www/html/puppet-dashboard-1.2.23/

rake RAILS_ENV=production reports:import #导入已经存在的报告

默认节点报告会在/var/lib/puppet/reports/ 产生,如果路径发生变化,导入报告时需要在后面加上“REPORT_DIR=report路径”,reports更改路径可在puppet.conf中设置参数“reportdir = 新路径”,这种方式不够实时。

另外:

puppet dashboard常用操作命令如下:
当puppet dashboard数据量过多的时候,需要优化数据库,可使用命令:
rake RAILS_ENV=production db:raw:optimize
清量dashborad一个月之前的数据。可以使用
rake RAILS_ENV=production reports:prune upto=1 unit=mon
备份puppet dashborad数据库,可以使用如下命令:
rake RAILS_ENV=production db:raw:dump
备份sql并输出到文件:
rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump
恢复puppet dashboard数据库,可以使用如下命令:
rake RAILS_ENV=production FILE=production.sql db:raw:restore

设置别名:
alias dashboardreport='cd /usr/share/puppet-dashboard/&&rake RAILS_ENV=production jobs:work &'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容