Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitLab x Prometheus -Application Performance-
Search
Shingo.Kitayama
November 17, 2017
Technology
0
110
GitLab x Prometheus -Application Performance-
2017/11/17
GitLab Meetup Tokyo #5
https://gitlab-jp.connpass.com/event/69475/
Shingo.Kitayama
November 17, 2017
Tweet
Share
More Decks by Shingo.Kitayama
See All by Shingo.Kitayama
Why we expect the Microservices
shkitayama
2
480
Why run OpenShift on Google Cloud
shkitayama
1
340
Container Replatform 101
shkitayama
4
1.8k
Red Hat OpenShift Platform Plus - Red Hat Summit Connect 2022
shkitayama
0
750
NVIDIA AI Enterprise for Red Hat OpenShift
shkitayama
0
920
Kubernetes CICD Pipelines Book
shkitayama
2
2k
Shipwright Overview
shkitayama
0
1.9k
CloudNative CICD in OpenShift Commons Japan
shkitayama
5
18k
The State of Container Security in Red Hat Experience
shkitayama
2
620
Other Decks in Technology
See All in Technology
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
340
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
120
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
120
KotlinConf 2025_イベントレポート
sony
1
140
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
250
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
200
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
いま注目のAIエージェントを作ってみよう
supermarimobros
0
350
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
930
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
1
160
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
RailsConf 2023
tenderlove
30
1.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Navigating Team Friction
lara
189
15k
Designing for Performance
lara
610
69k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Faster Mobile Websites
deanohume
309
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Agile that works and the tools we love
rasmusluckow
330
21k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
GitLab x Prometheus デプロイアプリのPerformance測定 Shingo.Kitayama 2017/11/17 GitLab Meetup Tokyo #5
https://gitlab-jp.connpass.com/event/69475/
Introduction GitLab x Prometheus 2 日本ヒューレット・パッカード株式会社 テクニカルアーキテクト ・オープンソースソリューションの提案 ・コンサルティング、および構築デリバリーを担当 Now
on Sale
Introduction ITmediaエンタープライズ 連載中 3 変化を拒むおっさんに 喝をいれる連載 執筆中!! お仕事の息抜き&気分転換に ご覧ください。
本日のIndex GitLab x Prometheus 4 1. とりあえず理解するPrometheus 2. GitLabとPrometheusの連携 3.
アプリパフォーマンス監視
1. とりあえず理解するPrometheus 5 - What’s Prometheus -
Prometheusとは オープンソースの軽量サービス監視ツール 6 https://qiita.com/tnir/items/7dd63b7baa4299135194 パフォーマンスデータの収集やグラフの表示、アラートなどの通常監視機能に加え、クエリを利用して、CPUの負荷やメモリ、 ストレージの利用率、HTTPのレイテンシなどのメトリクスを計算しグラフ化することも可能。 - Pull型監視 - 監視対象
Prometheus 管理サーバ側から管理対象に情報をリクエストし、ステータスを収集する方法。監視対象を完全にコントロールできる 反面、監視対象ホストが増えるたびに管理サーバの設定ファイルを更新する必要があります。 情報収集 リクエスト
Prometheusの仕組み Prometheus Architecture 7 監視対象 Prometheus Server Retrieval PromQL ローカル
ストレージ Storage 監視対象プロセス Exporter 情報収集 リクエスト ジョブプログラム PushGateway リクエスト 情報収集 情報送信 Alert manager Web UI ・ Grafana ・ API Client アラート送信 mail slack web hook Expression Browser 『メトリクスの収集/格納』 『アラートの通知』 『クエリの返答』
Prometheus Exporters メトリクスの収集 8 監視対象 node exporter mysqld exporter mysql
監視対象 既存の監視メトリックをPrometheusメトリックとしてエクスポートするのに役立つライブラリ。 http://target.local:9100/metrics - job_name: node static_configs: - targets: - ":9100" Prometheus Server
2. GitLabとPrometheusの連携 9 - Prometheus within GitLab -
GitLabにおけるPrometheusの用途 Omnibus GitLabに付随しているPrometheusはGitLab管理用途 10 GitLabのプロセスステータス管理用Prometheus GitLabでデプロイしたアプリの パフォーマンス測定用Prometheus Omnibus GitLabに付随しているPrometheusでは、GitLab上で利用するプロセスのステー タスチェックを行う。
個別にExporterを用意することによって、Environmentに配置したアプリケーションのパフォー マンスチェックを動的に行う。
GitLabのプロセスステータス管理用Prometheus Exporters for Process Status 11 Exporters ステータス内容 ポート Node
exporter メモリ、ディスク、CPU使用率などのマ シンリソースの測定 localhost:9100 Redis exporter Redisプロセスのリソース測定 localhost:9121 Postgres exporter ProstgreSQLプロセスのリソース測定 localhost:9187 GitLab monitor exporter DatabaseやGit、SidekiqなどのGitLab に関するリソース測定 localhost:9168
GitLabのプロセスステータス管理用Prometheus http://gitlab.example.com/-/metrics?token=$token_id 12
GitLabでデプロイしたアプリのパフォーマンス測定用Prometheus サポートメトリクス 13 Exporters Support Metric Kubernetes Average Memory Usage
(MB) Average CPU Utilization (%) NGINX VTS exporter Throughput (req/sec) Latency (ms) HTTP Error Rate (HTTP Errors / sec) NGINX Ingress Controller Throughput (req/sec) Latency (ms) HTTP Error Rate (HTTP Errors / sec) HAProxy Throughput (req/sec) HTTP Error Rate (%) Amazon Cloud Watch Throughput (req/sec) Latency (ms) HTTP Error Rate (%)
3. アプリパフォーマンス監視 14 - Performance Monitoring -
アプリケーションデプロイメント Sample Application 15
Application構成 デプロイメント構成 16 Docker Engine Prometheus Server GitLab 情報収集 リクエスト
http://haproxy:8080/admin?stats HAProxy Exporter http://gitlab-runner01:9101/metrics HAProxy Tomcat ユーザー アクセス - job_name: review-develop-33z241 static_configs: - targets: - gitlab-runner01:9101 relabel_configs: - source_labels: - job target_label: environment
Demo 17 でも(時間があったら
Environment Monitoring $CI_ENVIRONMENT_SLUG 18 Environment = $CI_ENVIRONMENT_SLUG
19 Thank you