ATS
概要
Apache Traffic Server
キャッシュ・プロキシサーバ ソフトウェア
Yahoo! が開発したプロダクトが、apache foundationに寄贈され、
OSSとして開発が進められている。
キャッシュの機能・設定についての調査は、必要性が発生した時にでも行う。
資料
- 公式サイト
- 公式ドキュメント
- 公式ドキュメント日本語
- キャッシュエンジンの比較(1/3)
ATSについては、メジャーバージョンが古いため注意
設定
records.config
proxy.config.reverse_proxy.enabled
リバースプロキシモードを有効・無効に設定
proxy.config.http.server_ports
リクエストを受けるポート番号(その他オプション)
proxy.config.http.cache.http
キャッシュの有効・無効
proxy.config.url_remap.filename
「remap.config」のファイル名指定
proxy.config.alarm_email
Email addressを指定すると、問題が発生した場合に、通知される。
proxy.config.log.logging_enabled
イベントログやエラーログを作成するか指定
proxy.config.log.logfile_dir
ロギング対象ディレクトリ
proxy.config.log.max_space_mb_for_logs
ログディレクトリの最大容量
proxy.config.log.max_space_mb_headroom
ログディレクトリの残容量の閾値
proxy.config.log.rolling_enabled
ログのローテート方法の指定
指定されたタイミングか、指定されたサイズに達したタイミングか、あるいは両方を条件とするかを選べる。proxy.config.log.auto_delete_rolled_files
ログディレクトリの残容量が、headroom以下になった時に、古いログファイルを削除するか否かの設定
remap.config
リバースプロキシとして動作させる場合の、URLのマッピングを行うための設定ファイル
map rule
リクエストURLとオリジンサーバURLのマッピングを行う設定
reverse-map rule
オリジンサーバからのリダイレクトレスポンスのリダイレクト先URLを、
オリジンサーバからリバースプロキシのURLへ書き換えるためのマッピングルール
(リバースプロキシを迂回させないための設定)redirect, redirect_temporary
オリジンサーバに問い合わせる事なく、リダイレクトをレスポンスする設定
コマンド
trafficserver
ATSの起動
trafficserver start
ATSの終了
trafficserver stop
traffic_line
統計情報の取得やATSの設定を行えるCLIツール
取得可能な情報は、下記参照
https://trafficserver.readthedocs.org/en/latest/reference/commands/traffic_line.en.html
-h
ヘルプ
-x
設定ファイルの再読み込み
-r Var
統計情報または設定の表示
-s Var -v Value
records.configに記載できる設定項目を設定する。
反映には、実行後に-xでの再読み込みが必要。- Var:項目
- Value:値
traffic_logcat
バイナリのログファイルを閲覧出来るコマンド。
フォーマットの変換も出来る。
引数
ログファイル
-o PATH
ASCII形式の出力先ファイル指定
-f
tailコマンドと同じ、ファイルの更新を表示し続ける。
traffic_logstats
ログファイルから統計情報を取得するコマンド。
ログ
エラーログ
発生したエラーのログ
イベントログ
アクセスログとも呼ばれる。
リクエスト毎にその処理の記録がなされる。
下記のフォーマットを選べる。
- Squid
- Netscape Common
- Netscape extended
- Netscape Extended-2
また、バイナリかAsciiかを選べる。
バイナリの方がオーバヘッドやログサイズが少なく済む。
ローテートは、開始時刻・実施間隔の指定や、
指定サイズに達したタイミングで実施させる事ができる。
システムログ
syslogが使用され、システムの状態やerror・warningが記録される。
Web UI (Cache Inspector utility)
キャッシュの検索や削除をUIから行う事が出来る。
キャッシュを全て削除でき、強力な機能なので、有効にする際には、アクセス制限の設定には注意が必要。
Plugin
C APIを用いて、プラグインを開発する事が出来る。
その他
プロセス
以下の3つのプロセスが稼働する
traffic_server
コネクションを受付、リクエストを処理し、レスポンスを返す役割。traffic_manager
traffic_serverの起動、監視、再設定を担う。
クラスタ管理等の責任も担う。
traffic_serverがダウンし、再起動を掛ける際に、リクエストをキューイングする。traffic_cop
traffic_serverとtraffic_managerのヘルスチェックを行う。