<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>5. Prometheus in Kubernetes on IT-CNE Cloud-Native Core</title>
		<link>https://kubernetes.tbz.pstark.ch/en/modul/2_unterrichtsressourcen/04-prometheus/exercises/05/</link>
		<description>Recent content in 5. Prometheus in Kubernetes on IT-CNE Cloud-Native Core</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<atom:link href="https://kubernetes.tbz.pstark.ch/en/modul/2_unterrichtsressourcen/04-prometheus/exercises/05/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>5.1 Tasks: kube-prometheus metrics</title>
				<link>https://kubernetes.tbz.pstark.ch/en/modul/2_unterrichtsressourcen/04-prometheus/exercises/05/labs/51/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://kubernetes.tbz.pstark.ch/en/modul/2_unterrichtsressourcen/04-prometheus/exercises/05/labs/51/</guid>
				<description>&lt;h3 id=&#34;task-511-memory-usage-of-prometheus&#34;&gt;Task 5.1.1: Memory usage of Prometheus&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Task description&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Display the memory usage of both Prometheus pods&lt;/li&gt;&#xA;&lt;li&gt;Use a filter to just display metrics from your &lt;code&gt;prometheus&lt;/code&gt; containers&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Use the [Thanos Querier web UI](&lt;a href=&#34;https://thanos-query.app.lernvirt.ch&#34;&gt;https://thanos-query.app.lernvirt.ch&lt;/a&gt; to execute the queries.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;h4 alert-heading&#34; role=&#34;heading&#34;&gt;Note&lt;/div&gt;&#xA;&lt;p&gt;Search for a metric with &lt;code&gt;memory_working_set&lt;/code&gt; in its name&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;details data-mode=&#34;normalexpertmode&#34; class=&#34;normalexpertmode&#34;&gt;&#xA;  &lt;summary&gt;Hints&lt;/summary&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-promql&#34; data-lang=&#34;promql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;container_memory_working_set_bytes{pod&lt;span style=&#34;color:#f92672&#34;&gt;=~&lt;/span&gt;&amp;#34;&lt;span style=&#34;color:#e6db74&#34;&gt;prometheus-prometheus-0&lt;/span&gt;&amp;#34;, container&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&amp;#34;&lt;span style=&#34;color:#e6db74&#34;&gt;prometheus&lt;/span&gt;&amp;#34;,namespace&lt;span style=&#34;color:#f92672&#34;&gt;=~&lt;/span&gt;&amp;#34;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;lt;user&amp;gt;.*&lt;/span&gt;&amp;#34;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;/details&gt;&#xA;&lt;h3 id=&#34;task-512-kubernetes-pod-count&#34;&gt;Task 5.1.2: Kubernetes pod count&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Task description&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Display how many pods are currently running on your Kubernetes platform&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;details data-mode=&#34;normalexpertmode&#34; class=&#34;normalexpertmode&#34;&gt;&#xA;  &lt;summary&gt;Hints&lt;/summary&gt;&#xA;&lt;p&gt;There are different ways to archive this. You can for example query all running containers and group them by &lt;code&gt;pod&lt;/code&gt; and &lt;code&gt;namespace&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-promql&#34; data-lang=&#34;promql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;count&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;sum&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;kube_pod_container_status_running &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;by&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;pod,namespace,cluster&lt;span style=&#34;color:#f92672&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You may also sum() all running pods on your Kubernetes nodes&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-promql&#34; data-lang=&#34;promql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;sum&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;kubelet_running_pods&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;</description>
			</item>
			<item>
				<title>5.2 Tasks: Prometheus Operator</title>
				<link>https://kubernetes.tbz.pstark.ch/en/modul/2_unterrichtsressourcen/04-prometheus/exercises/05/labs/52/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://kubernetes.tbz.pstark.ch/en/modul/2_unterrichtsressourcen/04-prometheus/exercises/05/labs/52/</guid>
				<description>&lt;h3 id=&#34;521-prometheus-storage&#34;&gt;5.2.1: Prometheus storage&lt;/h3&gt;&#xA;&lt;p&gt;By default, the Prometheus operator stack does not persist the data of the deployed monitoring stack. Therefore, any pod restart would result in a reset of all data. Let&amp;rsquo;s learn about persistence for Prometheus.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Task description&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;See this &lt;a href=&#34;https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/storage.md#manual-storage-provisioning&#34;&gt;example&lt;/a&gt; of how to configure storage for Prometheus&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;To get the current values, either look at the file in git or use &lt;code&gt;kubectl -n $USER-monitoring get prometheus prometheus -oyaml&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;details data-mode=&#34;normalexpertmode&#34; class=&#34;normalexpertmode&#34;&gt;&#xA;  &lt;summary&gt;Hints&lt;/summary&gt;&#xA;&lt;p&gt;To enable storage for our Prometheus we would simply add the following section to our Prometheus definition.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;spec&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;securityContext&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;fsGroup&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;65534&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;storage&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;disableMountSubPath&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;volumeClaimTemplate&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;spec&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;resources&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;requests&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;storage&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;10Gi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;</description>
			</item>
	</channel>
</rss>
