Logstash - Entradas Suportadas
O Logstash oferece suporte a uma grande variedade de registros de diferentes fontes. Ele está trabalhando com fontes famosas, conforme explicado abaixo.
Colete registros de métricas
Os eventos do sistema e outras atividades de tempo são registrados nas métricas. O Logstash pode acessar o log das métricas do sistema e processá-las usando filtros. Isso ajuda a mostrar ao usuário o feed ao vivo dos eventos de maneira personalizada. As métricas são liberadas de acordo com oflush_interval settingde filtro de métricas e por padrão; está definido para 5 segundos.
Estamos rastreando as métricas de teste geradas pelo Logstash, reunindo e analisando os eventos em execução por meio do Logstash e mostrando o feed ao vivo no prompt de comando.
logstash.conf
Essa configuração contém um plug-in gerador, que é oferecido pelo Logstash para métricas de teste e define a configuração de tipo como “gerado” para análise. Na fase de filtragem, estamos apenas processando as linhas com um tipo gerado usando a instrução 'if'. Em seguida, o plugin de métricas conta o campo especificado nas configurações do medidor. O plug-in de métricas libera a contagem a cada 5 segundos especificado noflush_interval.
Por último, a saída dos eventos de filtro para uma saída padrão como prompt de comando usando o codec pluginpara formatação. O plugin Codec está usando o valor [ events ] [ rate_1m ] para gerar os eventos por segundo em uma janela deslizante de 1 minuto.
input {
generator {
type => "generated"
}
}
filter {
if [type] == "generated" {
metrics {
meter => "events"
add_tag => "metric"
}
}
}
output {
# only emit events with the 'metric' tag
if "metric" in [tags] {
stdout {
codec => line { format => "rate: %{[events][rate_1m]}"
}
}
}
Executar Logstash
Podemos executar o Logstash usando o seguinte comando.
>logsaths –f logstash.conf
stdout (prompt de comando)
rate: 1308.4
rate: 1308.4
rate: 1368.654529135342
rate: 1416.4796003951449
rate: 1464.974293984808
rate: 1523.3119444107458
rate: 1564.1602979542715
rate: 1610.6496496890895
rate: 1645.2184750334154
rate: 1688.7768007612485
rate: 1714.652283095914
rate: 1752.5150680019278
rate: 1785.9432934744932
rate: 1806.912181962126
rate: 1836.0070454626025
rate: 1849.5669494173826
rate: 1871.3814756851832
rate: 1883.3443123790712
rate: 1906.4879113216743
rate: 1925.9420717997118
rate: 1934.166137658981
rate: 1954.3176526556897
rate: 1957.0107444542625
Colete logs do servidor web
Os servidores da Web geram um grande número de logs sobre o acesso do usuário e erros. O Logstash ajuda a extrair os logs de diferentes servidores usando plug-ins de entrada e armazená-los em um local centralizado.
Estamos extraindo os dados do stderr logs do servidor Apache Tomcat local e armazenando-o no output.log.
logstash.conf
Este arquivo de configuração do Logstash direciona o Logstash para ler os logs de erro do apache e adicionar uma tag chamada “apache-error”. Podemos simplesmente enviá-lo para o output.log usando o plugin de saída de arquivo.
input {
file {
path => "C:/Program Files/Apache Software Foundation/Tomcat 7.0 /logs/*stderr*"
type => "apache-error"
}
}
output {
file {
path => "C:/tpwork/logstash/bin/log/output.log"
}
}
Executar Logstash
Podemos executar o Logstash usando o seguinte comando.
>Logstash –f Logstash.conf
Amostra de registro de entrada
Esta é a amostra stderr log, que é gerado quando os eventos do servidor ocorrem no Apache Tomcat.
C: \ Arquivos de programas \ Apache Software Foundation \ Tomcat 7.0 \ logs \ tomcat7-stderr.2016-12-25.log
Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-9999"]
Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 823 ms
output.log
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
"@version":"1","host":"Dell-PC",
"message":"Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start\r",
"type":"apache-error","tags":[]
}
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
"@version":"1","host":"Dell-PC",
"message":"INFO: Starting ProtocolHandler [
\"ajp-bio-8009\"]\r","type":"apache-error","tags":[]
}
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
"@version":"1","host":"Dell-PC",
"message":"Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start\r",
"type":"apache-error","tags":[]
}
{
"path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
"@version":"1","host":"Dell-PC",
"message":"INFO: Server startup in 823 ms\r","type":"apache-error","tags":[]
}
Colete registros de fontes de dados
Para começar, vamos entender como configurar o MySQL para registro. Adicione as seguintes linhas emmy.ini file do servidor de banco de dados MySQL em [mysqld].
No Windows, está presente no diretório de instalação do MySQL, que está em -
C:\wamp\bin\mysql\mysql5.7.11
No UNIX, você pode encontrá-lo em - /etc/mysql/my.cnf
general_log_file = "C:/wamp/logs/queries.log"
general_log = 1
logstash.conf
Neste arquivo de configuração, o plugin de arquivo é usado para ler o log do MySQL e gravá-lo no ouput.log.
input {
file {
path => "C:/wamp/logs/queries.log"
}
}
output {
file {
path => "C:/tpwork/logstash/bin/log/output.log"
}
}
queries.log
Este é o log gerado pelas consultas executadas no banco de dados MySQL.
2016-12-25T13:05:36.854619Z 2 Query select * from test1_users
2016-12-25T13:05:51.822475Z 2 Query select count(*) from users
2016-12-25T13:05:59.998942Z 2 Query select count(*) from test1_users
output.log
{
"path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:05:37.905Z",
"@version":"1","host":"Dell-PC",
"message":"2016-12-25T13:05:36.854619Z 2 Query\tselect * from test1_users",
"tags":[]
}
{
"path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:05:51.938Z",
"@version":"1","host":"Dell-PC",
"message":"2016-12-25T13:05:51.822475Z 2 Query\tselect count(*) from users",
"tags":[]
}
{
"path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:06:00.950Z",
"@version":"1","host":"Dell-PC",
"message":"2016-12-25T13:05:59.998942Z 2 Query\tselect count(*) from test1_users",
"tags":[]
}