<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Logstash - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/logstash/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/logstash</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Thu, 10 Mar 2022 18:23:54 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos Logstash - Remontti</title>
	<link>https://blog.remontti.com.br/tag/logstash</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalação do Elastic Stack 7 + ElastiFlow no Debian 10 Buster (Bônus Traffic Flow Mikrotik/RouterOS)</title>
		<link>https://blog.remontti.com.br/3368</link>
					<comments>https://blog.remontti.com.br/3368#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 16 Aug 2019 18:06:41 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian buster]]></category>
		<category><![CDATA[debian10]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[ElastiFlow]]></category>
		<category><![CDATA[IPFIX]]></category>
		<category><![CDATA[Kibana]]></category>
		<category><![CDATA[Logstash]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Netflow]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[sFlow]]></category>
		<category><![CDATA[Traffic Flow]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=3368</guid>

					<description><![CDATA[<p>Para um tutorial mais atualizado acesse: https://blog.remontti.com.br/6255 Neste tutorial abordaremos a instalação e configuração do Elastic Stack 7.x, que será usado para alimentar a solução ElastiFlow. Elastic Stack consiste no Elasticsearch, Logstash e Kibana.&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/3368">Instalação do Elastic Stack 7 + ElastiFlow no Debian 10 Buster (Bônus Traffic Flow Mikrotik/RouterOS)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Para um tutorial mais atualizado acesse: <a href="https://blog.remontti.com.br/6255" rel="noopener" target="_blank">https://blog.remontti.com.br/6255</a></h3>
<p>Neste tutorial abordaremos a instalação e configuração do Elastic Stack 7.x, que será usado para alimentar a solução ElastiFlow. </p>
<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-debian-10-buster-1.png" alt="" width="1173" height="720" class="alignnone size-full wp-image-3374" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-debian-10-buster-1.png 1173w, https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-debian-10-buster-1-300x184.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-debian-10-buster-1-768x471.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-debian-10-buster-1-1024x629.png 1024w" sizes="(max-width: 1173px) 100vw, 1173px" /></p>
<p><strong>Elastic Stack</strong> consiste no Elasticsearch, Logstash e Kibana.<br />
&#8211; <strong>Elasticsearch</strong> é um mecanismo de pesquisa baseado em texto completo.<br />
&#8211; <strong>Logstash</strong> é um mecanismo de coleta de dados e análise de log.<br />
&#8211; <strong>Kibana</strong> é uma plataforma de análise e visualização usada para exibir os painéis do ElastiFlow.<br />
&#8211; <strong>ElastiFlow</strong> fornece coleta e visualização de dados de fluxo de rede usando o Elastic Stack (Elasticsearch, Logstash e Kibana). Suporta os tipos de fluxo Netflow v5/v9, sFlow e IPFIX.</p>
<p>Painéis fornecidos através do ElastiFlow</p>
<p><strong>Visão Global</strong> <em>Overview</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/Overview.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/Overview-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3391" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/Overview-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Overview-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Overview-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Overview.png 2032w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Top-N</strong><br />
Existem painéis Top-N separados para os principais locutores, serviços, conversas e aplicativos.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/Top-N.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/Top-N-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3392" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/Top-N-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Top-N-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Top-N-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Top-N.png 2032w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Ameaças</strong> <em>Threats</em><br />
O ElastiFlow inclui um dicionário de endereços IP públicos que são conhecidos por terem uma má reputação. Este dicionário é construído a partir de muitas fontes de dados OSINT, normalizadas para uma taxonomia comum. O painel de ameaças usa essas informações de reputação de IP para destacar três tipos de ameaça/risco.<br />
1. Ameaças Públicas &#8211; Clientes públicos com baixa reputação de IP que estão atingindo endereços privados.<br />
2. Servidores em Risco &#8211; Servidores Privados que estão sendo acessados ​​por clientes com baixa reputação de IP.<br />
3. Clientes de alto risco &#8211; Clientes privados que acessam servidores públicos com baixa reputação.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/Threats.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/Threats-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3393" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/Threats-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Threats-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Threats-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Threats.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Fluxos</strong> <em>Flows</em><br />
Existem painéis Sankey separados para as perspectivas Cliente/Servidor, Origem/Destino e Sistema Autônomo. As visualizações sankey são construídas usando o novo plugin de visualização Vega.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/Flows.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/Flows-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3395" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/Flows-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Flows-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Flows-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Flows.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Geo IP</strong><br />
Existem painéis de Geo localização separados para as perspectivas Cliente/Servidor e Origem/Destino (Dados GeoLite2 criados pela MaxMind, disponíveis em <a href="http://www.maxmind.com" rel="noopener noreferrer" target="_blank">http://www.maxmind.com</a>)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/IPGeo.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/IPGeo-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3396" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/IPGeo-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/IPGeo-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/IPGeo-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/IPGeo.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Tráfego por AS</strong><em> AS Traffic</em><br />
Fornece uma visão do tráfego para e de sistemas autônomos (intervalos de IP públicos)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/ASTraffic.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/ASTraffic-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3397" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/ASTraffic-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/ASTraffic-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/ASTraffic-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/ASTraffic.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Exportadores de Fluxo</strong> <em>Flow Exporters</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowExporters.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowExporters-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3398" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowExporters-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowExporters-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowExporters-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowExporters.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Detalhes do Trânsito</strong> <em>Traffic Details</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/TrafficDetails.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/TrafficDetails-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3399" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/TrafficDetails-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/TrafficDetails-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/TrafficDetails-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/TrafficDetails.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Registros de Fluxo</strong><em> Flow Records</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowRecords.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowRecords-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3400" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowRecords-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowRecords-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowRecords-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/FlowRecords.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Ziften ZFlow</strong><br />
O ElastiFlow adicionou suporte para registros IPFIX do agente ZFlow do ZFlow. Além de estar totalmente integrado aos painéis de controle padrão, os painéis ZFlow independentes exibem o tráfego de rede com base nos dados de usuário e de comando fornecidos pelo ZFlow.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/Ziften-ZFlow.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/Ziften-ZFlow-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-3401" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/Ziften-ZFlow-1024x601.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Ziften-ZFlow-300x176.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Ziften-ZFlow-768x451.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/Ziften-ZFlow.png 2032w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><a href="https://github.com/robcowart/elastiflow/blob/master/INSTALL.md#requirements" rel="noopener noreferrer" target="_blank">Requisitos de Hardware</a>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-Requirements.png" alt="" width="682" height="157" class="alignnone size-full wp-image-3375" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-Requirements.png 682w, https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow-Requirements-300x69.png 300w" sizes="auto, (max-width: 682px) 100vw, 682px" /></p>
<p><em>Meus testes foram realizado em meu computador com VM no Virtualbox sendo 4 CPUs (i7) e 8GB de RAM</em><br />
<div id="attachment_3376" style="width: 310px" class="wp-caption alignnone"><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/VirtualBox_Debian-10-NetFlow_16_08_2019_10_43_03.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3376" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/VirtualBox_Debian-10-NetFlow_16_08_2019_10_43_03-300x225.png" alt="" width="300" height="225" class="size-medium wp-image-3376" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/VirtualBox_Debian-10-NetFlow_16_08_2019_10_43_03-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/VirtualBox_Debian-10-NetFlow_16_08_2019_10_43_03-768x576.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/VirtualBox_Debian-10-NetFlow_16_08_2019_10_43_03.png 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-3376" class="wp-caption-text">E o bixinho levou um pau!</p></div></p>
<p>Vou utilizar o Debian 10 instalado de forma &#8220;limpa&#8221;, sem nenhum outro pacote, para isso siga o tutorial:<br />
<strong><a href="https://blog.remontti.com.br/2966" rel="noopener noreferrer" target="_blank">Instalação Debian 10 Buster LIMPA Passo-a-passo</a></strong></p>
<p>Com seu Debian 10 instalado acesse o mesmo e vire root!</p>
<pre class="remontti-code"># su - </pre>
<p>Instale os pacotes básicos necessários</p>
<pre class="remontti-code"># apt install wget apt-transport-https gnupg unzip curl net-tools</pre>
<p>Recomendo a instalacao dos firmwares binário para vários drivers do kernel Linux, para isso adicione contrib non-free ao seu repositório.</p>
<pre class="remontti-code"># vim /etc/apt/sources.list</pre>
<pre class="remontti-code">deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free</pre>
<pre class="remontti-code"># apt update
# apt install firmware-linux firmware-linux-free firmware-linux-nonfree</pre>
<p>Reinicie para que os novos módulos sejam carregado.</p>
<pre class="remontti-code"># reboot</pre>
<h3>:: Elastic Stack 7 ::</h3>
<p>Será necessário ter o Java instalado.</p>
<pre class="remontti-code"># su -
# apt install default-jre</pre>
<p>Adicione o repositório elastic.</p>
<pre class="remontti-code"># wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
# echo &quot;deb https://artifacts.elastic.co/packages/7.x/apt stable main&quot; |  tee -a /etc/apt/sources.list.d/elastic-7.x.list
# apt update</pre>
<p>Faremos a instalação individual dos pacotes elasticsearch, kibana e logstash.</p>
<h3>:: Elasticsearch ::</h3>
<p>Elasticsearch é um mecanismo de pesquisa baseado em texto completo. </p>
<pre class="remontti-code"># apt install elasticsearch</pre>
<p>Após instalação vamos alterar network.host para ouvir apenas localhost, em seguida ativar o serviço e inicia-lo.</p>
<pre class="remontti-code"># sed -i &#039;s/#network.host: 192.168.0.1/network.host: 127.0.0.1/&#039; /etc/elasticsearch/elasticsearch.yml
# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch</pre>
<p>Cheque se o mesmo esta funcionando</p>
<pre class="remontti-code"># curl -X GET 127.0.0.1:9200</pre>
<p>Retorno algo como&#8230;.</p>
<pre class="remontti-code">{
  &quot;name&quot; : &quot;lab&quot;,
  &quot;cluster_name&quot; : &quot;elasticsearch&quot;,
  &quot;cluster_uuid&quot; : &quot;-U7i4KbKSxSgChHSxMpcfg&quot;,
  &quot;version&quot; : {
    &quot;number&quot; : &quot;7.3.0&quot;,
    &quot;build_flavor&quot; : &quot;default&quot;,
    &quot;build_type&quot; : &quot;deb&quot;,
    &quot;build_hash&quot; : &quot;de777fa&quot;,
    &quot;build_date&quot; : &quot;2019-07-24T18:30:11.767338Z&quot;,
    &quot;build_snapshot&quot; : false,
    &quot;lucene_version&quot; : &quot;8.1.0&quot;,
    &quot;minimum_wire_compatibility_version&quot; : &quot;6.8.0&quot;,
    &quot;minimum_index_compatibility_version&quot; : &quot;6.0.0-beta1&quot;
  },
  &quot;tagline&quot; : &quot;You Know, for Search&quot;
}</pre>
<p>Caso o comando `curl -X GET 127.0.0.1:9200` retorne algum erro, tente verificar se o serviço esta rodando com o comando `systemctl status elasticsearch`. Verifique nos logs `tail -f /var/log/elasticsearch/elasticsearch.log`se o erro aparece:</p>
<pre class="remontti-code">Failure running machine learning native code. 
This could be due to running on an unsupported OS or distribution, missing OS libraries, 
or a problem with the temp directory. To bypass this problem by running 
Elasticsearch without machine learning functionality set [xpack.ml.enabled: false].&quot;</pre>
<p>Se o mesmo aparecer execute o comando:</p>
<pre class="remontti-code"># echo &quot;xpack.ml.enabled: false&quot; &gt;&gt; /etc/elasticsearch/elasticsearch.yml
# systemctl restart elasticsearch</pre>
<h3>:: kibana ::</h3>
<p>Kibana é uma plataforma de análise e visualização usada para exibir os painéis do ElastiFlow.</p>
<pre class="remontti-code"># apt install kibana</pre>
<p>Após instalação vamos alterar server.host, em seguida ativar o serviço e inicia-lo.</p>
<pre class="remontti-code"># sed -i &#039;s/#server.host: &quot;localhost&quot;/server.host: &quot;0.0.0.0&quot;/&#039; /etc/kibana/kibana.yml
# systemctl daemon-reload
# systemctl enable kibana
# systemctl start kibana</pre>
<p>Aguarde um pouco o serviço iniciar e já será possível acessar Kibana em seu navegador:<br />
http://[IP-SERVIDOR]<strong>:5601</strong></p>
<h3>:: logstash ::</h3>
<p>O Logstash é um mecanismo de coleta de dados e análise de log.</p>
<pre class="remontti-code"># apt install logstash</pre>
<p>Para aumentar o desempenho o ElastiFlow aproveita os recursos de cache e enfileiramento disponíveis em muitos dos plugins do Logstash. Esses recursos aumentam o consumo do heap da JVM. O espaço de heap da JVM usado pelo Logstash é configurado em jvm.options. Recomenda-se que o Logstash receba pelo menos 2GB de heap da JVM. Se todas as opções, incl. Pesquisas DNS estão habilitadas aumente para 4GB. Defina o tamanho de heap da JVM. </p>
<pre class="remontti-code"># vim /etc/logstash/jvm.options</pre>
<p>Altere de a cordo com a necessidades. No meu caso vou resolver nomes então vou usar 4gb</p>
<pre class="remontti-code">-Xms4g
-Xmx4g</pre>
<p>Instale e atualize os plugins necessários pelo Logstash. Para usar o ElastiFlow, você precisará instalar o codec sFlow suportado pela comunidade para o Logstash. Também é recomendável que você sempre use a versão mais recente do codec Netflow, a entrada UDP e o filtro DNS. Isso pode ser conseguido executando os seguintes comandos:</p>
<pre class="remontti-code"># /usr/share/logstash/bin/logstash-plugin install logstash-codec-sflow --no-verify
# /usr/share/logstash/bin/logstash-plugin update logstash-codec-netflow --no-verify
# /usr/share/logstash/bin/logstash-plugin update logstash-input-udp --no-verify
# /usr/share/logstash/bin/logstash-plugin update logstash-input-tcp --no-verify
# /usr/share/logstash/bin/logstash-plugin update logstash-filter-dns --no-verify
# /usr/share/logstash/bin/logstash-plugin update logstash-filter-geoip --no-verify
# /usr/share/logstash/bin/logstash-plugin update logstash-filter-translate --no-verify
# /usr/share/logstash/bin/logstash-plugin install --no-verify

# /usr/share/logstash/bin/logstash-plugin install logstash-codec-sflow
# /usr/share/logstash/bin/logstash-plugin update logstash-codec-netflow
# /usr/share/logstash/bin/logstash-plugin update logstash-input-udp
# /usr/share/logstash/bin/logstash-plugin update logstash-input-tcp
# /usr/share/logstash/bin/logstash-plugin update logstash-filter-dns
# /usr/share/logstash/bin/logstash-plugin update logstash-filter-geoip
# /usr/share/logstash/bin/logstash-plugin update logstash-filter-translate</pre>
<h3>:: elastiflow ::</h3>
<p><a href="https://github.com/robcowart/elastiflow/" rel="noopener noreferrer" target="_blank">ElastiFlow</a> fornece coleta e visualização de dados de fluxo de rede usando o Elastic Stack (Elasticsearch, Logstash e Kibana). Suporta os tipos de fluxo Netflow v5/v9, sFlow e IPFIX. </p>
<pre class="remontti-code"># mkdir /root/flowinstall
# cd /root/flowinstall
# wget https://github.com/robcowart/elastiflow/archive/master.zip
# unzip master.zip
# mv elastiflow-master/logstash/elastiflow/  /etc/logstash/
# mv elastiflow-master/logstash.service.d/ /etc/systemd/system/
# cp /etc/logstash/logstash-sample.conf  /etc/logstash/logstash.conf
</pre>
<p>Adicione o pipeline ElastiFlow aos pipelines.yml</p>
<pre class="remontti-code"># vim  /etc/logstash/pipelines.yml</pre>
<p>Adicione ao final:</p>
<pre class="remontti-code">- pipeline.id: elastiflow
  path.config: &quot;/etc/logstash/elastiflow/conf.d/*.conf&quot;</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/pipelines.yml_.png" alt="" width="796" height="225" class="alignnone size-full wp-image-3379" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/pipelines.yml_.png 796w, https://blog.remontti.com.br/wp-content/uploads/2019/08/pipelines.yml_-300x85.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/pipelines.yml_-768x217.png 768w" sizes="auto, (max-width: 796px) 100vw, 796px" /></p>
<p>Também defino ELASTIFLOW_RESOLVE_IP2HOST como true e defino meu servidor DNS em ELASTIFLOW_NAMESERVER para que os painéis tentem resolver os nomes DNS em vez de exibir apenas o endereço IP. Há um impacto no desempenho por isso será necessário ter RAM sobrando!<br />
Neste exemplo vou aplicar a resolução de nomes.</p>
<pre class="remontti-code"># sed -i &#039;s/ELASTIFLOW_RESOLVE_IP2HOST=false/ELASTIFLOW_RESOLVE_IP2HOST=true/&#039; /etc/systemd/system/logstash.service.d/elastiflow.conf
# sed -i &#039;s/ELASTIFLOW_NAMESERVER=127.0.0.1/ELASTIFLOW_NAMESERVER=1.1.1.1/&#039; /etc/systemd/system/logstash.service.d/elastiflow.conf</pre>
<p>Se desejar pode editar o arquivo /etc/systemd/system/logstash.service.d/elastiflow.conf<br />
E alterar as opções conforme suas necessidades. Os dois comandos acima alteram:<br />
<em>ELASTIFLOW_RESOLVE_IP2HOST=true<br />
ELASTIFLOW_NAMESERVER=1.1.1.1</em></p>
<p>Vamos configurar os arquivos init (system-install) em seguida ativar o serviço para inicialização e starta-lo.</p>
<pre class="remontti-code"># systemctl daemon-reload
# /usr/share/logstash/bin/system-install
# systemctl enable logstash
# systemctl start logstash</pre>
<p>Precisamos configurar os índices do elastiflow-*padrão, execute o seguinte comando: </p>
<p>Atualização: O projeto da data de hoje (20/03/2020) está da versão 7.6.x e em suas releases https://github.com/robcowart/elastiflow/releases alguns arquivos não parecem mais estarem lá, uma das &#8220;gambi&#8221; é pegar esses arquivos de commits antigas. Vamos precisar deles -> <a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow.tar.gz">elastiflow.tar.gz</a></em> (boa sorte)</p>
<pre class="remontti-code"># cd /root/flowinstall
# wget https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow.tar.gz
# tar vxf elastiflow.tar.gz 
# curl -X POST http://127.0.0.1:5601/api/saved_objects/index-pattern/elastiflow-* -H &quot;Content-Type: application/json&quot; -H &quot;kbn-xsrf: true&quot; -d @elastiflow.index_pattern.json</pre>
<p>O arquivo JSON contém a configuração do padrão de índice.</p>
<p>Agora o arquivo elastiflow.kibana.7.0.x.json deveria estar em  <a href="https://github.com/robcowart/elastiflow/tree/master/kibana" rel="noopener noreferrer" target="_blank">https://github.com/robcowart/elastiflow/tree/master/kibana</a> mas não está rsrsrs então baixe ele aqui <a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/elastiflow.kibana.7.0.x.zip">elastiflow.kibana.7.0.x</a> e extraia ele no seu computador. (peguei ele la da v.<a href="https://github.com/robcowart/elastiflow/tree/v3.5.1" rel="noopener noreferrer" target="_blank">3.5.1</a>) </p>
<p>Porém Hoje <strong>31/03/2020 </strong>utilizando o arquivo <a href="https://raw.githubusercontent.com/robcowart/elastiflow/master/kibana/elastiflow.kibana.7.5.x.ndjson" rel="noopener noreferrer" target="_blank">elastiflow.kibana.7.5.x.ndjson</a>  <strong>deu certo</strong>, entao tente importar ele, caso contrario tente o citado acima (P* zona não seguem um padrão fica foda do cara dizer algo rsrsrs) (Versão testada 7.6.1) </p>
<p>Para que os painéis possam ser carregados no Kibana, importando o <strong>elastiflow.kibana.7.0.x.json</strong>. Isso é feito a partir do menu <strong>Management -> Saved Objects</strong>. Abra o kibana<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1024x492.png" alt="" width="1024" height="492" class="alignnone size-large wp-image-3380" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1024x492.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-300x144.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-768x369.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects.png 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-import.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-import-1024x492.png" alt="" width="1024" height="492" class="alignnone size-large wp-image-3381" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-import-1024x492.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-import-300x144.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-import-768x369.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-import.png 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1-1024x763.png" alt="" width="1024" height="763" class="alignnone size-large wp-image-3382" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1-1024x763.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1-300x224.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1-768x572.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/kibana-Management-Save_Objects-1.png 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Configurações Avançadas Recomendadas do Kibana</p>
<p>Modificar algumas das configurações avançadas do Kibana produzirá uma experiência mais amigável ao usar o ElastiFlow. Essas configurações são feitas em Kibana, abaixo <strong>Management -> Advanced Settings</strong>.</p>
<p><strong>doc_table:highlight</strong><br />
<div id="attachment_3383" style="width: 495px" class="wp-caption alignnone"><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/doc_table.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3383" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/doc_table.png" alt="" width="485" height="156" class="size-full wp-image-3383" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/doc_table.png 485w, https://blog.remontti.com.br/wp-content/uploads/2019/08/doc_table-300x96.png 300w" sizes="auto, (max-width: 485px) 100vw, 485px" /></a><p id="caption-attachment-3383" class="wp-caption-text">Há uma penalidade de desempenho de consulta muito grande que vem com o uso do recurso de destaque. Como não é muito útil para este caso de uso, é melhor simplesmente retirá-lo.</p></div></p>
<p><strong>filters:pinnedByDefault</strong><br />
<div id="attachment_3385" style="width: 555px" class="wp-caption alignnone"><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/filters.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3385" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/filters.png" alt="" width="545" height="139" class="size-full wp-image-3385" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/filters.png 545w, https://blog.remontti.com.br/wp-content/uploads/2019/08/filters-300x77.png 300w" sizes="auto, (max-width: 545px) 100vw, 545px" /></a><p id="caption-attachment-3385" class="wp-caption-text">Fixar um filtro permitirá que ele persista quando você está mudando de dashbaords. Isso é muito útil ao detalhar algo interessante e você deseja alterar os painéis para uma perspectiva diferente dos mesmos dados. Este é o primeiro cenário que mudo sempre que estou trabalhando com o Kibana.</p></div></p>
<p><strong>state:storeInSessionStorage</strong><br />
<div id="attachment_3386" style="width: 558px" class="wp-caption alignnone"><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/state.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3386" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/state.png" alt="" width="548" height="182" class="size-full wp-image-3386" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/state.png 548w, https://blog.remontti.com.br/wp-content/uploads/2019/08/state-300x100.png 300w" sizes="auto, (max-width: 548px) 100vw, 548px" /></a><p id="caption-attachment-3386" class="wp-caption-text">Os URLs do Kibana podem ficar muito grandes. Especialmente quando se trabalha com visualizações Vega. Isso provavelmente resultará em mensagens de erro para usuários do Internet Explorer. Usar o armazenamento na sessão corrigirá esse problema para esses usuários.</p></div></p>
<p><strong>timepicker:quickRanges</strong><br />
<div id="attachment_3387" style="width: 702px" class="wp-caption alignnone"><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/timepicker.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3387" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/timepicker.png" alt="" width="692" height="496" class="size-full wp-image-3387" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/timepicker.png 692w, https://blog.remontti.com.br/wp-content/uploads/2019/08/timepicker-300x215.png 300w" sizes="auto, (max-width: 692px) 100vw, 692px" /></a><p id="caption-attachment-3387" class="wp-caption-text">As opções padrão no Seletor de Tempo são menos que ideais, para a maioria dos casos de uso de registro e monitoramento. Felizmente, o Kibana agora permite que você personalize o selecionador de tempo. Nossas configurações recomendadas podem ser encontradas abaixo.</p></div><br />
timepicker:</p>
<pre class="remontti-code">[
  {
    &quot;from&quot;: &quot;now-15m&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 15 minutes&quot;
  },
  {
    &quot;from&quot;: &quot;now-30m&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 30 minutes&quot;
  },
  {
    &quot;from&quot;: &quot;now-1h&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 1 hour&quot;
  },
  {
    &quot;from&quot;: &quot;now-2h&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 2 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-4h&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 4 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-12h&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 12 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-24h&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 24 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-48h&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 48 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-7d&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 7 days&quot;
  },
  {
    &quot;from&quot;: &quot;now-30d&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 30 days&quot;
  },
  {
    &quot;from&quot;: &quot;now-60d&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 60 days&quot;
  },
  {
    &quot;from&quot;: &quot;now-90d&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Last 90 days&quot;
  },
  {
    &quot;from&quot;: &quot;now/d&quot;,
    &quot;to&quot;: &quot;now/d&quot;,
    &quot;display&quot;: &quot;Today&quot;
  },
  {
    &quot;from&quot;: &quot;now/w&quot;,
    &quot;to&quot;: &quot;now/w&quot;,
    &quot;display&quot;: &quot;This week&quot;
  },
  {
    &quot;from&quot;: &quot;now/M&quot;,
    &quot;to&quot;: &quot;now/M&quot;,
    &quot;display&quot;: &quot;This month&quot;
  },
  {
    &quot;from&quot;: &quot;now/d&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Today so far&quot;
  },
  {
    &quot;from&quot;: &quot;now/w&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Week to date&quot;
  },
  {
    &quot;from&quot;: &quot;now/M&quot;,
    &quot;to&quot;: &quot;now&quot;,
    &quot;display&quot;: &quot;Month to date&quot;
  }
]</pre>
<p>Por padrão, os dados de fluxo serão recebidos nas portas padrão para cada tipo de fluxo. Você pode alterar os IPs e as portas usadas modificando as seguintes variáveis em /etc/systemd/system/logstash.service.d/elastiflow.conf.</p>
<p>Se tiver alguma dificuldade verifique os logs do logstash:</p>
<pre class="remontti-code"># tail -f /var/log/logstash/logstash-plain.log</pre>
<p>Use também o tcpdum para verificar se seu roteador está enviando os flows.</p>
<p>Se você instalou não quer atualizar com medo de algum &#8220;BO&#8221; recomendo você desativar o repositório do elastic:</p>
<pre class="remontti-code"># vim /etc/apt/sources.list.d/elastic-7.x.list</pre>
<p>Comente &#8220;# deb https://artifacts.elastic.co/packages/7.x/apt stable main&#8221;</p>
<p><strong>Portas Padrões</strong><br />
Netflow &#8211; IPv4: 2055<br />
Netflow &#8211; IPv6: 52055<br />
sFlow   &#8211; IPv4: 6343<br />
sFlow   &#8211; IPv6: 56343<br />
IPFIX   &#8211; IPv4: 4739<br />
IPFIX   &#8211; IPv6: 54739<br />
Pode ser alterado </p>
<h3>BÔNUS &#8211; Enviando dados do RouterOS/Mikrotik</h3>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/ElastiFlow-Mikrotik.png" data-rel="lightbox-gallery-zTYJ4jkJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/ElastiFlow-Mikrotik.png" alt="" width="962" height="585" class="alignnone size-full wp-image-3389" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/ElastiFlow-Mikrotik.png 962w, https://blog.remontti.com.br/wp-content/uploads/2019/08/ElastiFlow-Mikrotik-300x182.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/ElastiFlow-Mikrotik-768x467.png 768w" sizes="auto, (max-width: 962px) 100vw, 962px" /></a><br />
Onde ether1 é a interface que vai ser monitorada, no meu caso estou coletando 4k, isso vai depender muito do hardware da sua máquina, e 200.200.200.200 seria o IP do nosso servidor.</p>
<pre class="remontti-code">/ip traffic-flow
set cache-entries=4k enabled=yes interfaces=ether1
/ip traffic-flow target
add dst-address=200.200.200.200 version=5</pre>
<p>Como não tem restrição ao acesso a porta 5601 é interessante você aplicar um firewall em seu servidor<br />
<a href="https://blog.remontti.com.br/2435" rel="noopener noreferrer" target="_blank">Modelo simples e funcional de Firewall com iptables</a></p>
<p>Parabéns! Você concluiu! Gostou?</p>
<p><center><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></center></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fonte:<br />
<a href="https://github.com/robcowart/elastiflow/blob/master/INSTALL.md" rel="noopener noreferrer" target="_blank">https://github.com/robcowart/elastiflow/blob/master/INSTALL.md</a><br />
<a href="https://www.elastic.co/guide/en/kibana/current/deb.html" rel="noopener noreferrer" target="_blank">https://www.elastic.co/guide/en/kibana/current/deb.html</a></p>
<p>O post <a href="https://blog.remontti.com.br/3368">Instalação do Elastic Stack 7 + ElastiFlow no Debian 10 Buster (Bônus Traffic Flow Mikrotik/RouterOS)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/3368/feed</wfw:commentRss>
			<slash:comments>49</slash:comments>
		
		
			</item>
	</channel>
</rss>
