{"id":212,"date":"2024-06-24T01:36:00","date_gmt":"2024-06-24T01:36:00","guid":{"rendered":"https:\/\/blog.ngocha.biz\/?p=212"},"modified":"2024-06-24T01:36:00","modified_gmt":"2024-06-24T01:36:00","slug":"prometheus-certified-associate","status":"publish","type":"post","link":"https:\/\/blog.ngocha.biz\/?p=212","title":{"rendered":"Prometheus Certified Associate (PCA): Complete Study Guide"},"content":{"rendered":"<p>In this Prometheus Certified Associate guide, we will look at the resources to prepare for the certification exam and tips for passing the PCA certification<\/p>\n<p>PCA is a <a href=\"https:\/\/devopscube.com\/linux-foundation-certification\/\">Linux Foundation Certification<\/a> that primarily tests the candidates&#8217; knowledge on observability and Prometheus skills. In the <a href=\"https:\/\/devopscube.com\/devops-certifications\/\" rel=\"noreferrer\">DevOps certification<\/a> category, PCA comes under Observability certification.<\/p>\n<p>This guide covers everything you need to know about the Prometheus Certified Associate certification.<\/p>\n<h2 id=\"prometheus-certified-associate-registration\">Prometheus Certified Associate Registration<\/h2>\n<p>The first step in the PCA certification exam is registration.<\/p>\n<div class=\"kg-card kg-callout-card kg-callout-card-blue\">\n<div class=\"kg-callout-text\"><b><strong style=\"white-space: pre-wrap;\">Note: <\/strong><\/b>Save 50% Today on PCA certification using the Voucher code given below. This code expires soon.<\/div>\n<\/div>\n<div class=\"kg-card kg-button-card kg-align-center\"><a href=\"https:\/\/devopscube.com\/recommends\/pca-certification\/\" class=\"kg-btn kg-btn-accent\">Save 50% on PCA Exam Now<\/a><\/div>\n<p><!--kg-card-begin: html--><\/p>\n<div class=\"kg-card kg-button-card kg-align-center\">\n    <b>PCA Exam Voucher:<\/b>Use Code <b style=\"margin-left: 5px; margin-right: 5px;\">MM26CCCT<\/b> at checkout\n<\/div>\n<p><!--kg-card-end: html--><\/p>\n<p>Here is what you need to know about the exam.<\/p>\n<ol>\n<li>The PCA exam is to be taken online and it is proctored remotely. It is a closed book exam.<\/li>\n<li>After registration, you get 12 months to schedule the exam.<\/li>\n<li>You get one free retake if you fail on the first attempt. If you miss a scheduled exam for any reason \u2013 your second attempt gets nullified.<\/li>\n<li>Within 24 hours of completing the exam, you will get the exam results via email.<\/li>\n<\/ol>\n<h2 id=\"pca-exam-details\">PCA Exam Details<\/h2>\n<p>I have organized all the PCA exam details in the following table.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table>\n<tbody>\n<tr>\n<td>Exam Duration<\/td>\n<td>90 minutes.<\/td>\n<\/tr>\n<tr>\n<td>Total Questions<\/td>\n<td>60 <\/td>\n<\/tr>\n<tr>\n<td>Exam Type<\/td>\n<td>Multiple Choice Exam<\/td>\n<\/tr>\n<tr>\n<td>Pass Percentage<\/td>\n<td>75% (45 out of 60 questions)<\/td>\n<\/tr>\n<tr>\n<td>PCA Certification Validity<\/td>\n<td>2 Years<\/td>\n<\/tr>\n<tr>\n<td>Exam Cost<\/td>\n<td>$250 USD<\/td>\n<\/tr>\n<tr>\n<td>Free Retake<\/td>\n<td>One Retake<\/td>\n<\/tr>\n<tr>\n<td>Exam Language<\/td>\n<td>Only English<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<p>You can find other details from the following official Linux Foundation documentations.<\/p>\n<ol>\n<li><a href=\"https:\/\/docs.linuxfoundation.org\/tc-docs\/certification\/important-instructions-pca?ref=devopscube.com\" rel=\"noreferrer noopener\"><strong>PCA Exam Instructions<\/strong><\/a>: Information about system requirements (PSI Secure Browser), location and ID card requirements.<\/li>\n<li><a href=\"https:\/\/docs.linuxfoundation.org\/tc-docs\/certification\/frequently-asked-questions-pca?ref=devopscube.com\" rel=\"noreferrer noopener\"><strong>PCA FAQ&#8217;s<\/strong><\/a><strong>: <\/strong>Commonly asked quested related to PCA exam.<\/li>\n<\/ol>\n<h2 id=\"domains-competencies\">Domains &amp; Competencies<\/h2>\n<p>Now that you have a complete understanding of the exam, let&#8217;s look at the PCA exam syllabus with domains and competencies.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Domain<\/th>\n<th>Concepts<\/th>\n<th>Weightage<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Observability Concepts<\/td>\n<td>1. Metrics<br \/>2. Understand logs and events<br \/>3. Tracing and Spans<br \/>4. Push vs Pull<br \/>5. Service Discovery<br \/>6. Basics of SLOs, SLAs, and SLIs<\/td>\n<td>18%<\/td>\n<\/tr>\n<tr>\n<td>Prometheus Fundamentals<\/td>\n<td>1. System Architecture <br \/>2. Configuration and Scraping <br \/>3. Understanding Prometheus <br \/>4. Limitations Data Model and <br \/>5. Labels Exposition Format<\/td>\n<td>20%<\/td>\n<\/tr>\n<tr>\n<td>PromQL<\/td>\n<td>1. Selecting Data<br \/>2. Rates and Derivatives<br \/>3. Aggregating over time<br \/>4. Aggregating over dimensions<br \/>5. dimensions<br \/>6. Binary operators<br \/>7. Histograms<br \/>8. Timestamp Metrics<\/td>\n<td>28%<\/td>\n<\/tr>\n<tr>\n<td>Instrumentation and Exporters<\/td>\n<td>1. Client Libraries<br \/>2. Instrumentation<br \/>3. Exporters<br \/>4. Structuring and naming metrics<\/td>\n<td>16%<\/td>\n<\/tr>\n<tr>\n<td>Alerting &amp; Dashboarding<\/td>\n<td>1. Dashboarding basics<br \/>2. Configuring Alerting rules<br \/>3. Understand and Use <br \/>4. Alertmanager<br \/>5. Alerting basics (when, what, and why)<\/td>\n<td>18%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<h2 id=\"pca-lab\">PCA Lab<\/h2>\n<p>Even though the PCA is a multiple-choice exam, you need to have a running Prometheus setup to learn the concepts in detail.<\/p>\n<p>You can start with a simple VM-based Prometheus setup and then move on to a Kubernetes-based setup based on the concepts you learn.<\/p>\n<p>The following are the detailed guides that will help you setup a PCA exam lab.<\/p>\n<ol>\n<li><a href=\"https:\/\/devopscube.com\/install-configure-prometheus-linux\/\">Setup Prometheus on Linux<\/a><\/li>\n<li><a href=\"https:\/\/devopscube.com\/setup-prometheus-using-docker\/\">Setup prometheus stack using Docker Compose<\/a><\/li>\n<li><a href=\"https:\/\/devopscube.com\/setup-prometheus-monitoring-on-kubernetes\/\">Setup Prometheus on Kubernetes<\/a><\/li>\n<\/ol>\n<div class=\"kg-card kg-callout-card kg-callout-card-grey\">\n<div class=\"kg-callout-text\"><b><strong style=\"white-space: pre-wrap;\">Note<\/strong><\/b>: I highly suggest you set up your own lab locally or on the cloud to learn all the Prometheus concepts better<\/div>\n<\/div>\n<h2 id=\"pca-preparation-guide\">PCA Preparation Guide<\/h2>\n<p>I have added all the Prometheus official documentation references and other useful authoritative resources for each concept that comes under the exam syllabus.<\/p>\n<h3 id=\"observability-concepts\">Observability Concepts<\/h3>\n<p>This section primarily deals with Observability concepts in general.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Resource<\/th>\n<th>Concepts Covered<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/devopscube.com\/what-is-observability\/\" data-type=\"post\" data-id=\"16123\">What is Observability<\/a><\/td>\n<td>Metrics<br \/>Understand logs and events<br \/>Tracing and Spans<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/blog.bytebytego.com\/p\/push-vs-pull-in-metrics-collecting?ref=devopscube.com\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/blog.bytebytego.com\/p\/push-vs-pull-in-metrics-collecting\" rel=\"noreferrer noopener\">Push vs pull in metrics collecting systems<\/a><\/td>\n<td>Push vs Pull<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/devopscube.com\/service-discovery-explained\/\" data-type=\"post\" data-id=\"18247\">What is Service Discovery?<\/a><\/td>\n<td>Service Discovery<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/cloud.google.com\/blog\/products\/devops-sre\/sre-fundamentals-slis-slas-and-slos?ref=devopscube.com\">SRE Fundamentals<\/a><\/td>\n<td>Basics of SLOs, SLAs, and SLIs<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<h3 id=\"prometheus-fundamentals\">Prometheus Fundamentals<\/h3>\n<p>This section deals with prometheus architecture, its components, storage, metric data format, metric labels and prometheus limitations.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Resource<\/th>\n<th>Concepts Covered<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/devopscube.com\/prometheus-architecture\/\" target=\"_blank\" data-type=\"post\" data-id=\"23008\" rel=\"noreferrer noopener\">What is Prometheus?<\/a><\/td>\n<td>System Architecture<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/configuration\/configuration\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Prometheus Configuration<\/a><\/td>\n<td>Configuration and Scraping<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.atatus.com\/blog\/prometheus-architecture-scalability\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Prometheus Architecture Scalability<\/a><\/td>\n<td>Prometheus Limitations<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/concepts\/data_model\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Data Model <\/a><\/td>\n<td>Data model and labels<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/prometheus\/docs\/blob\/main\/content\/docs\/instrumenting\/exposition_formats.md?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Exposition formats<\/a><\/td>\n<td>Prometheus metric data format<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<h3 id=\"promql\">PromQL<\/h3>\n<p>PromQL (Prometheus Query Language) is the native query language for Prometheus. It lets you select and aggregate prometheus time series data in real time. It helps in analyzing and understanding the metrics scrapped by Prometheus.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Resource<\/th>\n<th>Concepts Covered<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Complete PromQL Guide<\/td>\n<td>Selecting Data<br \/>Rates and Derivatives<br \/>Aggregating over time<br \/>Aggregating over dimensions<br \/>Binary operators<br \/>Histograms<br \/>Timestamp Metrics<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<h3 id=\"instrumentation-and-exporters\">Instrumentation and Exporters<\/h3>\n<p>Instrumentation is a term typically used in application monitoring. In terms of prometheus, it is the process of configuring the application parameters to expose metrics in a format that Prometheus can scrape and store.<\/p>\n<p>Exporters are like agents that capture application metrics and translate them into a data format that Prometheus can understand. For example, <a href=\"https:\/\/devopscube.com\/node-exporter-kubernetes\/\">Node Exporter<\/a> translates OS-level metrics like CPU, memory, disk, and network statistics to prometheus specific metric format.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Resource<\/th>\n<th>Concepts Covered<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/instrumenting\/clientlibs\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">List of client Libraries<\/a><\/td>\n<td>Client Libraries<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/practices\/instrumentation\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">How to Instrument<\/a><\/td>\n<td>Instrumentation<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/instrumenting\/exporters\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Exporters and Integrations<\/a><\/td>\n<td>Exporters<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.tigera.io\/learn\/guides\/prometheus-monitoring\/prometheus-metrics\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Practical Guide to Prometheus Metrics<\/a><\/td>\n<td>Structuring and naming metrics<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<h3 id=\"alerting-dashboarding\">Alerting &amp; Dashboarding<\/h3>\n<p>Prometheus comes with a native alerting tool called Alert Manager. It can be configured with prometheus to trigger alerts based on Prometheus alert rules.<\/p>\n<p>You can create Dashboards based on prometheus metrics using tools like <a href=\"https:\/\/devopscube.com\/setup-grafana-kubernetes\/\">Grafana<\/a>. It support PromQL queries to create dashboards.<\/p>\n<p><!--kg-card-begin: html--><\/p>\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Resource<\/th>\n<th>Concepts Covered<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/configuration\/alerting_rules\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Alerting Rules<\/a><\/td>\n<td>Configuring Alerting rules<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/alerting\/latest\/alertmanager\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Alert Manager<\/a><\/td>\n<td>Understand and Use Alertmanager<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/prometheus.io\/docs\/practices\/alerting\/?ref=devopscube.com\" target=\"_blank\" rel=\"noreferrer noopener\">Alerting Overview<\/a><\/td>\n<td>Alerting basics (when, what, and why)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--kg-card-end: html--><\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Preparing for Prometheus Certified Associate required detailed learning of all prometheus related components and monitoring &amp; alerting concepts.<\/p>\n<p>PCA as a whole, not only enhances you knowledge on prometheus, but also on Observability, monitoring and alerting concepts. It will help you in your day-to-day DevOps\/SRE job.<\/p>\n<p>Also, if you are preparing of any other Linux Foundation Certifications, check out the <a href=\"https:\/\/devopscube.com\/linux-foundation-coupon\/\">Linux Foundation Coupons<\/a> page to get discounts on all the certifications.<\/p>\n<hr>\n<p><strong>Ngu\u1ed3n:<\/strong> <a href=\"https:\/\/devopscube.com\/prometheus-certified-associate\/\" target=\"_blank\" rel=\"noopener noreferrer\">Prometheus Certified Associate (PCA): Complete Study Guide \u2014 DevOpsCube<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Source: https:\/\/devopscube.com\/prometheus-certified-associate\/<\/p>\n","protected":false},"author":1,"featured_media":213,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts\/212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=212"}],"version-history":[{"count":0,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts\/212\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/media\/213"}],"wp:attachment":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}