openEuler 22.03 配置 syslog 发送到远程服务器

一、查看当前rsyslog服务状态

首先确认rsyslog服务是否运行,以及配置文件位置:

# 查看rsyslog服务状态
systemctl status rsyslog

# 确认配置文件位置(欧拉22.03通常使用此路径)
ls /etc/rsyslog.conf
二、备份原始配置文件

修改配置前先备份,避免配置错误导致服务异常:

cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
三、修改rsyslog配置文件

编辑rsyslog主配置文件,添加远程日志服务器配置:

vi /etc/rsyslog.conf

在文件中找到以下行(通常在文件末尾附近),或直接在合适位置添加配置:

# 允许UDP协议发送日志(默认已启用,若注释请取消)
$ModLoad imudp
$UDPServerRun 514

# 允许TCP协议发送日志(可选,若需要TCP传输则取消注释)
# $ModLoad imtcp
# $InputTCPServerRun 514

# 配置发送所有日志到远程服务器(端口默认514)
*.* @192.168.22.2:514

# 或者按日志级别过滤发送(示例:仅发送警告及以上级别日志)
# *.warning;*.err;*.crit;*.alert;*.emerg @192.168.22.2:514

配置说明

  • *.*:表示所有日志级别和设施(第一个*为设施,第二个*为级别)
  • @:使用UDP协议发送(若用TCP则改为@@
  • 192.168.22.2:514:远程服务器IP和端口(端口默认514可省略)
四、重启rsyslog服务使配置生效
# 重启rsyslog服务
systemctl restart rsyslog

# 检查服务状态确保启动成功
systemctl status rsyslog

# 设置服务开机自启(可选)
systemctl enable rsyslog
五、验证日志是否成功发送
  1. 在远程服务器检查日志接收(需确保远程服务器已开启syslog服务并监听514端口):
# 远程服务器查看日志(示例路径,根据实际情况调整)
tail -f /var/log/messages
  1. 在本地服务器生成测试日志
logger "This is a test log from Euler 22.03"
  1. 检查防火墙设置(确保本地出站和远程入站规则允许514端口通信):
# 本地开放UDP 514端口(若防火墙启用)
firewall-cmd --add-port=514/udp --permanent
firewall-cmd --reload

# 远程服务器开放UDP 514端口(若防火墙启用)
firewall-cmd --add-port=514/udp --permanent
firewall-cmd --reload
六、高级配置(可选)
  1. 按日志类型过滤发送
# 仅发送系统日志(syslog)和认证日志(auth)
auth,system.* @192.168.22.2:514

# 排除特定日志类型
*.*;auth,authpriv.none @192.168.22.2:514
  1. 设置日志发送优先级
# 紧急级别日志立即发送
*.emerg @192.168.22.2:514
常见问题排查
  • 日志未发送:检查IP地址是否正确,远程服务器是否可达(ping 192.168.22.2)。
  • 端口被阻止:使用netstat -an | grep 514检查本地是否允许发送,远程是否监听。
  • 服务启动失败:查看rsyslog日志(journalctl -xe | grep rsyslog)排查配置错误。

完成以上步骤后,欧拉22.03系统的日志将自动发送到指定的远程服务器,便于集中管理和监控。

### 如何在 openEuler 22.03 SP1 中查看系统信息、日志或状态 #### 查看系统基本信息 可以通过 `cat /etc/os-release` 命令来获取系统的版本及相关信息。此命令会显示操作系统的名称、版本号以及其他元数据,例如: ```bash [root@openeuler22-01:/root]# cat /etc/os-release NAME="openEuler" VERSION="22.03 (LTS-SP4)" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 (LTS-SP4)" ANSI_COLOR="0;31" ``` 上述方法适用于确认当前运行的操作系统及其具体版本[^1]。 #### 查看硬件资源状况 为了了解服务器上的 CPU 和内存情况,可以分别执行以下两个常用命令: - 使用 `top` 或者更友好的界面工具 `htop` 来动态监控进程以及CPU和RAM占用率; - 执行 `free -h` 可以简洁明了地展示物理内存与交换空间的状态。 对于磁盘使用量,则推荐利用 `df -hT` 显示各分区大小及文件系统类型;而针对某个目录下的详细容量分布则适合采用 `du -sh * | sort -rh` 进行分析[^2]。 #### 查询服务运行状态和服务管理 如果要检查某项特定的服务是否正在运行或者其启动失败的原因所在,应该查阅对应的应用程序的日志记录。大多数情况下,默认路径位于 `/var/log/` 下面的不同子目录里。比如 MySQL 的错误日记通常保存为 `/var/log/mysqld.log` 文件形式存在。 另,在 systemd 控制的环境中(如 modern Linux distributions including OpenEuler),还可以通过如下指令快速定位问题根源: ```bash systemctl status <service_name> journalctl -u <service_name> --since today ``` #### 定期维护建议 保持良好的习惯定期审查全局范围内的警告消息可以帮助提前现潜在隐患。这包括但不限于每天定时翻阅 `/var/log/messages`, `/var/log/syslog`(取决于行版配置) 等综合型日志文档中的异常条目[^3]。 ```python import subprocess def check_system_info(): try: result = subprocess.run(['cat', '/etc/os-release'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) if result.returncode != 0: raise Exception(f"Error occurred while fetching system info: {result.stderr}") os_release_data = {} for line in result.stdout.splitlines(): key_value_pair = line.strip().split('=') if len(key_value_pair) >= 2: os_release_data[key_value_pair[0]] = '='.join(key_value_pair[1:]) return f"{os_release_data.get('NAME')} Version:{os_release_data.get('VERSION')}" except Exception as e: return str(e) print(check_system_info()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑上单车去旅行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值