<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Marceleza]]></title><description><![CDATA[I'm a DevOps, Productivity, Technology, Foss and IoT Enthusiast.]]></description><link>https://marceleza.com.br</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 19:20:11 GMT</lastBuildDate><atom:link href="https://marceleza.com.br/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Mais Uma Ferramenta para Containers - CRANE]]></title><description><![CDATA[Introdução
Estava fazendo alguns estudos sobre as ferramentas do Sigstore e acabei me deparando com uma menção a uma ferramenta para manipulação de imagens e registries que eu não conhecia, de nome Crane. Identifiquei logo de cara que havia alguns re...]]></description><link>https://marceleza.com.br/mais-uma-ferramenta-para-containers-crane</link><guid isPermaLink="true">https://marceleza.com.br/mais-uma-ferramenta-para-containers-crane</guid><category><![CDATA[containers]]></category><category><![CDATA[registry]]></category><category><![CDATA[images]]></category><category><![CDATA[Devops]]></category><dc:creator><![CDATA[Marcelo Marques Melo]]></dc:creator><pubDate>Thu, 04 Apr 2024 14:30:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1712240139795/c41e28c1-17bb-472f-8b7e-dfc6548e3103.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introducao">Introdução</h2>
<p>Estava fazendo alguns estudos sobre as ferramentas do <a target="_blank" href="https://www.sigstore.dev/">Sigstore</a> e acabei me deparando com uma menção a uma ferramenta para manipulação de imagens e registries que eu não conhecia, de nome <a target="_blank" href="https://github.com/google/go-containerregistry/tree/main/cmd/crane">Crane</a>. Identifiquei logo de cara que havia alguns recursos interessantes que poderiam auxiliar na inspeção e manipulação de imagens. Baixei a ferramenta e comecei os testes. Para o meu caso, que uso o Manjaro, bastou rodar um comando para completar a instalação.</p>
<pre><code class="lang-bash">pacman -S crane
</code></pre>
<p>Segue abaixo a lista de comandos que achei mais interessante para o meu uso. Para ver todos os subcomandos, basta rodar <code>crane -h</code>.</p>
<h2 id="heading-exemplos-de-aplicacao">Exemplos de aplicação</h2>
<p>Referência para a lista de comandos:</p>
<ul>
<li>https://github.com/google/go-containerregistry/blob/main/cmd/crane/recipes.md</li>
</ul>
<h3 id="heading-listar-todas-as-tags-de-um-repositorio">Listar todas as tags de um repositório</h3>
<pre><code class="lang-bash">crane ls docker.io/library/nginx
</code></pre>
<h3 id="heading-logar-em-um-registry">Logar em um registry</h3>
<pre><code class="lang-bash">crane auth login reg.example.com -u AzureDiamond -p hunter2
</code></pre>
<h3 id="heading-inspecionar-o-config-de-uma-imagem">Inspecionar o config de uma imagem</h3>
<pre><code class="lang-bash">crane config ubuntu:22.04 | jq
</code></pre>
<h3 id="heading-inspecionar-o-manifesto-de-uma-imagem">Inspecionar o manifesto de uma imagem</h3>
<pre><code class="lang-bash">crane manifest ubuntu:22.04 | jq
</code></pre>
<h3 id="heading-exportar-o-sistema-de-arquivo-do-container-como-um-tarball">Exportar o sistema de arquivo do container como um tarball</h3>
<pre><code class="lang-bash">crane <span class="hljs-built_in">export</span> ubuntu ubuntu.tar
</code></pre>
<h3 id="heading-baixar-uma-imagem-e-salva-la-localmente-em-um-tarball">Baixar uma imagem e salvá-la localmente em um tarball</h3>
<pre><code class="lang-bash">crane pull ubuntu:22.10 ubuntu2210.tar
</code></pre>
<h3 id="heading-listar-arquivos-de-uma-imagem">Listar arquivos de uma imagem</h3>
<pre><code class="lang-bash">crane <span class="hljs-built_in">export</span> ubuntu - | tar -tvf - | less
</code></pre>
<h3 id="heading-extrair-um-arquivo-de-uma-imagem">Extrair um arquivo de uma imagem</h3>
<pre><code class="lang-bash">crane <span class="hljs-built_in">export</span> ubuntu - | tar -Oxf - etc/passwd
</code></pre>
<p>Observação: certifique de remover a "/" do início do caminho do arquivo.</p>
<h3 id="heading-crie-uma-image-a-partir-de-um-diretorio">Crie uma image a partir de um diretório</h3>
<pre><code class="lang-bash">crane append -f &lt;(tar -f - -c some-dir/) -t <span class="hljs-variable">${IMAGE}</span>
</code></pre>
<p>Por padrão, isso produz uma imagem com uma camada contendo o conteúdo o diretório. Adicione <code>-b ${BASE_IMAGE}</code> para anexar a camada a uma imagem base.</p>
<p>Esse exemplo carece de validação. Pelos testes que fiz localmente, ele tenta fazer a modificação remotamente no registry.</p>
<h3 id="heading-verificar-a-diferenca-de-configs-de-duas-imagens">Verificar a diferença de configs de duas imagens</h3>
<pre><code class="lang-bash">diff &lt;(crane config busybox:1.32 | jq) &lt;(crane config busybox:1.33 | jq)
</code></pre>
<h3 id="heading-verificar-a-diferenca-de-manifestos-de-duas-imagens">Verificar a diferença de manifestos de duas imagens</h3>
<pre><code class="lang-bash">diff &lt;(crane manifest busybox:1.32 | jq) &lt;(crane manifest busybox:1.33 | jq)
</code></pre>
<h3 id="heading-verificar-a-diferenca-do-sistema-de-arquivo">Verificar a diferença do sistema de arquivo</h3>
<pre><code class="lang-bash">diff \
    &lt;(crane <span class="hljs-built_in">export</span> gcr.io/kaniko-project/executor:v1.6.0-debug - | tar -tvf - | sort) \
    &lt;(crane <span class="hljs-built_in">export</span> gcr.io/kaniko-project/executor:v1.7.0-debug - | tar -tvf - | sort)
