GTMの用語メモ
GoogleTagManagerをはじめて使ったので用語をメモ。
- アカウント(GTM埋め込みコードと1対1対応)
- workspace
- 複数持つことができる下書き
- git branch みたいなの
- workspaceで修正したものはプレビューで確認可能
- 公開とするとこで本番反映される
- タグ(実際に埋め込むタグ)
- 何のタグを埋め込むかを設定
- トリガーと紐付けて設定する
- トリガー(発動条件)
- host名やpathやクエリパラメータなどで指定
- workspace
consulのリーダー選出の仕組み
よくわかっていなかったのでメモ。
consulのリーダー選出には、Raft プロトコル(分散合意アルゴリズム)が使用されている。
- 各ノードは次の3つのステートを持つ。
- leader
- follower
- candidate
- 遷移
- 起動直後はみんな
follower
- followerはランダムなTimeout(150ms~300ms)値を持ち、過ぎると
candidate
に変わる。- 非サーバモードの場合は
candidate
にならない
- 非サーバモードの場合は
-
candidate
になると自分のtermをインクリメントする # よくわからない -
candidate
は各ノード(follower
)にRequestVoteRPC(投票リクエスト)をブロードキャストする -
follower
RequestVoteRPCを受け取ったら自分のTimeoutをリセットして、投票レスポンスをするfollower
は最初にRequestVoteRPCを投げたcandidate
に投票する
- 過半数以上の得票を受け取った時点で
candidate
はleader
になる -
leader
は定期的にAppendEntriesRPC(ハートビート)を各follower
にブロードキャストする -
follower
はハートビートを受け取ると自分のTimeoutをリセットする
- 起動直後はみんな
- 参照
CentOS7にcurl最新版をインストールする
古いディストリビューションへの最新のパッケージ提供を行っている city-fan からyumリポジトリを取得して、そこからインストールする。
rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/rhel7/x86_64/city-fan.org-release-2-1.rhel7.noarch.rpm yum -y install libcurl libcurl-devel --enablerepo=city-fan.org
ルーティングの確認&更新
よくわかっていなかったので整理。
# ルーティングテーブルの確認 route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.0.1 0.0.0.0 UG 100 0 0 eth0 # デフォルトゲートウェイ = 192.168.0.1 default 192.168.0.1 0.0.0.0 UG 101 0 0 eth1 # 〃 172.16.0.0 172.16.0.1 255.255.255.0 UG 0 0 0 eth1 # 172.16.0.0/24への通信は172.16.0.1へ転送する 192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 # 192.168.1.0/24への通信はデフォルトゲートウェイ(0.0.0.0)へ転送する 192.168.0.10 172.16.0.1 255.255.255.255 UH 100 0 0 eth1 # 192.168.0.10への通信は172.16.0.1へ転送する # ルールを追加 route add -net 192.168.0.20 netmask 255.255.255.255 gw 172.16.0.1 eth1 # ルールを削除 sudo route del -net 192.168.0.10 netmask 255.255.255.255 gw 172.16.0.1 eth1 # デフォルトゲートウェイを削除 sudo route del default netmask 0.0.0.0 gw 192.168.0.1 eth1
LVSとかkeepalivedとか
用語の整理
- LVS
- これはなに?
- Linux Virtual Serverの略称で、負荷分散装置に求められる基本的な機能を提供する。
- 構成要素
- IPVS(IP Virtual Server)
- 負荷分散機能を提供する
- ipvsadmユーティリティ
- LVSのほとんど全ての設定をipvsadmコマンドで行う
- IPVS(IP Virtual Server)
- 使い方
- LVSでは、実サーバのサービス提供状態を把握することはできない。
- そのため、keepalivedなどと組み合わせて実サーバのサービス監視を行う。
- リンク
- これはなに?
- keepalived
- これはなに?
- ロードバランサ機能を提供するミドルウェア。
- 仕組み
- リンク
- これはなに?
- VRRP
- Virtual Router Redundancy Protocolの略。
- デフォルトゲートウェイなどを冗長化するためのRFC3768で標準化されたプロトコル。
- デフォルトゲートウェイとなる Layer3 デバイスにIPアドレスとMACアドレスを共有させることができるので、PCなどの「デフォルトゲートウェイのパスを冗長化」させることができる。
- 物理的には2台あるルータが論理的(仮想的)には、1台のルータに見せられる。
コマンドメモ
# 確認 # TCP接続の状態がESTABLISHEDになったらActiveConnを増やし、 # その他の状態になったらInActConnを増やしています。 sudo ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 10.0.0.1:80 rr # 外向きのIP -> 192.168.0.10:80 Route 1 0 0 -> 192.168.0.11:80 Route 1 0 0 TCP 10.0.0.1:443 rr # 外向きのIP -> 192.168.0.10:443 Route 1 0 0 -> 192.168.0.11:443 Route 1 0 0 # 192.168.0.12 を足す # -a は addモード # -t は受け口 # -r は転送先 # -m オプションを付けるとForward=Masq(NAT接続)になる。 sudo ipvsadm -a -t 10.0.0.1:80 -r 192.168.0.11:80 ; sudo ipvsadm -e -t 10.0.0.1:443 -r 192.168.0.12:443 # 192.168.0.10のweightを0にする # -e は editモード # -w は重み付け sudo ipvsadm -e -t 10.0.0.1:80 -r 192.168.0.10:80 -w 0; sudo ipvsadm -e -t 10.0.0.1:443 -r 192.168.0.10:443 -w 0
参考
CentOS7 systemd のファイル・フォルダ構成
/etc/init.d
に慣れすぎて覚えられないのでメモ。
- /usr/lib/systemd/system
- /etc/systemd/system
- サーバーの管理者が独自に変更・編集した設定ファイル
- 同名のファイルがある場合は、こちらが優先される。
参考
chefで手っ取り早くデバッグ出力
# 手っ取り早くデバッグ # 以下を仕込んで、 # why-runすればコンソールにされる log 'debug_message' do message 'DEBUG MESSAGE!!!' level :fatal end