rSyslog + logstash 安装部署 [多端口多目录]

syslog 部署

1. 修改syslog 配置文件

vi /etc/rsyslog.conf
添加:

$ModLoad imfile #装载imfile模块
$InputFileName /data/src/wb.log #syslog追加日志的文件
$InputFileFacility local1 #日志类型
$InputFileTag wbtag:  # 日志类型标签
$InputFileSeverity info #日志等级
$InputFileStateFile sssologs.log_state #定义记录偏移量数据文件名
$InputFilePollInterval 1 #检查日志文件间隔(秒)
$InputFilePersistStateInterval 1 #回写偏移量数据到文件间隔时间(秒)
$InputRunFileMonitor #激活读取,可以设置多组日志读取,每组结束时设置本参数。以示生效。

\# 接收日志的远程地址
local1.*                             @@IP:port

2. 启动服务

systemctl start rsyslog【.service】

3. 测试

echo >> /data/src/wb.log
查看 logstash 日志,数据已加载过来

logstash 部署

1. 文件解压

1.	解压:tar -xvf logstash-7.9.3.tar.gz -C /opt
2.	文件重命名:
	cd /usr/local/
	mv logstash-7.9.3 logstash

2. 配置文件修改

cd /usr/local/logstash/config
vi liufangyun.conf ,添加如下内容
input {
	# 配置多个即可
	syslog { 
		host => "0.0.0.0" 
		add_field => { 
			"[@metadata][company][name]" => "syslog-10514" 
		} 
		port => 10514 
		codec => plain { 
			charset => "UTF-8" 
		} 
	 } 

	syslog { 
		host => "0.0.0.0" 
		add_field => { 
			"[@metadata][company][name]" => "syslog-10515" 
		} 
		port => 10515 
		codec => plain { 
			charset => "UTF-8" 
		} 
	 } 
}


output {

	file{
		path => "/opt/boxdata/data/syslog/%{[@metadata][company][name]}/%{+YYYYMMdd}%{+HH}.log"
	}

}

3. 服务启动 [后台]

/usr/local/logstash/bin/logstash --path.settings /usr/local/logstash/config -f /usr/local/logstash/config/liufangyun.conf &

备注:logstash部分配置使用python 脚本生成


path = "D:/company/com-notes/project/smallbox2021.1.12/logstash_conf/input.txt"
with open(path,'a+') as f:
    for i in range(10514,10547):
        # input
        '''
        str1 = r"input { syslog { host => '0.0.0.0' type => 'syslog-"+ str(i) + r"' port => " + str(i) + r" codec => plain {charset => 'GB2312'}}}"
        print(str1)
        f.write(str1 + '\n')
        '''

        # filter

        str2 = rf"if[type] == \"syslog-{i}\" " \
                r"{" + '\n'\
                r"	mutate {" + '\n'\
                rf"		add_tag => [\"syslog-{i}\"]" + '\n'\
                r"	}" + '\n'\
                r"	ruby { " + '\n'\
                r"		code => \"event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)\" "  + '\n'\
                r"	}" + '\n' \
                r"	ruby {" + '\n'\
                r"		code => \"event.set('@timestamp',event.get('timestamp'))\"" + '\n'\
                r"	}" + '\n'\
                r"	mutate {" + '\n'\
                r"		remove_field => [\"timestamp\"]" + '\n'\
                r"	}" + '\n'                                                                                                                                                                                                                                                                                                                                                          r"}"
    
        # print(str2.replace('\\\"','"') + "\n")
        # f.write(str2.replace('\\\"','"') + '\n\n')


        # output

        str3 =rf"if \"syslog-{i}\" in [tags] "\
              r"{" + '\n'\
                r"	file{" + '\n'\
                rf"		path => \"/opt/boxdata/data/syslog/syslog-{i}/syslog_{i}"\
                r"_%{+YYYYMMdd}%{+HH}.log\"" + '\n'\
                r"	}" + '\n'\
                r"}"

        # print(str3.replace('\\\"','"') + '\n\n')
        f.write(str3.replace('\\\"','"') + '\n\n')

    f.close()

备注:logstash 监听接收32个端口详细配置文件网址

https://blog.csdn.net/a123147abc/article/details/112621210

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值