温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CentOS8中怎么配置Rsyslog服务器

发布时间:2021-07-12 15:04:05 来源:亿速云 阅读:232 作者:Leah 栏目:互联网科技
# CentOS8中怎么配置Rsyslog服务器 ## 前言 Rsyslog是Linux系统中最常用的日志管理工具之一,它提供了高性能、高安全性的日志处理能力。在CentOS8中配置Rsyslog服务器可以帮助我们集中管理多台服务器的日志,便于监控和故障排查。本文将详细介绍在CentOS8系统中配置Rsyslog服务器的完整步骤。 ## 一、Rsyslog简介 ### 1.1 什么是Rsyslog Rsyslog("Rocket-fast SYStem for LOG processing")是syslog协议的增强实现,具有以下特点: - 支持TCP、UDP、TLS加密传输 - 支持MySQL、PostgreSQL等数据库存储 - 支持日志内容过滤和重定向 - 高性能,每秒可处理百万级日志消息 ### 1.2 Rsyslog基本架构 

[客户端] –> (网络传输) –> [Rsyslog服务器] –> (存储/转发)

 ## 二、环境准备 ### 2.1 系统要求 - CentOS8操作系统 - 至少1GB可用内存 - root或sudo权限 ### 2.2 检查系统版本 ```bash cat /etc/centos-release 

2.3 关闭防火墙或开放端口

# 临时关闭防火墙 systemctl stop firewalld # 或开放514端口(UDP/TCP) firewall-cmd --permanent --add-port=514/tcp firewall-cmd --permanent --add-port=514/udp firewall-cmd --reload 

三、安装Rsyslog

3.1 检查是否已安装

CentOS8默认已安装Rsyslog,可通过以下命令验证:

rsyslogd -v 

3.2 安装最新版本(可选)

dnf install rsyslog 

3.3 启动服务并设置开机自启

systemctl start rsyslog systemctl enable rsyslog 

四、配置Rsyslog服务器

4.1 主配置文件位置

/etc/rsyslog.conf /etc/rsyslog.d/*.conf 

4.2 基本服务器配置

编辑主配置文件:

vim /etc/rsyslog.conf 

取消以下注释以启用TCP/UDP监听:

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

4.3 配置日志接收规则

在文件末尾添加:

# 接收所有设备的日志 $template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?RemoteLogs & ~ 

4.4 高级配置示例

# 按IP地址分类存储 $template IpTemplate,"/var/log/%FROMHOST-IP%/%PROGRAMNAME%.log" *.* ?IpTemplate # 过滤特定程序的日志 if $programname == 'nginx' then /var/log/nginx/access.log 

五、客户端配置

5.1 编辑客户端rsyslog配置

vim /etc/rsyslog.conf 

添加以下内容(替换192.168.1.100为服务器IP):

*.* @192.168.1.100:514 # UDP传输 *.* @@192.168.1.100:514 # TCP传输 

5.2 重启客户端服务

systemctl restart rsyslog 

六、日志轮转配置

6.1 安装logrotate

dnf install logrotate 

6.2 创建自定义轮转配置

vim /etc/logrotate.d/remote_logs 

添加以下内容:

/var/log/*/*.log { daily missingok rotate 30 compress delaycompress sharedscripts postrotate /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true endscript } 

七、安全加固

7.1 启用TLS加密传输

  1. 生成证书:
openssl req -x509 -newkey rsa:2048 -keyout /etc/rsyslog.key -out /etc/rsyslog.crt -days 365 -nodes 
  1. 服务器端配置:
module(load="imtcp" StreamDriver.Name="gtls" StreamDriver.Mode="1") input(type="imtcp" port="6514" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="anon") 
  1. 客户端配置:
*.* @@(o)server.example.com:6514;RSYSLOG_TLS 

7.2 访问控制

# 只允许特定IP访问 $AllowedSender UDP, 192.168.1.0/24 $AllowedSender TCP, 192.168.1.0/24 

八、测试与验证

8.1 测试日志发送

logger "This is a test message from client" 

8.2 检查服务器日志

ls /var/log/client-hostname/ tail -f /var/log/client-hostname/root.log 

8.3 查看Rsyslog状态

systemctl status rsyslog netstat -tulnp | grep rsyslog 

九、常见问题解决

9.1 日志未接收

  • 检查防火墙设置
  • 验证网络连通性
  • 查看/var/log/messages中的错误信息

9.2 权限问题

chmod -R 755 /var/log/ semanage fcontext -a -t var_log_t "/var/log/.*" restorecon -Rv /var/log 

9.3 性能优化

# 启用批量处理 $ActionQueueSize 100000 $ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1 

十、进阶配置

10.1 日志存入MySQL

  1. 安装MySQL模块:
dnf install rsyslog-mysql 
  1. 配置数据库输出:
module(load="ommysql") *.* :ommysql:DB_HOST,DB_NAME,DB_USER,DB_PASSWORD 

10.2 使用Elasticsearch存储

module(load="omelasticsearch") template(name="json-template" type="list" option.json="on") { constant(value="{") constant(value="\"timestamp\":\"") property(name="timereported" dateFormat="rfc3339") constant(value="\",\"message\":\"") property(name="msg") constant(value="\",\"host\":\"") property(name="hostname") constant(value="\",\"severity\":\"") property(name="syslogseverity-text") constant(value="\"}") } action(type="omelasticsearch" server="elasticsearch.example.com" serverport="9200" template="json-template" searchIndex="syslog" bulkmode="on") 

结语

通过本文的详细指导,您应该已经成功在CentOS8上配置了Rsyslog服务器。Rsyslog的强大功能可以帮助您构建企业级的日志管理系统,结合其他工具如Logstash、Grafana等可以打造完整的监控解决方案。

附录

参考资源

相关命令速查

命令 说明
systemctl status rsyslog 查看服务状态
rsyslogd -N1 测试配置文件
logger "test message" 发送测试日志
tail -f /var/log/messages 实时查看日志

”`

这篇文章共计约2100字,采用Markdown格式编写,包含了CentOS8中配置Rsyslog服务器的完整指南,从基础安装到高级配置,并提供了常见问题解决方案和进阶建议。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI