<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Appendix on Advanced Beginner</title><link>https://advanced-beginner.github.io/en/docs/observability/appendix/</link><description>Recent content in Appendix on Advanced Beginner</description><generator>Hugo</generator><language>en-US</language><managingEditor>d8lzz1gpw@mozmail.com (kimbenji)</managingEditor><webMaster>d8lzz1gpw@mozmail.com (kimbenji)</webMaster><lastBuildDate>Mon, 23 Mar 2026 19:08:15 +0900</lastBuildDate><atom:link href="https://advanced-beginner.github.io/en/docs/observability/appendix/index.xml" rel="self" type="application/rss+xml"/><item><title>Glossary</title><link>https://advanced-beginner.github.io/en/docs/observability/appendix/glossary/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/observability/appendix/glossary/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Quick Navigation&lt;/strong&gt;: &lt;a href="#a"&gt;A&lt;/a&gt; | &lt;a href="#c"&gt;C&lt;/a&gt; | &lt;a href="#e"&gt;E&lt;/a&gt; | &lt;a href="#f"&gt;F&lt;/a&gt; | &lt;a href="#g"&gt;G&lt;/a&gt; | &lt;a href="#h"&gt;H&lt;/a&gt; | &lt;a href="#i"&gt;I&lt;/a&gt; | &lt;a href="#l"&gt;L&lt;/a&gt; | &lt;a href="#m"&gt;M&lt;/a&gt; | &lt;a href="#o"&gt;O&lt;/a&gt; | &lt;a href="#p"&gt;P&lt;/a&gt; | &lt;a href="#r"&gt;R&lt;/a&gt; | &lt;a href="#s"&gt;S&lt;/a&gt; | &lt;a href="#t"&gt;T&lt;/a&gt; | &lt;a href="#u"&gt;U&lt;/a&gt; | &lt;a href="#w"&gt;W&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id="a"&gt;A&lt;a class="anchor" href="#a"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="alerting-rules"&gt;Alerting Rules&lt;a class="anchor" href="#alerting-rules"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Rules in Prometheus that define condition-based alerts. When conditions are met, alerts are sent to Alertmanager.&lt;/p&gt;
&lt;h3 id="alertmanager"&gt;Alertmanager&lt;a class="anchor" href="#alertmanager"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A component that receives alerts from Prometheus and groups, inhibits, and routes them.&lt;/p&gt;
&lt;h2 id="c"&gt;C&lt;a class="anchor" href="#c"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="cardinality"&gt;Cardinality&lt;a class="anchor" href="#cardinality"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The number of unique time series. Higher cardinality occurs with more label combinations.&lt;/p&gt;
&lt;h3 id="context-propagation"&gt;Context Propagation&lt;a class="anchor" href="#context-propagation"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A mechanism for passing Trace ID and Span ID between services in distributed systems.&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://advanced-beginner.github.io/en/docs/observability/appendix/faq/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/observability/appendix/faq/</guid><description>&lt;h2 id="general"&gt;General&lt;a class="anchor" href="#general"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="q-whats-the-difference-between-monitoring-and-observability"&gt;Q: What&amp;rsquo;s the difference between Monitoring and Observability?&lt;a class="anchor" href="#q-whats-the-difference-between-monitoring-and-observability"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Monitoring&lt;/strong&gt;: Watching predefined metrics (&amp;ldquo;Has this value exceeded the threshold?&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Observability&lt;/strong&gt;: The ability to understand the internal state of a system from the outside (&amp;ldquo;Why did this problem occur?&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;Monitoring is part of Observability. Observability includes the ability to analyze unexpected problems.&lt;/p&gt;
&lt;h3 id="q-which-of-the-three-pillars-metrics-logs-traces-should-i-implement-first"&gt;Q: Which of the Three Pillars (Metrics, Logs, Traces) should I implement first?&lt;a class="anchor" href="#q-which-of-the-three-pillars-metrics-logs-traces-should-i-implement-first"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Recommended order&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Metrics&lt;/strong&gt; - Understand system state, set up alerts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logs&lt;/strong&gt; - Analyze error causes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traces&lt;/strong&gt; - Analyze distributed system flows&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For a single service, Metrics + Logs may be sufficient. For microservices, Traces are essential.&lt;/p&gt;</description></item><item><title>Alerting Actions Guide</title><link>https://advanced-beginner.github.io/en/docs/observability/appendix/alerting-actions/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/observability/appendix/alerting-actions/</guid><description>&lt;p&gt;Situational guide for responding after receiving alerts.&lt;/p&gt;
&lt;h2 id="alert--action-workflow"&gt;Alert → Action Workflow&lt;a class="anchor" href="#alert--action-workflow"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre class="mermaid"&gt;graph LR
 A[&amp;#34;Receive Alert&amp;#34;] --&amp;gt; B[&amp;#34;Assess Situation&amp;#34;]
 B --&amp;gt; C[&amp;#34;Evaluate Impact&amp;#34;]
 C --&amp;gt; D[&amp;#34;Immediate Action&amp;#34;]
 D --&amp;gt; E[&amp;#34;Root Cause Analysis&amp;#34;]
 E --&amp;gt; F[&amp;#34;Permanent Fix&amp;#34;]
 F --&amp;gt; G[&amp;#34;Post-Incident Review&amp;#34;]&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="response-by-situation"&gt;Response by Situation&lt;a class="anchor" href="#response-by-situation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-service-down-targetdown"&gt;1. Service Down (TargetDown)&lt;a class="anchor" href="#1-service-down-targetdown"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Alert&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;TargetDown&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;expr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;up == 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Immediate Actions&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. Check service status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl get pods -l &lt;span class="nv"&gt;app&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;order-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker ps -f &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;order-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. Check logs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl logs -l &lt;span class="nv"&gt;app&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;order-service --tail&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker logs order-service --tail&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. Attempt restart&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl rollout restart deployment/order-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker restart order-service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Root Cause Analysis&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>References</title><link>https://advanced-beginner.github.io/en/docs/observability/appendix/references/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/en/docs/observability/appendix/references/</guid><description>&lt;h2 id="official-documentation"&gt;Official Documentation&lt;a class="anchor" href="#official-documentation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="prometheus"&gt;Prometheus&lt;a class="anchor" href="#prometheus"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;Link&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Prometheus Official Docs&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://prometheus.io/docs/"&gt;https://prometheus.io/docs/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Configuration, PromQL, operations guide&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;PromQL Reference&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://prometheus.io/docs/prometheus/latest/querying/basics/"&gt;https://prometheus.io/docs/prometheus/latest/querying/basics/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Query language details&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Alerting Rules&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/"&gt;https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Writing alerting rules&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="grafana"&gt;Grafana&lt;a class="anchor" href="#grafana"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;Link&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Grafana Official Docs&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://grafana.com/docs/grafana/latest/"&gt;https://grafana.com/docs/grafana/latest/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Dashboard, panel configuration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Loki Docs&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://grafana.com/docs/loki/latest/"&gt;https://grafana.com/docs/loki/latest/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Log collection/querying&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Tempo Docs&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://grafana.com/docs/tempo/latest/"&gt;https://grafana.com/docs/tempo/latest/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Distributed tracing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="opentelemetry"&gt;OpenTelemetry&lt;a class="anchor" href="#opentelemetry"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;Link&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenTelemetry Official&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://opentelemetry.io/docs/"&gt;https://opentelemetry.io/docs/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Concepts, SDK, Collector&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Java Instrumentation&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://opentelemetry.io/docs/languages/java/"&gt;https://opentelemetry.io/docs/languages/java/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Java auto/manual instrumentation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Semantic Conventions&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://opentelemetry.io/docs/concepts/semantic-conventions/"&gt;https://opentelemetry.io/docs/concepts/semantic-conventions/&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Standardized attribute names&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="books"&gt;Books&lt;a class="anchor" href="#books"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="essential"&gt;Essential&lt;a class="anchor" href="#essential"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Book&lt;/th&gt;
 &lt;th&gt;Author&lt;/th&gt;
 &lt;th&gt;Content&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Site Reliability Engineering&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Google SRE Team&lt;/td&gt;
 &lt;td&gt;SRE principles, Golden Signals, SLO&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Observability Engineering&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Charity Majors, Liz Fong-Jones&lt;/td&gt;
 &lt;td&gt;Modern observability concepts&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;The SRE Workbook&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Google SRE Team&lt;/td&gt;
 &lt;td&gt;Practical SRE application&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="recommended"&gt;Recommended&lt;a class="anchor" href="#recommended"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Book&lt;/th&gt;
 &lt;th&gt;Author&lt;/th&gt;
 &lt;th&gt;Content&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Prometheus: Up &amp;amp; Running&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Brian Brazil&lt;/td&gt;
 &lt;td&gt;Detailed Prometheus guide&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Distributed Tracing in Practice&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Austin Parker et al.&lt;/td&gt;
 &lt;td&gt;Advanced distributed tracing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Database Reliability Engineering&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Laine Campbell, Charity Majors&lt;/td&gt;
 &lt;td&gt;Database observability&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="blogs--articles"&gt;Blogs &amp;amp; Articles&lt;a class="anchor" href="#blogs--articles"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="prometheusgrafana"&gt;Prometheus/Grafana&lt;a class="anchor" href="#prometheusgrafana"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://prometheus.io/docs/practices/"&gt;Prometheus Best Practices&lt;/a&gt; - Official recommendations&lt;/li&gt;
&lt;li&gt;&lt;a href="https://grafana.com/blog/"&gt;Grafana Blog&lt;/a&gt; - New features, case studies&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.robustperception.io/blog/"&gt;Robust Perception Blog&lt;/a&gt; - Brian Brazil&amp;rsquo;s Prometheus tips&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sreobservability"&gt;SRE/Observability&lt;a class="anchor" href="#sreobservability"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sre.google/books/"&gt;Google SRE Books (Free)&lt;/a&gt; - Full content freely available&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.honeycomb.io/blog/"&gt;Honeycomb Blog&lt;/a&gt; - Advanced observability&lt;/li&gt;
&lt;li&gt;&lt;a href="https://charity.wtf/"&gt;Charity Majors&amp;rsquo; Blog&lt;/a&gt; - Insights from observability leader&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="videos"&gt;Videos&lt;a class="anchor" href="#videos"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="conferences"&gt;Conferences&lt;a class="anchor" href="#conferences"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Video&lt;/th&gt;
 &lt;th&gt;Link&lt;/th&gt;
 &lt;th&gt;Content&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;PromCon&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.youtube.com/@PrometheusIo"&gt;https://www.youtube.com/@PrometheusIo&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Prometheus conference&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GrafanaCon&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.youtube.com/@Grafana"&gt;https://www.youtube.com/@Grafana&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Grafana conference&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;KubeCon&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.youtube.com/@caborgg"&gt;https://www.youtube.com/@caborgg&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Kubernetes, observability sessions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="tutorials"&gt;Tutorials&lt;a class="anchor" href="#tutorials"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=h4Sl21AKiDg"&gt;Prometheus Tutorial for Beginners&lt;/a&gt; - TechWorld with Nana&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLDGkOdUX1Ujrrse-cdj20RRah9hyHdxBu"&gt;Grafana Tutorials&lt;/a&gt; - Grafana official&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="online-courses"&gt;Online Courses&lt;a class="anchor" href="#online-courses"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Course&lt;/th&gt;
 &lt;th&gt;Platform&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Prometheus &amp;amp; Grafana&lt;/td&gt;
 &lt;td&gt;Udemy&lt;/td&gt;
 &lt;td&gt;Hands-on focused&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Site Reliability Engineering&lt;/td&gt;
 &lt;td&gt;Coursera&lt;/td&gt;
 &lt;td&gt;Google&amp;rsquo;s SRE course&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Observability with OpenTelemetry&lt;/td&gt;
 &lt;td&gt;Linux Foundation&lt;/td&gt;
 &lt;td&gt;OTel introduction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="community"&gt;Community&lt;a class="anchor" href="#community"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="slack"&gt;Slack&lt;a class="anchor" href="#slack"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://prometheus-users.slack.com/"&gt;Prometheus Users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://grafana.slack.com/"&gt;Grafana Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://slack.cncf.io/"&gt;CNCF Slack&lt;/a&gt; - #prometheus, #opentelemetry&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="github"&gt;GitHub&lt;a class="anchor" href="#github"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Project&lt;/th&gt;
 &lt;th&gt;Link&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Prometheus&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/prometheus/prometheus"&gt;https://github.com/prometheus/prometheus&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Grafana&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/grafana/grafana"&gt;https://github.com/grafana/grafana&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Loki&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/grafana/loki"&gt;https://github.com/grafana/loki&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Tempo&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/grafana/tempo"&gt;https://github.com/grafana/tempo&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OpenTelemetry&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/open-telemetry"&gt;https://github.com/open-telemetry&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="dashboards--rules"&gt;Dashboards &amp;amp; Rules&lt;a class="anchor" href="#dashboards--rules"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="grafana-dashboards"&gt;Grafana Dashboards&lt;a class="anchor" href="#grafana-dashboards"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ID&lt;/th&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;1860&lt;/td&gt;
 &lt;td&gt;Node Exporter Full&lt;/td&gt;
 &lt;td&gt;Server monitoring&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3662&lt;/td&gt;
 &lt;td&gt;Prometheus Stats&lt;/td&gt;
 &lt;td&gt;Prometheus self-monitoring&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;4701&lt;/td&gt;
 &lt;td&gt;JVM Micrometer&lt;/td&gt;
 &lt;td&gt;Spring Boot JVM&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;7362&lt;/td&gt;
 &lt;td&gt;MySQL Overview&lt;/td&gt;
 &lt;td&gt;MySQL monitoring&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;7587&lt;/td&gt;
 &lt;td&gt;PostgreSQL&lt;/td&gt;
 &lt;td&gt;PostgreSQL monitoring&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;11074&lt;/td&gt;
 &lt;td&gt;Kafka Exporter&lt;/td&gt;
 &lt;td&gt;Kafka monitoring&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Searchable at &lt;a href="https://grafana.com/grafana/dashboards/"&gt;https://grafana.com/grafana/dashboards/&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>