Logstash与Rsyslog安装配置指南

一、简介

Logstash 是一个开源的数据收集引擎,允许你从各种来源收集、解析和存储日志。Rsyslog 是一个高性能的日志处理工具,广泛用于系统日志收集和传输。将Logstash和Rsyslog结合使用,可以实现强大的日志收集、传输和分析功能。

二、Rsyslog的安装与配置

1. 安装Rsyslog

在大多数Linux发行版中,Rsyslog通常已经预装。如果没有,可以通过以下命令进行安装:

# 在Debian/Ubuntu系统上
sudo apt-get update
sudo apt-get install rsyslog

# 在CentOS/RHEL系统上
sudo yum update
sudo yum install rsyslog
​
 
 
2. 配置Rsyslog

配置文件通常位于 /etc/rsyslog.conf。以下是一个示例配置,用于接收和转发日志:

# 加载UDP和TCP的输入模块
module(load="imudp")
input(type="imudp" port="514")

module(load="imtcp")
input(type="imtcp" port="514")

# 将日志转发到远程Logstash服务器
*.* @@logstash_server:5044
​
 
 

确保Rsyslog服务启动并设置为开机启动:

sudo systemctl start rsyslog
sudo systemctl enable rsyslog
​
 
 

三、Logstash的安装与配置

1. 安装Logstash

首先,添加Elasticsearch源并安装Logstash:

# 在Debian/Ubuntu系统上
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update
sudo apt-get install logstash

# 在CentOS/RHEL系统上
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat <<EOF | sudo tee /etc/yum.repos.d/logstash.repo
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
sudo yum install logstash
​
 
 
2. 配置Logstash

Logstash的配置文件通常位于 /etc/logstash/conf.d/目录。创建一个新的配置文件,例如 /etc/logstash/conf.d/rsyslog.conf,并添加以下内容:

input {
  tcp {
    port => 5044
    codec => "json"
  }
  udp {
    port => 5044
    codec => "json"
  }
}

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGLINE}" }
    }
    date {
      match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "syslog-%{+YYYY.MM.dd}"
  }
  stdout { codec => rubydebug }
}
​
 
 
3. 启动Logstash

确保Logstash服务启动并设置为开机启动:

sudo systemctl start logstash
sudo systemctl enable logstash
posted @ 2025-05-09 10:06  kiyte  阅读(146)  评论(0)    收藏  举报