<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Wiki on O segundo cérebro de Bryan</title><link>https://bryanalbuquerque.dev/wiki/</link><description>Recent content in Wiki on O segundo cérebro de Bryan</description><generator>Hugo -- gohugo.io</generator><language>pt-BR</language><copyright>Bryan Albuquerque</copyright><lastBuildDate>Mon, 09 Sep 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://bryanalbuquerque.dev/wiki/index.xml" rel="self" type="application/rss+xml"/><item><title>Prometheus</title><link>https://bryanalbuquerque.dev/wiki/prometheus/</link><pubDate>Mon, 09 Sep 2024 00:00:00 +0000</pubDate><guid>https://bryanalbuquerque.dev/wiki/prometheus/</guid><description>&lt;h3 id="queries"&gt;Queries&lt;/h3&gt;
&lt;h4 id="monitoramento-de-cronjob-no-kubernetes"&gt;Monitoramento de cronjob no Kubernetes&lt;/h4&gt;





&lt;pre tabindex="0"&gt;&lt;code&gt;sum by(namespace)(kube_cronjob_status_active{cronjob=~&amp;#34;clean-database.*&amp;#34;})&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Em resumo, eu filtro as cronjobs com status de ativa (executando) em X momento que batam com o nome daquele job e agrega isso com uma label em comum, nesse caso o namespace, para gerar uma unica metrica/valor.&lt;/p&gt;
&lt;h4 id="contar-a-quantidade-de-nodes-no-kubernetes"&gt;Contar a quantidade de nodes no Kubernetes&lt;/h4&gt;





&lt;pre tabindex="0"&gt;&lt;code&gt;count(kube_node_info)&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="validar-alertas-passados-com-base-em-filtros"&gt;Validar alertas passados com base em filtros&lt;/h4&gt;





&lt;pre tabindex="0"&gt;&lt;code&gt;sum by (alertname) (ALERTS{pod!~&amp;#34;.*banana.*&amp;#34;,alertstate!=&amp;#34;pending&amp;#34;,alertname!~&amp;#34;KubeHpaMaxedOut|DeadMansSwitch|TargetDown&amp;#34;})&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="validar-todas-metricas-exportadas-por-um-job"&gt;Validar todas metricas exportadas por um job&lt;/h4&gt;





&lt;pre tabindex="0"&gt;&lt;code&gt;sum by(__name__)({job=~&amp;#34;node_exporter&amp;#34;})&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="oom-por-pod-onde-for-possivel-identificar"&gt;OOM por pod (onde for possivel identificar)&lt;/h4&gt;





&lt;pre tabindex="0"&gt;&lt;code&gt;kube_pod_container_status_terminated_reason{reason=&amp;#34;OOMKilled&amp;#34;} &amp;gt; 0&lt;/code&gt;&lt;/pre&gt;</description><content:encoded><![CDATA[<h3 id="queries">Queries</h3>
<h4 id="monitoramento-de-cronjob-no-kubernetes">Monitoramento de cronjob no Kubernetes</h4>





<pre tabindex="0"><code>sum by(namespace)(kube_cronjob_status_active{cronjob=~&#34;clean-database.*&#34;})</code></pre><p>Em resumo, eu filtro as cronjobs com status de ativa (executando) em X momento que batam com o nome daquele job e agrega isso com uma label em comum, nesse caso o namespace, para gerar uma unica metrica/valor.</p>
<h4 id="contar-a-quantidade-de-nodes-no-kubernetes">Contar a quantidade de nodes no Kubernetes</h4>





<pre tabindex="0"><code>count(kube_node_info)</code></pre><h4 id="validar-alertas-passados-com-base-em-filtros">Validar alertas passados com base em filtros</h4>





<pre tabindex="0"><code>sum by (alertname) (ALERTS{pod!~&#34;.*banana.*&#34;,alertstate!=&#34;pending&#34;,alertname!~&#34;KubeHpaMaxedOut|DeadMansSwitch|TargetDown&#34;})</code></pre><h4 id="validar-todas-metricas-exportadas-por-um-job">Validar todas metricas exportadas por um job</h4>





<pre tabindex="0"><code>sum by(__name__)({job=~&#34;node_exporter&#34;})</code></pre><h4 id="oom-por-pod-onde-for-possivel-identificar">OOM por pod (onde for possivel identificar)</h4>





<pre tabindex="0"><code>kube_pod_container_status_terminated_reason{reason=&#34;OOMKilled&#34;} &gt; 0</code></pre>]]></content:encoded></item><item><title>Extensões para navegação</title><link>https://bryanalbuquerque.dev/wiki/browser-extensions/</link><pubDate>Sun, 23 Apr 2023 00:00:00 +0000</pubDate><guid>https://bryanalbuquerque.dev/wiki/browser-extensions/</guid><description>&lt;p&gt;Algumas extensões interessantes para ter maior privacidade e usabilidade na internet moderna.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Algumas extensões interessantes para ter maior privacidade e usabilidade na internet moderna.</p>
<h2 id="básico">Básico</h2>
<ul>
<li>uBlock Origin</li>
<li>Decentraleyes</li>
</ul>]]></content:encoded></item><item><title>Elasticsearch</title><link>https://bryanalbuquerque.dev/wiki/elasticsearch/</link><pubDate>Tue, 18 Apr 2023 00:00:00 +0000</pubDate><guid>https://bryanalbuquerque.dev/wiki/elasticsearch/</guid><description>&lt;p&gt;&lt;em&gt;You know, for search (and analysis)&lt;/em&gt;&lt;/p&gt;</description><content:encoded><![CDATA[<p><em>You know, for search (and analysis)</em></p>
<h2 id="troubleshoot">Troubleshoot</h2>
<p>Check rápido da saúde do cluster via REST API:</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="nb">export</span> <span class="nv">ENDPOINT</span><span class="o">=</span>localhost:9200
</span></span><span class="line"><span class="ln">2</span><span class="cl">curl -X GET <span class="s2">&#34;</span><span class="nv">$ENDPOINT</span><span class="s2">/_cluster/health?wait_for_status=yellow&amp;timeout=50s&amp;pretty&#34;</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">curl -X GET <span class="s2">&#34;</span><span class="nv">$ENDPOINT</span><span class="s2">/_cluster/stats?human&amp;pretty&#34;</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">curl -X GET <span class="s2">&#34;</span><span class="nv">$ENDPOINT</span><span class="s2">/_cluster/pending_tasks&#34;</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl">curl -X GET <span class="s2">&#34;</span><span class="nv">$ENDPOINT</span><span class="s2">/_nodes&#34;</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">curl -X GET <span class="s2">&#34;</span><span class="nv">$ENDPOINT</span><span class="s2">/_nodes/stats&#34;</span>
</span></span><span class="line"><span class="ln">7</span><span class="cl">curl -X GET <span class="s2">&#34;</span><span class="nv">$ENDPOINT</span><span class="s2">/_cluster/settings?include_defaults=true&amp;flat_settings=true&#34;</span></span></span></code></pre></div><h2 id="elasticsearch-interfaces">Elasticsearch Interfaces</h2>
<p>WebUI:</p>
<ul>
<li>kibana</li>
<li>cerebro</li>
<li>elasticsearch-head</li>
<li>elastic-hq</li>
</ul>
<h2 id="extensões-siem">Extensões SIEM</h2>
<ul>
<li>Elasticsearch Security</li>
<li>Zeek</li>
<li>Wazuh</li>
<li>HELK</li>
<li>Dsiem</li>
<li>S1EM</li>
<li>Pfelk</li>
<li>SIAC</li>
</ul>
<h2 id="referências">Referências</h2>
<ul>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html">Elasticsearch Reference - Cluster health</a></li>
<li><a href="https://logz.io/blog/elasticsearch-cheat-sheet/">Logz.io - ES cheat sheet</a></li>
<li><a href="http://elasticsearch-cheatsheet.jolicode.com/">Elasticsearch cheatsheet</a></li>
<li><a href="https://asquera.de/blog/2012-11-25/elasticsearch-pre-flight-checklist/">asquera.de - pre-flight check</a></li>
</ul>]]></content:encoded></item><item><title>Ambiente de desenvolvimento local baseado no K8S</title><link>https://bryanalbuquerque.dev/wiki/localk8s/</link><pubDate>Fri, 17 Mar 2023 00:00:00 +0000</pubDate><guid>https://bryanalbuquerque.dev/wiki/localk8s/</guid><description>&lt;p&gt;Ambiente local para desenvolvimento ou estudo do Kubernetes.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Ambiente local para desenvolvimento ou estudo do Kubernetes.</p>
<h2 id="focado-em-desenvolvimento">Focado em desenvolvimento</h2>
<ul>
<li>Skaffold</li>
<li>Tilt</li>
<li>Telepresence</li>
<li>Garden</li>
</ul>
<h2 id="kubernetes-local">Kubernetes local</h2>
<ul>
<li>Minikube</li>
<li>MicroK8S</li>
<li>Kind</li>
<li>Minishift</li>
<li>CRC (Openshift 4.X)</li>
<li>K3S</li>
</ul>]]></content:encoded></item><item><title>Hoje eu aprendi</title><link>https://bryanalbuquerque.dev/wiki/til/</link><pubDate>Fri, 17 Mar 2023 00:00:00 +0000</pubDate><guid>https://bryanalbuquerque.dev/wiki/til/</guid><description>&lt;h2 id="tils"&gt;TILs&lt;/h2&gt;</description><content:encoded><![CDATA[<h2 id="tils">TILs</h2>
<ul>
<li><a href="https://project-awesome.org/">Awesome lists</a>, é uma lista com diversas informações sobre um determinado tópico, curada pela comunidade.</li>
</ul>
<h2 id="significado">Significado</h2>
<p>Hoje eu aprendi vem de TIL, uma abreviação de Today I Learned.</p>]]></content:encoded></item></channel></rss>