nginxでヘルスチェックのアクセスログを出力させない設定
...おはようございます。インフラの宮下です。
今回はnginxのログ関連の設定になります。目次
はじめに
apacheで良く実施する、setenvの定義を利用して特定NWから来るログを出力しないような設定をnginxでも実施したかったのですが同じ機能が無かったので調べてみました。 使い道としては、ロードバランサーのヘルスチェックや監視サーバからの接続など、ログに出力しない方が都合が良い時に利用できます。 解析するには不要ですし、余計なDISK I/Oも抑えられます。
ngx_http_geo_moduleとは
ドキュメントの通りIPアドレスを変数としてセットできます。
一般的に使われるのは、特定の国のNWは接続拒否するような時にこのモジュールを使う事が多いようです。 そのような場合は、includeして大量に登録された別ファイルで管理する事も可能です。nginxへの設定
nginx.confに設定します。
[shell]# vi nginx.conf http { include mime.types; (中略) # not access_log IP’s geo $no_log { default 0; 172.0.1.0/24 1; } server { (中略) location / { root /var/www/html; index index.cgi index.php index.html index.htm; if ($no_log) { access_log off; } } }[/shell]Chefで既存手順のレシピを書く1(初期設定)
...こんにちは。プラットフォームの小宮です。
前回はChefでレシピを書く前のroleやdata_bagsなどの環境定義について書きました。
今回は既存手順のレシピ化ということで淡々と地味に書いていきたいと思います。注意:
scriptリソースを使うときはnot_ifまたはonly_ifを必ず書くこと(複数回実行されないように)
bash内でcdを書き忘れるとtarの解凍先パスがその後のコマンドの指定と一致しなくなるので注意
scriptリソースを使うとエラーがまともに出ないので自分でコマンドをたたいて状況を確認する必要がある
リソースのマニュアルを熟読推奨。クックブック名とその内容は以下の通り。
base_setting 初期設定など ★今回ご紹介するレシピはこちらのみです。
login-users ログインユーザ作成
httpd web関連設定
mysqld db関連設定
munin 統計グラフ設定
zabbix 監視設定レシピを書く
・base_settingのレシピを書く
使いまわしやすさを意識した結果細かく分割して書くことにしました。
☆バックアップディレクトリ作成レシピ
[shell]# cd site-cookbooks/base_setting/recipes/ # for i in bkup_dir hosts sysctl disable ntpd ntpdate mail logrotate ;do touch $i.rb ;done # vi bkup_dir.rb directory ‘/etc/.backup/’ do owner ‘root’ group ‘root’ mode ‘0755’ action :create end[/shell]