</code></pre>
<h3 id="heading-identificar-o-tamanho-da-imagem">Identificar o tamanho da imagem</h3>
<pre><code class="lang-bash">crane manifest gcr.io/buildpacks/builder:v1 | jq <span class="hljs-string">'.config.size + ([.layers[].size] | add)'</span> | numfmt --to=iec
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Principais Parâmetros do Journalctl]]></title><description><![CDATA[Introdução
Não sei você, eu uso Linux diariamente no trabalho e mesmo assim não consigo memorizar todos os parâmetros dos comandos que preciso no terminal. Então, a tarefa de ir pesquisar na internet é relativamente comum. E não tem nada de errado co...]]></description><link>https://marceleza.com.br/principais-parametros-do-journalctl</link><guid isPermaLink="true">https://marceleza.com.br/principais-parametros-do-journalctl</guid><category><![CDATA[journalctl]]></category><category><![CDATA[linux-commands]]></category><category><![CDATA[Logs]]></category><category><![CDATA[systemd]]></category><dc:creator><![CDATA[Marcelo Marques Melo]]></dc:creator><pubDate>Sat, 23 Mar 2024 14:36:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1711203751687/904c7824-13b1-4b80-b93f-2a62ee5e9cc8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-introducao">Introdução</h1>
<p>Não sei você, eu uso Linux diariamente no trabalho e mesmo assim não consigo memorizar todos os parâmetros dos comandos que preciso no terminal. Então, a tarefa de ir pesquisar na internet é relativamente comum. E não tem nada de errado com isso, nosso cérebro não consegue fixar todos os detalhes de tudo. Quando preciso pesquisar uma lista rápida com as principais utilizações de um determinado comando, sempre adiciono o seguinte termo na busca: “<em>cheat sheet</em> + o nome do comando”. Esse termo poderia ser traduzido como folha de dicas, e normalmente me traz um resumo com vários exemplos de aplicação daquele determinado comando. Recentemente, resolvi escrever as minhas próprias listas e mantê-las em um controle local usando o Obsidian (aplicação para organizar notas, textos e afins). Esse ato de pesquisa e escrita, reforça muito mais o aprendizado e facilita a minha busca quando eu necessitar. Nesse artigo publicarei minhas notas acerca do comando <code>journalctl</code>.</p>
<h1 id="heading-descricao">Descrição</h1>
<p>Ferramenta para visualizar os registros do sistema gerados pelo systemd. O arquivo de configuração para esse utilitário está localizado em <code>/etc/systemd/journald.conf</code>. As configurações encontradas nesse arquivo são os valores padrões, mesmo estando comentadas.</p>
<h1 id="heading-exemplos-de-utilizacao">Exemplos de utilização</h1>
<p>Ao rodar o comando <code>journactl</code> sem parâmetros, é possível navegar pelos registros usando o padrão do <code>less</code>. Caso se queira remover esse comportamento, basta usar o parâmetro <code>--no-pager</code>.</p>
<h2 id="heading-ordem-reversa">Ordem reversa</h2>
<pre><code class="lang-bash">journalctl -r
</code></pre>
<h2 id="heading-mais-recentes-n-linhas">Mais recentes n linhas</h2>
<pre><code class="lang-bash">journalctl -n 25
</code></pre>
<h2 id="heading-tempo-real">Tempo real</h2>
<pre><code class="lang-bash">journalctl -f
</code></pre>
<h2 id="heading-padrao-utc">Padrão UTC</h2>
<p>Por padrão, os logs são exibidos no horário da máquina. Para exibir em UTC, use o seguinte parâmentro:</p>
<pre><code class="lang-bash">journalctl --utc
</code></pre>
<h2 id="heading-logs-do-kernel">Logs do kernel</h2>
<pre><code class="lang-bash">journalctl -k
</code></pre>
<h2 id="heading-logs-de-um-boot-especifico">Logs de um boot específico</h2>
<p>Para listar as sessões de boot:</p>
<pre><code class="lang-bash">journalctl --list-boots
</code></pre>
<p>Exemplo de saída:</p>
<pre><code class="lang-bash">  -5 513008ead8464c23aab732a2feed5277 Sun 2020-07-12 20:43:38 IST—Sun 2020-07-12 22:40:02 IST
  -4 caff16e3f46a4479b5287fb9e294f610 Mon 2020-07-13 07:36:04 IST—Mon 2020-07-13 19:13:44 IST
  -3 5665f41cc50a4dec9955efacc2596d68 Mon 2020-07-13 20:30:55 IST—Mon 2020-07-13 22:20:34 IST
  -2 c7d17407b0bd476a930af503f64b6006 Tue 2020-07-14 07:58:41 IST—Tue 2020-07-14 18:50:04 IST
  -1 7ab5e04518ec455abe0e2c86fdaa46fa Tue 2020-07-14 21:19:27 IST—Tue 2020-07-14 22:42:11 IST
   0 91856e86d4ee4e828717913deb288568 Wed 2020-07-15 08:11:51 IST—Wed 2020-07-15 17:14:10 IST
