CentOS6にSensuをインストールする

CentOS6にChef(Solo)を使ってSensuをインストールする手順

rbenvで美しくRubyをインストール
CentOS 6.4にrbenvでRuby 2.0.0をインストールする

epelリポジトリ追加
[code]
[root@sensu ~]# rpm -ivh "http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm"[/code]

必要なものをインストール
[code]
[root@sensu ~]# yum -y install –enablerepo=epel git make gcc zlib-devel openssl-devel readline-devel ncurses-devel gdbm-devel db4-devel libffi-devel tk-devel libyaml-devel
[/code]

gitでrbenvとruby-buildをクローン
[code]
[root@sensu ~]# git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
[root@sensu ~]# git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build
[/code]

環境変数の設定
[code]
[root@sensu ~]# vim /etc/profile.d/rbenv.sh
export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"

[root@sensu ~]# . /etc/profile.d/rbenv.sh
[/code]

Rubyのインストール
[code]
[root@sensu ~]# rbenv install 2.1.1
[root@sensu ~]# rbenv global 2.1.1
[/code]

Chefのインストール
[code]
[root@sensu ~]# gem install –no-ri –no-rdoc chef knife-solo
[root@sensu ~]# rbenv rehash
[/code]

opscodeを使う準備
※予め登録して秘密鍵を入手する
[code]
[root@sensu ~]# knife configure
[root@sensu ~]# vim /root/.chef/opscode.pem
—–BEGIN RSA PRIVATE KEY—–
~
~
~
—–END RSA PRIVATE KEY—–
[root@sensu ~]# chmod 600 /root/.chef/opscode.pem
[root@sensu ~]# vim ~/.chef/knife.rb
client_key ‘/root/.chef/opscode.pem’
[/code]

Chefを使う準備
[code]
[root@sensu ~]# knife solo init chef-repo
[root@sensu ~]# cd chef-repo
[root@sensu chef-repo]# git init
[root@sensu chef-repo]# git add .
[root@sensu chef-repo]# git commit -m ‘first commit’
[/code]

opscodeからsensuを入手
[code]
[root@sensu chef-repo]# knife cookbook site vendor sensu -o cookbooks/
[/code]

SSLの設定
[code]
[root@sensu chef-repo]# cd ./cookbooks/sensu/examples/ssl/
[root@sensu ssl]# ./ssl_certs.sh generate
[root@sensu ssl]# cd /root/chef-repo/
[root@sensu chef-repo]# mkdir ./data_bags/sensu
[root@sensu chef-repo]# cp ./cookbooks/sensu/examples/ssl/ssl.json data_bags/sensu/
[/code]

Chef-Soloの準備
[code]
[root@sensu ~]# cd
[root@sensu ~]# mkdir ~/chef-repo/config
[root@sensu ~]# vim ~/chef-repo/config/solo.rb
file_cache_path "/tmp/chef-solo"
cookbook_path "/root/chef-repo/cookbooks"
role_path "/root/chef-repo/roles"

[root@sensu ssl]# cd /root/chef-repo/nodes/
[root@sensu nodes]# vim sensu.json
{
"default_attributes": {
},
"override_attributes": {
},
"run_list": [
"sensu",
"sensu::redis",
"sensu::rabbitmq"
]
}
[/code]

Chef-Solo実行
[code]
[root@sensu ~]# chef-solo -c ~/chef-repo/config/solo.rb -j ~/chef-repo/nodes/sensu.json
[/code]

起動
[code]
[root@sensu ~]# /etc/init.d/sensu-server start
[root@sensu ~]# /etc/init.d/sensu-api start
[root@sensu ~]# /etc/init.d/sensu-dashboard start
[/code]

自動起動設定
[code]
[root@sensu ~]# chkconfig sensu-server on
[root@sensu ~]# chkconfig sensu-api on
[root@sensu ~]# chkconfig sensu-dashboard on
[/code]

アクセス
http://(IP Address):8080/
admin: secret

参考URL:
Sensu Documentation
CentOS 6.5でChefからSensuをインストールしようとするとRabbitMQでコケる回避策