一、部署架构图如下:
二、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