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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shingo.Kitayama
November 17, 2017
Technology
110
0
Share
GitLab x Prometheus -Application Performance-
2017/11/17
GitLab Meetup Tokyo #5
https://gitlab-jp.connpass.com/event/69475/
Shingo.Kitayama
November 17, 2017
More Decks by Shingo.Kitayama
See All by Shingo.Kitayama
Introduction Konveyor AI - 2025
shkitayama
0
110
Why we expect the Microservices
shkitayama
2
540
Why run OpenShift on Google Cloud
shkitayama
1
390
Container Replatform 101
shkitayama
4
1.9k
Red Hat OpenShift Platform Plus - Red Hat Summit Connect 2022
shkitayama
0
820
NVIDIA AI Enterprise for Red Hat OpenShift
shkitayama
0
1k
Kubernetes CICD Pipelines Book
shkitayama
2
2.1k
Shipwright Overview
shkitayama
0
2k
CloudNative CICD in OpenShift Commons Japan
shkitayama
5
18k
Other Decks in Technology
See All in Technology
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
1.9k
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
310
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
230
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
4
240
個人最適から組織最適へ — 仕組みで進めるAI推進
rfdnxbro
0
110
"スキルファースト"で作る、AIの自走環境
subroh0508
1
700
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
1
120
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
130
Claude Code で使える DuckDB Skills を試してみた / DuckDB Skills and Claude Code
masahirokawahara
2
2.2k
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
14
12k
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
440
TypeScriptエンジニアのためのWASMランタイム入門:AssemblyScriptから理解するメモリの実態(ayano)
ayanoyuki
0
120
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
570
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
A Modern Web Designer's Workflow
chriscoyier
698
190k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Deep Space Network (abreviated)
tonyrice
0
150
Accessibility Awareness
sabderemane
1
120
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
Tell your own story through comics
letsgokoyo
1
930
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Making Projects Easy
brettharned
120
6.6k
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