SlideShare a Scribd company logo
1 of 38
Download to read offline
kubernetes(GKE)環境における
datadog利用
デジタルアドバタイジングコンソーシアム
株式会社
春名 光一
2016/11/08
1
©2016 D.A.Consortium All rights reserved
目次
2
• 自己紹介
• DACについて
• AudienceOne
• KubernetesとGKE
• AudienceOneでのdatadog の利用方法
• 今後のdatadogに改善を期待する点
• まとめ
©2016 D.A.Consortium All rights reserved
自己紹介
3
• 名前
➢ 春名 光一 (はるな こういち)
• 経歴
➢ 2006年4月 某DNSな会社に入社 (AS 18149)
➢ 2015年2月 デジタルアドバタイジングコンソーシアム(株)
• 最近の業務
➢ 自社サービスの運用や社内ネットワークの管理
➢ Terraform や ansible を書いたりしてます
DACについて
4
©2016 D.A.Consortium All rights reserved
DAC
5
AudienceOne
6
©2016 D.A.Consortium All rights reserved
AudienceOneとは
7
[API]
Request
Receiver
Aggregator
[Batch]
[Web]
Log
Aggregation
Definition
Publisher
Admin
Console
Bulk Loader
Definition
Consumer
scylladb
[monitor]
AudienceOne System Diagram
[API]
Request
Receiver
Aggregator
[Batch]
[Web]
Log
Aggregation
Definition
Publisher
Admin
Console
Bulk Loader
Definition
Consumer
scylladb
[monitor]
AudienceOne System Diagram
今日のお話
©2016 D.A.Consortium All rights reserved
AudienceOneのシステム構成概要
• 一部だけGCP上に乗っている経緯などは、Google
Cloud Platform Japan Blogに載っています
➢ http://googlecloudplatform-japan.blogspot.jp/2016/08
/dmp-google-cloud-platform.html
• 外部サービスを利用していた部分を内製して再構
築しました
➢ 興味あればぜひ
• 今日はその再構築した部分でdatadogをどのように
使っているかをお話します
次に進む前に質問です
11
©2016 D.A.Consortium All rights reserved
1. DockerなどのContainer技術に触ったことあ
りますか?
2. Kubernetesとかswarm / ECS / GKE とか
使っていますか?
1. Kubernetes
2. GKE
3. Swarm
4. ECS
5. その他
12
質問
©2016 D.A.Consortium All rights reserved
回答ありがとうございます
質問
KubernetesとGKE
14
©2016 D.A.Consortium All rights reserved
KubernetesとGKE
• Kubernetes (k8s)とは
➢ 元はGoogleが自社のコンテナ技術で培ったノウハウを
オープンソースにしたコンテナクラスタマネージャ
➢ 結構頻繁にドキュメント更新されている
• GKE (Google Container Engine)
➢ GCP(Google Compute Platform) 上で利用できる
Kubernetes のmanaged service
✓ kubernetesのVer. up後、早いと翌日には最新版が利用できるよ
うになることも
➢ 素のkubernetesにはない機能もある
✓ node-poolなど
• PodやReplica Setなどの概念がある
15
©2016 D.A.Consortium All rights reserved
Pod
Pod とは
• いくつかのコンテナをグループ化したもの
• KubernetesはPod単位で操作を行う
• 1コンテナでも「コンテナが1つだけ含まれるPod」で1Pod
• Pod内のコンテナは同一nodeに配置される
• 仮想NICを共有するなどの特徴がある
➢ Pod内の他コンテナからlocalhostでアクセス可能
• コンテナ起動時と停止時に特定のコマンドを実行させること
が可能
➢ postStart / preStop / init-containers
• ヘルスチェック関連のパラメータもある
➢ readinessProbe / livenessProbe など
16
©2016 D.A.Consortium All rights reserved
Pod
Nginx
node
pod
container
Nginx
node
pod
container
java
container
17
©2016 D.A.Consortium All rights reserved
Replica Set / Replication Controller/ Deployments
Replica Setとは
• Podの”Replica”を指定台数動かし続けるための仕組み
➢ “Replication Controller”との違いは、Selector が使えるかどうか
➢ “The only difference between a Replica Set and a Replication
Controller right now is the selector support.”
• Replica Setで作成されたPodに異常があったりPodを削除し
た場合でも、Replica SetによりPodが再作成される
• Podのimage updateをより宣言的に扱える”Deployments”
の方が推奨されているみたい
➢ DeploymentsがReplica Setを制御してくれる
• Replica Setを Autoscaling させる仕組みもある HPA
(Horizontal Pod Autoscaling )
➢ Autoscalingでnodeがscale inする時に preStop がうまく効かない模
様(GKE 1.3)
✓ Mackerelを試したときに自動退役できず問題に。。
18
©2016 D.A.Consortium All rights reserved
Replica Set / Replication Controller/ Deployments
node
pod
Ver 1
container
node
pod
Ver 1
container
pod
Ver 1
container
Repclia = 3
Replica
Set
19
node
pod
Ver 2
container
node
pod
Ver 2
container
pod
Ver 2
container
Deployment
s
©2016 D.A.Consortium All rights reserved
Daemon Set
Daemon Setとは
• 全nodeもしくは、Selectorで指定したnodeにPodを動かすた
めの仕組み
• Replica Setでは、同一nodeに同じ構成のPodが複数動くこ
とがあるが、 Daemon Setでは確実に1Podだけ動かせる様
になる
➢ logstash , fluentd のようなログコレクターなどを動かすのが容易に
なる
 