</code></pre>
<p>Para visualizar a sessão -2:</p>
<pre><code class="lang-bash">journalctl -b -2
</code></pre>
<h2 id="heading-logs-de-uma-unidade-de-servico">Logs de uma unidade de serviço</h2>
<pre><code class="lang-bash">journalctl -u service_name
</code></pre>
<h2 id="heading-log-de-um-intervalo-de-tempo">Log de um intervalo de tempo</h2>
<pre><code class="lang-bash">journalctl --since=yesterday --until=now
journalctl --since <span class="hljs-string">"2020-07-10"</span>
journalctl --since <span class="hljs-string">"2020-07-10 15:10:00"</span> --until <span class="hljs-string">"2020-07-12"</span>
journalctl --since <span class="hljs-string">"-1h30min"</span> (logs desse último intervalo)
journalctl --since <span class="hljs-string">"1 hour ago"</span>
</code></pre>
<h2 id="heading-logs-baseado-em-uid-gid-e-pid">Logs baseado em UID, GID e PID</h2>
<pre><code class="lang-bash">journalctl _PID=1234
</code></pre>
<h2 id="heading-logs-de-apenas-erros">Logs de apenas erros</h2>
<pre><code class="lang-bash">journalctl -p 3 -xb
</code></pre>
<p><code>-p 3</code>: filtra logs de prioridade 3, correspondente aos erros
<code>-x</code>: evidencia informações adicionais quando disponíveis
<code>b</code>: referente ao último boot</p>
<p>Ao invés do número, pode ser usada a string referente à prioridade do logs:</p>
<p>"emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4), "notice" (5), "info" (6), "debug" (7)</p>
<pre><code class="lang-bash">journalctl -p warning -b0
</code></pre>
<h2 id="heading-checar-uso-de-disco-pelos-logs">Checar uso de disco pelos logs</h2>
<pre><code class="lang-bash">journalctl --disk-usage
</code></pre>
<h2 id="heading-limpar-logs">Limpar logs</h2>
<p>Arquivar os logs correntes e começar um novo:</p>
<pre><code class="lang-bash">journalctl --rotate
</code></pre>
<p>Deletar logs mais antigos:</p>
<pre><code class="lang-bash">journalctl --vacuum-time=2d
</code></pre>
<h2 id="heading-restringir-tamanho-do-log">Restringir tamanho do log</h2>
<pre><code class="lang-bash">journalctl --vacuum-size=100M
</code></pre>
<h2 id="heading-restringir-numero-de-arquivos-de-log">Restringir número de arquivos de log</h2>
<pre><code class="lang-bash">journalctl --vacuum-files=5
</code></pre>
<h2 id="heading-configuracao-para-controle-de-espaco">Configuração para controle de espaço</h2>
<p>Para não precisar intervir manualmente a todo momento que o log ocupar muito espaço, aqui vão alguns campos para alterar no arquivo <code>/etc/systemd/journald.conf</code>:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Configuração</strong></td><td><strong>Descrição</strong></td></tr>
</thead>
<tbody>
<tr>
<td>SystemMaxUse</td><td>máximo espaço ocupado em disco</td></tr>
<tr>
<td>SystemMaxFileSize</td><td>máximo tamanho individual por arquivo de log</td></tr>
<tr>
<td>SystemMaxFiles</td><td>número máximo de arquivos de log</td></tr>
</tbody>
</table>
</div><p>Para surtir efeito as novas configurações, reinicie o serviço:</p>
<pre><code class="lang-bash">systemctl restart systemd-journald
</code></pre>
]]></content:encoded></item><item><title><![CDATA[How to Install Zabbix]]></title><description><![CDATA[Introduction
When the subject is monitoring, Zabbix is one of the first solutions that comes to mind. It is a Free and Open-Source solution that can be used everywhere. The current main release is version 5.0 LTS (long-term support). The main feature...]]></description><link>https://marceleza.com.br/how-to-install-zabbix</link><guid isPermaLink="true">https://marceleza.com.br/how-to-install-zabbix</guid><category><![CDATA[monitoring]]></category><dc:creator><![CDATA[Marcelo Marques Melo]]></dc:creator><pubDate>Thu, 31 Dec 2020 23:32:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1609458778280/6D_d6q1Mz.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="introduction">Introduction</h2>
<p>When the subject is monitoring, <a target="_blank" href="https://www.zabbix.com/">Zabbix</a> is one of the first solutions that comes to mind. It is a Free and Open-Source solution that can be used everywhere. The current main release is version 5.0 LTS (long-term support). The main features are more integrations available, significant improvements in the security area, scalability and performance enhancement, more templates and plugins by the default.</p>
<h2 id="what-is-zabbix">What is Zabbix</h2>
<p>Zabbix is one of the most famous solutions designed for real-time monitoring. It was created by <a target="_blank" href="https://lv.linkedin.com/in/alexei-vladishev-8a12737">Alexei Vladishev</a> and currently is actively developed and supported by Zabbix SIA.</p>
<p>It is possible to collect metrics from devices, like servers, virtual machines and network devices. Dashboards can be constructed with a flexible alert system to simplify the decision-making. All Zabbix statistics, reports and configuration parameters, are found through a web-based front-end. This guarantees that the status of your network and the health of your servers can be reached from any place.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609452582077/Yo95WNj-L.png" alt="metric_collection.png" /></p>
<h2 id="getting-zabbix">Getting Zabbix</h2>
<p>As many other Open-Source software, the simple way to get Zabbix is by official RPM and DEB packages. In the download section you have an intuitive graphical way to choose version, operational system, database and web server.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609452919740/9TQFpWq0c.png" alt="choose_platform.png" /></p>
<p>Below this selection section, is shown all the commands to use on the terminal to install the properly chosen version. To use as an example, let's try the new release with Ubuntu 20.04, MySQL and Apache.</p>
<ul>
<li>1 - <strong>Install Zabbix repository</strong></li>
</ul>
<pre><code><span class="hljs-meta"># wget https:<span class="hljs-comment">//repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb</span></span>
<span class="hljs-meta"># dpkg -i zabbix-release_5.0-1+focal_all.deb</span>
<span class="hljs-meta"># apt update</span>
</code></pre><ul>
<li>2 - <strong>Install Zabbix server, front-end, agent</strong></li>
</ul>
<pre><code><span class="hljs-comment"># apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent</span>
</code></pre><ul>
<li>3 - <strong>Create initial database</strong></li>
</ul>
<p>Run the following on your database host.</p>
<pre><code># mysql -uroot -p
<span class="hljs-keyword">password</span>
mysql&gt; <span class="hljs-keyword">create</span> <span class="hljs-keyword">database</span> zabbix <span class="hljs-type">character</span> <span class="hljs-keyword">set</span> utf8 <span class="hljs-keyword">collate</span> utf8_bin;
mysql&gt; <span class="hljs-keyword">create</span> <span class="hljs-keyword">user</span> zabbix@localhost identified <span class="hljs-keyword">by</span> <span class="hljs-string">'password'</span>;
mysql&gt; <span class="hljs-keyword">grant</span> <span class="hljs-keyword">all</span> <span class="hljs-keyword">privileges</span> <span class="hljs-keyword">on</span> zabbix.* <span class="hljs-keyword">to</span> zabbix@localhost;
mysql&gt; quit;
</code></pre><p>On Zabbix server host import initial schema and data. You will be prompted to enter your newly created password.</p>
<pre><code># zcat /usr/<span class="hljs-keyword">share</span>/doc/zabbix-<span class="hljs-keyword">server</span>-mysql*/<span class="hljs-keyword">create</span>.<span class="hljs-keyword">sql</span>.gz | mysql -uzabbix -p zabbix
</code></pre><ul>
<li>4 - <strong>Configure the database for Zabbix server</strong></li>
</ul>
<p>Edit file /etc/zabbix/zabbix_server.conf</p>
<pre><code><span class="hljs-attr">DBPassword</span>=password
</code></pre><ul>
<li>5 - <strong>Configure PHP for Zabbix front-end</strong></li>
</ul>
<p>Edit file /etc/zabbix/apache.conf, uncomment and set the right timezone for you.</p>
<pre><code><span class="hljs-comment"># php_value date.timezone America/Sao_Paulo</span>
</code></pre><ul>
<li>6 - <strong>Start Zabbix server and agent processes</strong></li>
</ul>
<p>Start Zabbix server and agent processes and make it start at system boot.</p>
<pre><code># systemctl <span class="hljs-keyword">restart</span> zabbix-<span class="hljs-keyword">server</span> zabbix-agent apache2
# systemctl <span class="hljs-keyword">enable</span> zabbix-<span class="hljs-keyword">server</span> zabbix-agent apache2
</code></pre><ul>
<li>7 - <strong>Configure Zabbix front-end</strong></li>
</ul>
<p>By this point all the process to finish the installation is through a web browser.</p>
<p>Connect to your newly installed Zabbix front-end: http://server_ip_or_name/zabbix With this URL you should see the welcome screen:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453293720/JIG9VU58X.png" alt="install_1_c.png" /></p>
<p>Click on the <code>Next step</code> button to advance and verify the prerequisites of your installation.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453304871/OMU2x7ng4.png" alt="install_2.png" /></p>
<p>On this next step enter the details for connecting to the database. Zabbix database must already be created.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453311221/_jU6_O7O7.png" alt="install_3.png" /></p>
<p>Enter Zabbix server details.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453318620/Mk0RXOs0u.png" alt="install_4.png" /></p>
<p>Review a summary of settings.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453325953/Ucnf4ERuu.png" alt="install_5.png" /></p>
<p>Download the configuration file and place it under conf/ in the web server HTML documents subdirectory where you copied Zabbix PHP files to.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453333943/CsulgafrD.png" alt="install_6.png" /></p>
<p>Finish the installation.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453340638/_1cvdkc_P.png" alt="install_7.png" /></p>
<h3 id="other-options">OTHER OPTIONS</h3>
<p>Alternatively, you have some more great options to put Zabbix to work:</p>
<ul>
<li>Install from the <a target="_blank" href="https://www.zabbix.com/container_images">containers</a>;</li>
<li>Download the <a target="_blank" href="https://www.zabbix.com/download_appliance">virtual appliance</a>;</li>
<li><a target="_blank" href="https://www.zabbix.com/cloud_images">Cloud images</a></li>
<li>Compile from <a target="_blank" href="https://www.zabbix.com/download_sources">source code</a>;</li>
</ul>
<h2 id="zabbix-requirements">Zabbix Requirements</h2>
<p>For small solutions it's not necessary to reserve many resources, only 128 MB of memory and 256 MB on disk are enough. Obviously, this depends on the amount of host and parameters that are being monitored. If you're planning to keep a long history, this number on disk can reach Gigabytes. The same logic applies to the CPU load, it depends on the number of hosts. Zabbix documentation gives an example to illustrate the system based on hosts.</p>
<table>
<thead>
<tr>
<td>Size</td><td>Platform</td><td>CPU/Memory</td><td>Database</td><td>Monitored hosts</td></tr>
</thead>
<tbody>
<tr>
<td>Small</td><td>CentOS</td><td>Virtual Appliance</td><td>MySQL InnoDB</td><td>100</td></tr>
<tr>
<td>Medium</td><td>CentOS</td><td>2 CPU cores/2 GB</td><td>MySQL InnoDB</td><td>500</td></tr>
<tr>
<td>Large</td><td>Red Hat Enterprise Linux</td><td>4 CPU cores/8 GB</td><td>RAID10 MySQL InnoDB or PostgreSQL</td><td>&gt;1000</td></tr>
<tr>
<td>Very large</td><td>Red Hat Enterprise Linux</td><td>8 CPU cores/16 GB</td><td>Fast RAID10 MySQL InnoDB or PostgreSQL</td><td>&gt;10000</td></tr>
</tbody>
</table>
<h2 id="supported-operating-system">Supported Operating System</h2>
<p>It's possible to use a variety of systems to install Zabbix. Not all systems support the complete resource solution, as shown in the next table:</p>
<table>
<thead>
<tr>
<td>Platform</td><td>Zabbix Server</td><td>Zabbix Proxy</td><td>Zabbix agent</td></tr>
</thead>
<tbody>
<tr>
<td>Linux</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>IBM AIX</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>IBM Power8</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>FreeBSD</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>NetBSD</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>OpenBSD</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>HP-UX</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>Mac OS X</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>Solaris</td><td>ok</td><td>ok</td><td>ok</td></tr>
<tr>
<td>Windows</td><td>x</td><td>x</td><td>ok</td></tr>
</tbody>
</table>
<h2 id="conclusion">Conclusion</h2>
<p>If you work as a sysadmin, Zabbix is a must to on your top monitoring tools. Even for beginner,  It's easy to take the first steps, learn the terminology and start to supervise any kind of IT infrastructure, service, application and resource.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609453464972/YcH43vZld.jpeg" alt="zabbix_dashboard_v50_dark.jpg" /></p>
]]></content:encoded></item></channel></rss>