New Relic入れるならBerkshelf使おうよということでやってみました。
ちなみにCentOS64に対してLAMP構成を作るって想定です。
- まずはknife solo initコマンドを実行する
まずはknife solo initしませう。
$ knife solo init newrelic
2. 作成されたBerksfileに以下の記述をする
$ cd newrelic
$ vim Berksfile
site :opscode
cookbook 'yum'
cookbook 'php'
cookbook 'mysql'
cookbook 'apache2'
cookbook 'newrelic'
3. knife solo prepareを行う
$ knife solo prepare chef@hoge
4. nodes/hoge.jsonを修正する
knife solo prepareで、nodes/hoge.jsonというファイルが出来ていると思うので、その中を修正していきたいと思います
$ vim nodes/hoge.json
{
"mysql":{
"server_debian_password": "hoge",
"server_root_password":"hoge",
"server_repl_password":"hoge"
},
"newrelic":{
"server_monitoring": {
"license":"キー"
},
"application_monitoring":{
"license":"キー"
}
},
"run_list":[
"yum::remi",
"yum::epel",
"mysql::server",
"apache2",
"php",
"newrelic"
]
}
5. いよいよサーバーにインストールするよ!
普通にknife solo cookを使うだけ。
$ knife solo cook chef@hoge
これだけで簡単にlamp環境の構築からnewrelicのインストールまで出来てしまいます。
実際にリポジトリに上がっているものを使ってみる
上の方に書いた手順をgithubにあげておきました。
berks-newrelic
で、実際にリポジトリから落としてからどうやって使うかを説明します。
- リポジトリから取得する
$ git clone https://github.com/polidog/berks-newrelic.git
2. bundle installを実行する
実は今回用意したリポジトリにGemfileを用意したのでbundle installをしてください。
$ bundle install
3. berksコマンドを実行する
.chefディレクトリとかも用意されているので、そのままberksコマンドを実行しましょう。
このとき--pathでcookbooksを指定します。
$ bundle exec berks --path=./cookbooks
4. knife solo prepareを実行する
$ bundle exec knife solo prepare root@hoge
5. nodes/hoge.jsonを編集する
必要に応じて編集すれば良いかと思いますが、基本的なものをnodes/default.jsonという形でよういしています。
ファイルをコピーして書き替えれば多少は手間が省けます。
$ cp nodes/default.json nodes/hoge.json
ちなみにいちいちコピーする必要も無い場合は以下のようにもできる
'''
$
newrelicのライセンスキーの指定の部分は必ず変更するうようにしてください。
6. あとはknife solo cookするだけ!
$ knife solo cook root@hoge
ちなみにホストとnodeファイルをが違う場合は以下のようにするのもありかも
$ knife solo cook root@hoge -N default
これで落としてきたリポジトリの物が使えますよー。