Conceitos básicos e uso simples dos serviços de processamento de dados Logstash (3)

Os principais conceitos do serviço de processamento de dados Logstash e seu uso simples

1. Conceitos principais do serviço Logstash

O Logstash pode formatar e filtrar os logs coletados e, finalmente, enviar os dados para o armazenamento do Elasticsearch.
insira a descrição da imagem aqui

O Logstash é dividido em três configurações:

  • Entrada: A fonte de dados de log, que pode ser stdin, file, tcp, redis, syslog, kafka, etc.
  • Filtro: Filtre e formate dados de log. Existem muitos plug-ins de filtro: regularização Grok, processamento de data e hora, codificação Json e modificação de dados Mutate.
  • Saída: Saída dos logs coletados para o armazenamento especificado, que pode ser Stdout, File, TCP, Redis, ES, etc.

2. Implante o Logstash e o uso básico

2.1. Implantar o Logstash

O pacote binário do Logstash não integra o jdk e precisa instalar o java1.8.

1.安装java环境
[root@elkstack-1 logstash]# yum -y install  java-1.8.0-openjdk

2.部署logstash
[root@elkstack-1 tools]# tar xf logstash-7.9.3.tar.gz -C /data/elk
[root@elkstack-1 elk]# mv logstash-7.9.3/ logstash

3.配置logstash服务启动脚本
[root@elkstack-1 logstash]# vim /usr/lib/systemd/system/logstash.service
[Unit]
Description=logstash
[Service]
ExecStart=/data/elk/logstash/bin/logstash
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target

4.启动logstash
[root@elkstack-1 logstash]# systemctl start logstash

2.2. Uso básico do Logstash

O Logstash adiciona três campos ao log por padrão.

"@timestamp" marca o momento em que o evento ocorreu

"host" marca o host onde ocorreu o evento

"tipo" marca o tipo exclusivo do evento

Parâmetros de formato de comando do Logstash.

-e: O arquivo de configuração em forma de string.

-f: Especifica o arquivo de configuração em execução.

-t: Verifique a sintaxe do arquivo de configuração.

Logstash pega logs de stdin e imprime em stdout

[root@elkstack-1 ~]# /data/elk/logstash/bin/logstash -e  'input{stdin{}}output{stdout{codec=>rubydebug}}'
······
hello jiangxl				#输入内容
{						#输出
    "@timestamp" => 2021-12-08T08:27:54.311Z,
       "message" => "hello jiangxl",
      "@version" => "1",
          "host" => "elkstack-1"
}

日志从标准输入中获取===>输出到标准输出
{
    "@timestamp" => 2021-12-08T08:32:38.781Z,
       "message" => "日志从标准输入\\xE9中获取存\\xE8===>输出到标准输出",
      "@version" => "1",
          "host" => "elkstack-1"
}

insira a descrição da imagem aqui

A string especificada após o comando logstash -e é na verdade um formato de arquivo de configuração, mas o conteúdo do arquivo de configuração é combinado em uma linha para execução. Nota: logstash -e só pode ser usado com sucesso sem configurar o diretório do arquivo de configuração logstash. Caso contrário , um erro será relatado ao usar este comando para simular entrada e saída de dados.

/data/elk/logstash/bin/logstash -e  'input{stdin{}}output{stdout{codec=>rubydebug}}'

等同于下面的logstash配置文件内容格式

input{
	stdin{
	}
}
filter {
}
output{
	stdout
	{
		codec=>rubydebug
	}
}

2.3. Configure o caminho do arquivo de configuração do logstash

1.配置logstash
[root@elkstack-1 logstash]# vim config/logstash.yml
pipeline:							#管道配置
  batch:		
    size: 125						#管道批处理大小
    delay: 5						#管道批处理延迟
pipeline.ordered: auto
#config.reload.automatic: false					#是否启用
#config.reload.interval: 3s
#http.enabled: true
path.config: /data/elk/logstash/conf.d				#配置文件路径
http.host: 0.0.0.0									#监听地址
http.port: 9600-9700								#使用的端口号
log.level: info										#日志级别
path.logs: /data/elk/logstash/logs					#日志存储路径

2.创建配置文件目录
[root@elkstack-1 logstash]# mkdir /data/elk/logstash/conf.d

3.重启logstash
[root@elkstack-1 logstash]# systemctl restart logstash

Acho que você gosta

Origin blog.csdn.net/weixin_44953658/article/details/123704789
Recomendado
Clasificación