想ひ出2: Wordpressがたまにイカレるのでjenkinsでphp-fpm restart
おはようございます。moqrinです。
AWSのec2インスタンス上で、 たまにWordpressのphp-fpmがやたらCPUを喰ったりすることがあります。 でも、だいたいphp-fpmのrestartをかけると元に戻ります。
が、毎回手動でやるのは面倒くさいのでXXXが起こったら、 jenkinsおじさんで勝手にphp-restartしてくれるようにしました。 (そもそも何故そういう事象になるのかを調査して修正を加えろよ、と言いたいですよね? 仰る通りです!猛省します!)
そこに至るまで下記のようにコケてフガフガしました。。
1 通常利用しているzshにのみpyenvのパスを通してあったので、 bashにpyenvのパスを通してあげないとaws-cliが使えなかった。。
# .bashrcに追記 export PYENV_ROOT=$HOME/.pyenv export PATH=$PYENV_ROOT/bin:$PATH eval "$(pyenv init -)"
2 普通にaws-cliでインスタンスのipとか表示させたときに、 "xxx.xx.xxx.xx"みたいなダブルクォーテーションがあったので、 ssh hoge@$varialbe するときにログインできなかった。。 (いや、当たり前なんですけどね!)
3 sshで新しくELBに追加されたサーバーにログインするときに失敗しやがる。。 ホストキーを確認されるからね。。
以上を踏まえてこんな感じになりました。 ついでにSlackにお知らせも入れました。
source ~/.bashrc publicIpAddresses=(`aws ec2 describe-instances --filter \ "Name=tag:Name,Values=HOGEGE" | jq ".Reservations[].Instances[].PublicIpAddress"\ | sed -e "s/\"//g"`) for i in ${publicIpAddresses[@]} do # invalid hostcheck ssh -o StrictHostKeyChecking=no develop@${i}\ sudo systemctl restart php-fpm # slackCallApi curl -X POST \ -H 'Content-type: application/json' \ --data '{"text": "php-fpm has been restarted. ", "channel": "#moqrin3",\ "link_names": 1, "username": "jenkins", "icon_emoji": ":jenkins:"}' \ https://hooks.slack.com/services/XXXXXXXXXXX done
参考
使えるとちょっと便利なSSHのTIPS 2012/04/04 AWS CLIを使ってEC2インスタンスの情報を取得する 2014/10/04