20
©2016 D.A.Consortium All rights reserved
Daemon Set
node
pod
fluentd
container
node
pod
fluentd
container
node
pod
fluentd
container
java ruby
Daemon
Set
21
©2016 D.A.Consortium All rights reserved
Service
Service とは
• 受け付けたトラフィックをPodに流すための仕組み
• Port-forwarderやLoad Balancerの役割をする
➢ readinessProbe がokなPodへトラフィックが流れる
• kubernetesクラスタ内からだけでなく、クラスタ外部からも
接続できる
• Podへは環境変数で接続先ホスト名やポート番号を渡す
• 外部のDNS名をCnameで返すことも出来るようになった
• Ingress という概念もあるがここでは説明しません
 
©2016 D.A.Consortium All rights reserved
Service
node node node
java java
23
Service
GCLB or ELBなど
selector: {“app”: java”}
ruby
selector:
{“app”: “java”}
selector:
{“app”: “java”}
selector:
{“app”: “ruby”}
AudienceOneでのdatadog利用方法
24
©2016 D.A.Consortium All rights reserved
AudienceOneでの kubernetes
GKE
Request Receiver Cluster
Request Receiver RS
Cassandra
Compatible DB
fluentd
send log via UDP
fluetnd(active)
message aggregator
update GeoIP DB using geoip-update
GeoIP
DB
notify GeoIP DB’s update
Side kick
geoip
Request Receiver
forward messages
read GeoIP data
fluentd(standby)
message aggregator
Request Receiver
Treasure Data
aggregator-active SVC
aggregator-standby SVC
nginx
25
Request Reciver SVC
©2016 D.A.Consortium All rights reserved
AudienceOneでの kubernetes
26
• 必要リソースの関係で1nodeに1Podが配置されるよ
うにしておきたい
➢ PodのhostPortを指定することで排他的にnodeのポート
をPodから利用
➢ Replica SetごとにGKEの nodeSelector などを利用して
Podが起動するnode-poolを制御
• deployには”ReplicaSet” ではなく、” deployments”
を利用
➢ GithubのリリースブランチへのPRをマージするとコンテナ
build, deploy処理が走る
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
• kubernetes での単純なケース
➢ 全 node で動かす
✓ Daemon set を使う!
27
- apiVersion: extensions/v1beta1
kind: DaemonSet
labels:
app: dd-agent
name: dd-agent
spec:
template:
metadata:
labels:
app: dd-agent
name: dd-agent
spec:
containers:
- env:
- name: API_KEY
value: <your api key>
image: datadog/docker-dd-agent:kubernetes
(snip)
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
node
pod
dd-agent
container
node
pod
dd-agent
container
node
pod
dd-agent
container
アプリ1 アプリ2
Daemon
Set
28
一般的な場合
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
29
GKE
Request Receiver Cluster
fluentd
send log via UDP
fluetnd(active)
message aggregator
update GeoIP DB using geoip-update
GeoIP
DB
notify GeoIP DB’s update
Side kick
geoip
Request Receiver
forward messages
read GeoIP data
fluentd(standby)
message aggregator
Request Receiver
aggregator-active SVC
aggregator-standby SVC
nginx
docker-dd-agent
docker-agent DS
scylladbTreasure Data
Request Receiver RS
Request Reciver SVC
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
• Fluetnd のメトリクスを取得したい!
➢ Daemon Setだと、メトリクス取得対象のFluentdは別Pod(別IP)になる
➢ PodのIPがわからないと接続できない!知るのも簡単じゃない!
1. 同一PodにDatadogを入れる
2. Fluentdを含むPodの “hostPort: <ポート番号>” でnodeのIPでListen す
るようにし、dd-agentも “hostNetwork: true” でnode のIPを持たせて
localhostで接続する
➢ AudienceOneでは、後者のやり方で対応
➢ 1nodeに1Pod載せるためできた技
• ホスト名とポート番号をコンテナ内から知ることができ、etcd へ
アクセスできる場合は、 Service Discovery 機能を使うのが良
さそう
➢ GKEでは kubernetes の etcdへ自由にアクセス出来ないためこのよう
にした
• もっといいやり方あったら教えてください!
30
©2016 D.A.Consortium All rights reserved
AudienceOneでの現状
31
GKE
Request Receiver Cluster
fluentd
send log via UDP
fluetnd(active)
message aggregator
update GeoIP DB using geoip-update
GeoIP
DB
notify GeoIP DB’s update
Side kick
geoip
Request Receiver
forward messages
read GeoIP data
fluentd(standby)
message aggregator
Request Receiver
aggregator-active SVC
aggregator-standby SVC
nginx
dd-agent
docker-agent DS
scylladbTreasure Data
read fluentd monitor
同一IPを持っているので、 localhost接続
Request Reciver SVC
©2016 D.A.Consortium All rights reserved
AudienceOneでの現状
• Pod構成などまだまだ改善の余地があります
• HPAは検証中で、production投入がまだ
• コンテナ化できていない部分も多く、それらのコンテナ
化も課題
©2016 D.A.Consortium All rights reserved
datadogのdashboard
33
• Intergration の dashbordで大まかに状況をつかめる
©2016 D.A.Consortium All rights reserved
datadog の dashboard
• 必要に応じてドリルダウンしたdashboardを作成
➢ tagやlabelで絞込
➢ アラートなども適宜設定
• まだ、あまり使いこなせてません
©2016 D.A.Consortium All rights reserved
datadogに改善を期待する点
• Dockerのバージョンアップなどで一部メトリクスが取れなくなることがある
➢ /sys/fs/cgroup 経由だと見えなくなることあり
➢ /var/run/docker.sock をホストマウントして見えるようになっているので、cpu
やmemoryもこっち経由で見るようにして欲しい
➢ Kubernetes Integration経由のメトリクスは見えている
• GCP Integrationを有効にしているが、メトリクスを取りこぼす事がある
➢ LBのアクセス数とか歯抜けもいいところ
✓ 最後はBQに突っ込むのだが、ログが揃うのに多少時間がかかるため、リアルタイ
ムの値を取りこぼすのは痛い
✓ GCPのコンソールで代用
• パーセンタイル値でグラフやアラートが作成できない?
➢ Stackdriver の集約関数だと実現可能
• グラフやアラートの設定が結構大変
➢ JSON書くのもめんどくさい。。
➢ Terraformで一括して設定出来るみたいなので、これを利用する?
35
©2016 D.A.Consortium All rights reserved
36
まとめ
• Kubernetesの概略説明をしました
✓ Pod / Replica Set / Daemon Set / Service
• Kubernetes 環境におけるdd-agentの設定例
を説明しました
• AudienceOneでのdatadogの利用方法を説
明しました
©2016 D.A.Consortium All rights reserved
We are hiring!
• DACでは既存システムの改善や新規サービ
ス開発を行うエンジニアを募集しています!
©2016 D.A.Consortium All rights reserved
Thank you

