搭建H3C日志服务器,核心是把网络设备的Syslog日志统一收集、存储和告警,最常见的方案是Linux服务器部署Rsyslog或商业日志平台。 对于大多数中小型网络,一台双核CPU、4GB内存、500GB硬盘的服务器,配合免费的Rsyslog就能满足需求,如果你在纠结“h3c日志服务器怎么搭建”,下面这套从环境准备到设备对接的完整流程,可以直接照着做。
h3c日志服务器搭建前需要准备什么
动手之前先把需求和环境理清楚,否则后面对接设备时会反复改配置。
硬件与操作系统选型
日志服务器的性能取决于日志量和留存周期,行业内常见做法是:日志量每天低于1GB,用虚拟机分配2核CPU、4GB内存即可;每天日志量超过5GB,建议物理机加RAID磁盘阵列。硬盘容量按“每天日志量×留存天数×1.2”来估算,例如每天1GB日志留存90天,准备120GB可用空间比较稳妥。
操作系统优先选择CentOS 7.9或Ubuntu 20.04 LTS,这两个系统对Rsyslog支持完善,资料多,遇到问题容易排查,Windows Server也能做,但性能和稳定性不如Linux,只适合小规模临时用途。
端口规划与网络连通性
H3C设备默认通过UDP 514发送Syslog,有特殊需求可改用TCP 514或TLS 6514,提前在防火墙放行对应端口,并确认日志服务器IP能ping通所有网络设备,这里有个容易被忽略的点:如果交换机开启了日志源地址校验,服务器IP必须和配置里的source-ip一致。
Linux系统下搭建Rsyslog日志服务器
这是最常用的方案,免费、轻量、配置灵活,下面按步骤操作,每步都给出可直接执行的命令。
安装并启用Rsyslog服务
CentOS/RHEL系统:
yum install rsyslog -y systemctl enable rsyslog systemctl start rsyslog
Ubuntu/Debian系统:
apt install rsyslog -y systemctl enable rsyslog systemctl start rsyslog
判断是否安装成功,执行systemctl status rsyslog看到active(running)即可。
配置Rsyslog接收远程日志
编辑主配置文件/etc/rsyslog.conf,取消或添加以下模块加载:
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
如果防火墙开着,记得允许514端口访问,CentOS 7执行:
firewall-cmd --permanent --add-port=514/udp firewall-cmd --permanent --add-port=514/tcp firewall-cmd --reload
按设备IP分类存储日志
直接全部写进一个文件会非常难查,用模板按设备IP分目录,修改/etc/rsyslog.conf,在#### RULES ####区域前加入:
$template RemoteLogs,"/var/log/network/%fromhost-ip%/syslog.log"
然后把这行规则放到 rules 区最前面:
. ?RemoteLogs
重启服务后,每台设备会生成独立日志文件,验证方法:本地用logger发送测试日志,再查看/var/log/network/下是否有对应目录。
设置日志轮转防止磁盘占满
编辑/etc/logrotate.d/syslog,加入对应路径和策略,比如每天轮转,保留60天,压缩旧日志:
/var/log/network//.log {
daily
rotate 60
compress
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
endscript
}
测试配置是否生效,执行logrotate -d /etc/logrotate.d/syslog。
H3C设备侧发送日志到服务器的配置
服务器搭好后,需要把H3C交换机、路由器、防火墙的日志指向服务器,不同版本命令略有差异,这里用常见的Comware V7版本举例。
交换机路由器配置信息中心
进入系统视图,依次执行:
info-center enable info-center loghost 192.168.1.100 port 514
168.1.100换成你的日志服务器IP,默认发送informational级别日志,可保持默认,也可以根据需要改为info-source调整。
查看配置是否生效:
display loghost
正常会显示日志主机的IP、端口和状态。
防火墙与安全设备配置
H3C SecPath防火墙同样是Comware系统,命令一致,但要注意防火墙可能有安全策略限制出方向的UDP 514流量,需要在策略里放行日志流量。
验证日志是否成功到达服务器
服务器端执行:
tail -f /var/log/network/设备IP/syslog.log
然后去设备上触发一条日志,比如修改配置或ping测试,如果几分钟内文件出现新内容,说明链路正常,如果没收到,先检查网络通断和端口,执行tcpdump -i eth0 udp port 514抓包确认。
h3c日志服务器怎么搭建才能兼顾检索和告警
Rsyslog能满足存储需求,但检索和告警较弱,如果日志量较大或需要快速排查故障,可以在Rsyslog上层加ELK或Graylog,这里说两种常见优化路径。
ELK方案:Elasticsearch + Logstash + Kibana
Logstash从Rsyslog或直接监听514接收日志,处理后存入Elasticsearch,Kibana负责可视化检索。
优点是搜索速度快,支持复杂条件查询,适合多设备日志关联分析,缺点是内存占用高,一台8GB内存的服务器只能勉强跑动小型环境,行业共识认为,ELK适合日志量每天10GB以上的场景,否则性价比不高。
Graylog方案:更轻量的日志分析平台
Graylog内置搜索引擎和告警规则,配置比ELK简单,它依赖Elasticsearch和MongoDB,但整体资源占用低于纯ELK,实际测试中,4GB内存的服务器可以稳定处理每天2-3GB日志量。
要接入H3C设备,在Graylog的Inputs里创建Syslog UDP监听,端口设为514,然后到设备上配置loghost即可。
h3c日志服务器常见问题排查
搭建过程中遇到最多的情况集中在收不到日志、日志乱码、时间不同步这三个方面。
服务器收不到H3C设备日志
按顺序检查:
- 设备到服务器的网络是否通,用ping测试。
- 服务器514端口是否监听,执行
ss -lunp | grep 514。 - 防火墙是否放行UDP 514,临时执行
systemctl stop firewalld测试。 - H3C设备日志输出级别是否过低,用
display info-center查看。
含乱码或中文显示异常
H3C中文日志发送时编码不统一,可能导致乱码,解决办法是把设备日志语言设为英文:
language-mode en
或者在Rsyslog中强制指定字符集为UTF-8,多数情况下,直接让设备输出英文日志最省事。
日志时间比当前时间晚8小时
Syslog默认带的是设备本地时间,如果设备没配置NTP,时间会偏移,在H3C设备上配置NTP同步:
ntp-service enable ntp-service unicast-server 172.16.1.1
同时服务器端也同步NTP,保证两端时间一致,这样才能根据日志时间精确定位故障。
h3c日志服务器搭建的价格与选型参考
如果你不想自己折腾,可以考虑商业方案,价格因素也常被问到,搭建日志服务器,纯开源方案只需购买服务器硬件成本,软件完全免费,一台二手服务器价格在2000-5000元,企业级新服务器在1-2万元,如果使用商业日志平台,如奇安信、深信服、H3C自家SecCenter,价格通常在5万-20万元一年,包含硬件和授权,适合对合规性要求高的单位。
选型建议是:分支机构少、日志量不大,优先用Rsyslog;需要报表和审计,买商业平台;预算有限但要可视化,选Graylog搭在现有服务器上。
Q&A:关于H3C日志服务器搭建的常见疑问
h3c交换机怎么把日志转发到Windows服务器?
Windows服务器上安装Rsyslog的Windows版本或者3CDaemon等软件,监听514端口,H3C设备配置不变,还是info-center loghost 服务器IP port 514,但Windows原生没有可靠的Syslog服务,建议用SUA等第三方工具,Windows方案适合临时测试,长期运行还是建议Linux。
日志服务器磁盘满了会有什么影响?
Rsyslog无法写入新日志时,会直接把后续日志丢弃,不阻塞设备运行,但一旦磁盘满,所有设备的日志都会缺失,等于失去审计能力,因此必须配置logrotate,同时用监控工具盯磁盘使用率,超过80%就告警,清理时不要直接删文件,用logrotate自动轮转,避免服务异常。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/773955.html


