SlideShare a Scribd company logo
1 of 19
Prometheus on AWS
自己紹介
• 反田 光洋
• グリー株式会社 インフラストラクチャ部
• AWSでPrometheusを運用 (約1年)
• Grafana committer
• @mtanda
Prometheusの特徴
• multi-dimensional data model
• flexible query language
• pull model over HTTP
• service discovery
• Prometheus values reliability
AWSモニタリングの課題
• インスタンスのライフサイクルが短い
• Auto Scalingでインスタンスが増減する
• AZの違いなどにより負荷傾向が異なる
AWSに適している点
• multi-dimensional data model & flexible query
language
– RoleやAZごとにメトリクスを集計して比較
– 負荷傾向が異なるインスタンスを検出
• pull model over HTTP & service discovery
– Roleなどを条件にモニタリング対象を設定
– モニタリング対象増加への対応が容易
multi-dimensional data model
• インスタンスのメタデータをlabelに記録
key value
instance_id i-1234abcd
instance_type ec2, rds, elasticache, elb, …
instance_model t2.large, m4.large, c4.large, r3.large, …
region ap-northeast-1, us-east-1, …
availability_zone ap-northeast-1a, ap-northeast-1c, …
role (instance tag) web, db, …
environment (instance tag) production, staging, …
avg(cpu) by (availability_zone)
cpu{role="web"}
avg(cpu) by (role)
Service Discovery
• モニタリング対象を自動検知する機能
• 環境にあわせて使用するSDを選択する
– ec2_sd, consul_sd, kubernetes_sd, file_sd
• (Pullだからこそ必要な機能)
ec2_sd
• ec2:DescribeInstancesAPIでインスタンスを検知
• AZやタグなどから柔軟にモニタリング対象を設定
• web Roleのみをモニタリング対象とする例
- job_name: 'job_name'
ec2_sd_configs:
- region: ap-northeast-1
port: 9100
relabel_configs:
- source_labels: [__meta_ec2_tag_Role]
regex: web.*
action: keep
Prometheusの設定方法
Prometheus
(for web)
Prometheus
(for db)
Role=web Role=db
pack
upload
deploy
edit
このロゴはJenkins project (https://jenkins.io/)に帰属します。
CloudWatch対応
• CloudWatchのメトリクスもPrometheusに取り込んでいる
• cloudwatch_exporterはJavaに依存しているので使わない
• aws-sdk-goを使ってexporterを作成
• メトリクスのtimestamp記録が問題
– CloudWatchのメトリクス送出は数分単位で遅れる
– timestampを記録しようとすると、古いメトリクスとして扱われ、
Prometheusに取り込めないことがある
– 現状は妥協して、一部メトリクスはtimestampを記録していない
運用時の構成
• インスタンスはt2.micro – t2.medium
• EBSはgp2で50-100GB
• 50-100台程度の規模なら、t2.mediumで十分
• t2.small以上が推奨
– t2.microではメモリ不足
– storage.local.memory-chunksを調整する必要あり
• 突発的な負荷はバーストで対応
– T2インスタンスのバースト
– EBS(gp2)のバースト
ディスク書き込み負荷
ディスク使用量
• モニタリング対象1台あたりで計算
• 1台あたり150 – 300メトリクス
• メトリクスのscrape間隔は15秒
• 1ヶ月のディスク消費は約200MB
メトリクスの長期保存
• rrdtoolのようにデータをサマライズする機能はない
• メトリクスの保持期間に応じてデータサイズは増加
• デフォルトでは15日経過時点で削除される
• メトリクスの長期保存は想定されていない
• 長期保存する場合
– Remote Storage (Graphiteなど)を利用する
– 長期保存用のPrometheusに、サマライズして保存する
1年間運用して
• 運用について
– 負荷は安定している
– 運用の手間はほとんどない
• バージョンアップ時の対応
– 新しい書式に対応する必要が何度かあった
– 1.0までは非互換な変更がある
• 新規要件への対応
– 必要に応じてexporterを作成
– 強力なクエリのおかげで、exporter自体はシンプルに作れた
参考URL
• http://www.robustperception.io/automatically-monitoring-ec2-instances/
• http://www.robustperception.io/how-to-have-labels-for-machine-roles/
• http://www.robustperception.io/life-of-a-label/
• http://www.slideshare.net/FabianReinartz/prometheus-storage-57557499

More Related Content

Similar to Prometheus on AWS

Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSAmazon Web Services Japan
 
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117Amazon Web Services Japan
 
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -真吾 吉田
 
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJPEiji Shinohara
 
成長していくサービスとAWS
成長していくサービスとAWS成長していくサービスとAWS
成長していくサービスとAWSMitsuharu Hamba
 
Data discoveryを支えるawsのbig data技術と最新事例
Data discoveryを支えるawsのbig data技術と最新事例Data discoveryを支えるawsのbig data技術と最新事例
Data discoveryを支えるawsのbig data技術と最新事例Takashi Koyanagawa
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価kaminashi
 
AWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote RecapAWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote RecapEiji Shinohara
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift UpdateAmazon Web Services Japan
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data PipelineAmazon Web Services Japan
 
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築貴志 上坂
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティングAmazon Web Services Japan
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designHan Jin Ryu
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designHan Jin Ryu
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...TakeshiFukae
 

Similar to Prometheus on AWS (20)

Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
 
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
[よくわかるクラウドデータベース] AWSデータベースアップデート 20140117
 
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
 
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
 
成長していくサービスとAWS
成長していくサービスとAWS成長していくサービスとAWS
成長していくサービスとAWS
 
Data discoveryを支えるawsのbig data技術と最新事例
Data discoveryを支えるawsのbig data技術と最新事例Data discoveryを支えるawsのbig data技術と最新事例
Data discoveryを支えるawsのbig data技術と最新事例
 
20120409 aws meister-reloaded-dynamo-db
20120409 aws meister-reloaded-dynamo-db20120409 aws meister-reloaded-dynamo-db
20120409 aws meister-reloaded-dynamo-db
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価
 
20170725 black belt_monitoring_on_aws
20170725 black belt_monitoring_on_aws20170725 black belt_monitoring_on_aws
20170725 black belt_monitoring_on_aws
 
AWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote RecapAWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote Recap
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
 
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture design
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture design
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
 
AWSデータベースアップデート2017
AWSデータベースアップデート2017AWSデータベースアップデート2017
AWSデータベースアップデート2017
 

Prometheus on AWS