More Related Content

What's hot

Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてShigeru Tatsuta
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)NTT DATA Technology & Innovation
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動Kohei Tokunaga
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)NTT DATA Technology & Innovation
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)NTT DATA Technology & Innovation
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座Mikiya Okuno
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
 

What's hot (20)

Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps について
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 

Viewers also liked

DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)佑介 九岡
 
ZabbixでDockerも監視
ZabbixでDockerも監視 ZabbixでDockerも監視
ZabbixでDockerも監視 Atsushi Tanaka
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Works Applications
 

Viewers also liked (6)

DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
 
ZabbixでDockerも監視
ZabbixでDockerも監視 ZabbixでDockerも監視
ZabbixでDockerも監視
 
GKE vs OpenStack Magnum
GKE vs OpenStack MagnumGKE vs OpenStack Magnum
GKE vs OpenStack Magnum
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 

Similar to kubernetes(GKE)環境におけるdatadog利用

最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたものcyberagent
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~じゅん なかざ
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)Motohiro OTSUKA
 
Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上Ryo Sasaki
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送Google Cloud Platform - Japan
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Makoto Haruyama
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみたKatsutoshi Nagaoka
 
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料NetApp Japan
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsGAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsMiniascape
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築Daein Park
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...Insight Technology, Inc.
 
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)オラクルエンジニア通信
 
