一、部署架构图如下:

logstash与Rsyslog安装配置_bootstrap

二、logstash安装配置

1.logstash安装配置

本文档安装部署使用的logstash安装包为logstash-7.6.0

2.logstash安装部署

2.1安装jdk

logstash安装依赖环境为jdk1.8,请先安装jdk1.8版本,并配置好环境变量

2.2安装

#上传安装包
rz -bey logstash-7.6.0.tar.gz
#解压
tar -zxvf logstash-7.6.0.tar.gz
#进入目录
cd logstash-7.6.0
#将2.3示例配置文件拷贝下来命名为logstash.conf,并修改相关IP地址,传到config目录下
#启动
nohup ./bin/logstash -f config/logstash.conf &

2.3配置文件

示例如下:

input {
  udp {
    port => 514
    type => syslog
  }
}

filter {

}

output {
  # stdout { codec => rubydebug }
  # stdout { codec => rubydebug }
  #file {
  #  path => "/export/home/tools/logstash/logstash-7.6.0/data/syslog-%{+YYYYMMdd}.txt"
  #}
   
   if[message] =~ /DispTitle/{ 
                kafka {
                bootstrap_servers => "180.114.8.105:9092"
                codec => json
                topic_id => "logstashtokafka_alarm"
        }                
        }
        else if [message] =~ /Telegraf - (cpu|mem|disk)/ {
        kafka {
                bootstrap_servers => "180.114.8.105:9092"
                codec => json
                topic_id => "logstashtokafka"
        }
    }
}

2.4 配置KAFKA

创建TOPIC

./kafka-topics.sh --create --zookeeper 192.168.21.65:2181,192.168.21.66:2181,192.168.21.67:2181 --replication-factor 3 --partitions 3 --topic logstashtokafka_alarm

消费消息

./kafka-console-consumer.sh --bootstrap-server 180.114.8.105:9092 --topic logstashtokafka_alarm --from-beginning

三、Rsyslog安装配置

1.检查是否已经安装

systemctl status rsyslog

如果没有安装

sudo apt-get install rsyslog

2.配置文件/etc/rsyslog.conf修改

2.1放开UDP接收的注释:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

2.2创建用于接收远程消息的模板:

创建一个模板,指示rsyslog服务器如何存储传入的syslog消息,在文件中的GLOBAL DIRECTIVES部分之前添加模板

$template RemoteLogs,"/var/log/remote/%FROMHOST-IP%/%PROGRAMNAME%.log"
*.* ?RemoteLogs

最后一行添加如下信息:

if $programname  contains  'hx_'  and $msg contains 'DispTitle' then  @192.168.21.68:514

if $programname == 'error' and $msg contains 'DispTitle' then  @192.168.21.68:514

配置完检查是否有语法错误

rsyslogd -f /etc/rsyslog.conf -N1

重启rsyslog

systemctl restart syslog