Dockerの利用事例
Dockerの利用事例Dockerの利用事例
Dockerの利用事例maebashi
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)オラクルエンジニア通信
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションオラクルエンジニア通信
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計maebashi
 

Similar to kubernetes(GKE)環境におけるdatadog利用 (20)

最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
 
Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsGAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) Ops
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
 
Dockerの利用事例
Dockerの利用事例Dockerの利用事例
Dockerの利用事例
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 

Recently uploaded

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 

Recently uploaded (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

kubernetes(GKE)環境におけるdatadog利用

  • 2. ©2016 D.A.Consortium All rights reserved 目次 2 • 自己紹介 • DACについて • AudienceOne • KubernetesとGKE • AudienceOneでのdatadog の利用方法 • 今後のdatadogに改善を期待する点 • まとめ
  • 3. ©2016 D.A.Consortium All rights reserved 自己紹介 3 • 名前 ➢ 春名 光一 (はるな こういち) • 経歴 ➢ 2006年4月 某DNSな会社に入社 (AS 18149) ➢ 2015年2月 デジタルアドバタイジングコンソーシアム(株) • 最近の業務 ➢ 自社サービスの運用や社内ネットワークの管理 ➢ Terraform や ansible を書いたりしてます
  • 7. ©2016 D.A.Consortium All rights reserved AudienceOneとは 7
  • 10. ©2016 D.A.Consortium All rights reserved AudienceOneのシステム構成概要 • 一部だけGCP上に乗っている経緯などは、Google Cloud Platform Japan Blogに載っています ➢ http://googlecloudplatform-japan.blogspot.jp/2016/08 /dmp-google-cloud-platform.html • 外部サービスを利用していた部分を内製して再構 築しました ➢ 興味あればぜひ • 今日はその再構築した部分でdatadogをどのように 使っているかをお話します
  • 12. ©2016 D.A.Consortium All rights reserved 1. DockerなどのContainer技術に触ったことあ りますか? 2. Kubernetesとかswarm / ECS / GKE とか 使っていますか? 1. Kubernetes 2. GKE 3. Swarm 4. ECS 5. その他 12 質問
  • 13. ©2016 D.A.Consortium All rights reserved 回答ありがとうございます 質問
  • 15. ©2016 D.A.Consortium All rights reserved KubernetesとGKE • Kubernetes (k8s)とは ➢ 元はGoogleが自社のコンテナ技術で培ったノウハウを オープンソースにしたコンテナクラスタマネージャ ➢ 結構頻繁にドキュメント更新されている • GKE (Google Container Engine) ➢ GCP(Google Compute Platform) 上で利用できる Kubernetes のmanaged service ✓ kubernetesのVer. up後、早いと翌日には最新版が利用できるよ うになることも ➢ 素のkubernetesにはない機能もある ✓ node-poolなど • PodやReplica Setなどの概念がある 15
  • 16. ©2016 D.A.Consortium All rights reserved Pod Pod とは • いくつかのコンテナをグループ化したもの • KubernetesはPod単位で操作を行う • 1コンテナでも「コンテナが1つだけ含まれるPod」で1Pod • Pod内のコンテナは同一nodeに配置される • 仮想NICを共有するなどの特徴がある ➢ Pod内の他コンテナからlocalhostでアクセス可能 • コンテナ起動時と停止時に特定のコマンドを実行させること が可能 ➢ postStart / preStop / init-containers • ヘルスチェック関連のパラメータもある ➢ readinessProbe / livenessProbe など 16
  • 17. ©2016 D.A.Consortium All rights reserved Pod Nginx node pod container Nginx node pod container java container 17
  • 18. ©2016 D.A.Consortium All rights reserved Replica Set / Replication Controller/ Deployments Replica Setとは • Podの”Replica”を指定台数動かし続けるための仕組み ➢ “Replication Controller”との違いは、Selector が使えるかどうか ➢ “The only difference between a Replica Set and a Replication Controller right now is the selector support.” • Replica Setで作成されたPodに異常があったりPodを削除し た場合でも、Replica SetによりPodが再作成される • Podのimage updateをより宣言的に扱える”Deployments” の方が推奨されているみたい ➢ DeploymentsがReplica Setを制御してくれる • Replica Setを Autoscaling させる仕組みもある HPA (Horizontal Pod Autoscaling ) ➢ Autoscalingでnodeがscale inする時に preStop がうまく効かない模 様(GKE 1.3) ✓ Mackerelを試したときに自動退役できず問題に。。 18
  • 19. ©2016 D.A.Consortium All rights reserved Replica Set / Replication Controller/ Deployments node pod Ver 1 container node pod Ver 1 container pod Ver 1 container Repclia = 3 Replica Set 19 node pod Ver 2 container node pod Ver 2 container pod Ver 2 container Deployment s
  • 20. ©2016 D.A.Consortium All rights reserved Daemon Set Daemon Setとは • 全nodeもしくは、Selectorで指定したnodeにPodを動かすた めの仕組み • Replica Setでは、同一nodeに同じ構成のPodが複数動くこ とがあるが、 Daemon Setでは確実に1Podだけ動かせる様 になる ➢ logstash , fluentd のようなログコレクターなどを動かすのが容易に なる   20
  • 21. ©2016 D.A.Consortium All rights reserved Daemon Set node pod fluentd container node pod fluentd container node pod fluentd container java ruby Daemon Set 21
  • 22. ©2016 D.A.Consortium All rights reserved Service Service とは • 受け付けたトラフィックをPodに流すための仕組み • Port-forwarderやLoad Balancerの役割をする ➢ readinessProbe がokなPodへトラフィックが流れる • kubernetesクラスタ内からだけでなく、クラスタ外部からも 接続できる • Podへは環境変数で接続先ホスト名やポート番号を渡す • 外部のDNS名をCnameで返すことも出来るようになった • Ingress という概念もあるがここでは説明しません  
  • 23. ©2016 D.A.Consortium All rights reserved Service node node node java java 23 Service GCLB or ELBなど selector: {“app”: java”} ruby selector: {“app”: “java”} selector: {“app”: “java”} selector: {“app”: “ruby”}
  • 25. ©2016 D.A.Consortium All rights reserved AudienceOneでの kubernetes GKE Request Receiver Cluster Request Receiver RS Cassandra Compatible DB fluentd send log via UDP fluetnd(active) message aggregator update GeoIP DB using geoip-update GeoIP DB notify GeoIP DB’s update Side kick geoip Request Receiver forward messages read GeoIP data fluentd(standby) message aggregator Request Receiver Treasure Data aggregator-active SVC aggregator-standby SVC nginx 25 Request Reciver SVC
  • 26. ©2016 D.A.Consortium All rights reserved AudienceOneでの kubernetes 26 • 必要リソースの関係で1nodeに1Podが配置されるよ うにしておきたい ➢ PodのhostPortを指定することで排他的にnodeのポート をPodから利用 ➢ Replica SetごとにGKEの nodeSelector などを利用して Podが起動するnode-poolを制御 • deployには”ReplicaSet” ではなく、” deployments” を利用 ➢ GithubのリリースブランチへのPRをマージするとコンテナ build, deploy処理が走る
  • 27. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 • kubernetes での単純なケース ➢ 全 node で動かす ✓ Daemon set を使う! 27 - apiVersion: extensions/v1beta1 kind: DaemonSet labels: app: dd-agent name: dd-agent spec: template: metadata: labels: app: dd-agent name: dd-agent spec: containers: - env: - name: API_KEY value: <your api key> image: datadog/docker-dd-agent:kubernetes (snip)
  • 28. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 node pod dd-agent container node pod dd-agent container node pod dd-agent container アプリ1 アプリ2 Daemon Set 28 一般的な場合
  • 29. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 29 GKE Request Receiver Cluster fluentd send log via UDP fluetnd(active) message aggregator update GeoIP DB using geoip-update GeoIP DB notify GeoIP DB’s update Side kick geoip Request Receiver forward messages read GeoIP data fluentd(standby) message aggregator Request Receiver aggregator-active SVC aggregator-standby SVC nginx docker-dd-agent docker-agent DS scylladbTreasure Data Request Receiver RS Request Reciver SVC
  • 30. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 • Fluetnd のメトリクスを取得したい! ➢ Daemon Setだと、メトリクス取得対象のFluentdは別Pod(別IP)になる ➢ PodのIPがわからないと接続できない!知るのも簡単じゃない! 1. 同一PodにDatadogを入れる 2. Fluentdを含むPodの “hostPort: <ポート番号>” でnodeのIPでListen す るようにし、dd-agentも “hostNetwork: true” でnode のIPを持たせて localhostで接続する ➢ AudienceOneでは、後者のやり方で対応 ➢ 1nodeに1Pod載せるためできた技 • ホスト名とポート番号をコンテナ内から知ることができ、etcd へ アクセスできる場合は、 Service Discovery 機能を使うのが良 さそう ➢ GKEでは kubernetes の etcdへ自由にアクセス出来ないためこのよう にした • もっといいやり方あったら教えてください! 30
  • 31. ©2016 D.A.Consortium All rights reserved AudienceOneでの現状 31 GKE Request Receiver Cluster fluentd send log via UDP fluetnd(active) message aggregator update GeoIP DB using geoip-update GeoIP DB notify GeoIP DB’s update Side kick geoip Request Receiver forward messages read GeoIP data fluentd(standby) message aggregator Request Receiver aggregator-active SVC aggregator-standby SVC nginx dd-agent docker-agent DS scylladbTreasure Data read fluentd monitor 同一IPを持っているので、 localhost接続 Request Reciver SVC
  • 32. ©2016 D.A.Consortium All rights reserved AudienceOneでの現状 • Pod構成などまだまだ改善の余地があります • HPAは検証中で、production投入がまだ • コンテナ化できていない部分も多く、それらのコンテナ 化も課題
  • 33. ©2016 D.A.Consortium All rights reserved datadogのdashboard 33 • Intergration の dashbordで大まかに状況をつかめる
  • 34. ©2016 D.A.Consortium All rights reserved datadog の dashboard • 必要に応じてドリルダウンしたdashboardを作成 ➢ tagやlabelで絞込 ➢ アラートなども適宜設定 • まだ、あまり使いこなせてません
  • 35. ©2016 D.A.Consortium All rights reserved datadogに改善を期待する点 • Dockerのバージョンアップなどで一部メトリクスが取れなくなることがある ➢ /sys/fs/cgroup 経由だと見えなくなることあり ➢ /var/run/docker.sock をホストマウントして見えるようになっているので、cpu やmemoryもこっち経由で見るようにして欲しい ➢ Kubernetes Integration経由のメトリクスは見えている • GCP Integrationを有効にしているが、メトリクスを取りこぼす事がある ➢ LBのアクセス数とか歯抜けもいいところ ✓ 最後はBQに突っ込むのだが、ログが揃うのに多少時間がかかるため、リアルタイ ムの値を取りこぼすのは痛い ✓ GCPのコンソールで代用 • パーセンタイル値でグラフやアラートが作成できない? ➢ Stackdriver の集約関数だと実現可能 • グラフやアラートの設定が結構大変 ➢ JSON書くのもめんどくさい。。 ➢ Terraformで一括して設定出来るみたいなので、これを利用する? 35
  • 36. ©2016 D.A.Consortium All rights reserved 36 まとめ • Kubernetesの概略説明をしました ✓ Pod / Replica Set / Daemon Set / Service • Kubernetes 環境におけるdd-agentの設定例 を説明しました • AudienceOneでのdatadogの利用方法を説 明しました
  • 37. ©2016 D.A.Consortium All rights reserved We are hiring! • DACでは既存システムの改善や新規サービ ス開発を行うエンジニアを募集しています!