linux下日志收集服务器部署
最近在运维实施的过程中需要集中收集交换机日志,所以本人就研究了一下,发现系统的rsyslog服务还是能够满足日志收集的要求的,所以今天写了这篇文章,希望能帮助到大家,闲话少叙,接下来是正文。。。
注:本次收集的是H3C交换机系统日志,如果需要收集其他交换机或者服务器的日志, 在客户端会有些许的差别。
一、服务器务器端
服务器端使用了Cent OS 7.0,并使用其内置的rsyslog进程收集其他设备日志信息。
1,编辑rsyslog参数
打开 /etc/sysconfig/rsyslog
找到SYSLOGD_OPTIONS,加入参数"-m 0 -r"。
-m 0表示不在日志中添加时间戳消息
-r 表示允许接收外来日志消息。
[root@zabbixserver ~]# vim /etc/sysconfig/rsyslog

编辑rsyslog配置文件
2,[root@zabbixserver ~]# vim /etc/rsyslog.conf
打开 /etc/rsyslog.conf,找到如图所示位置。
删掉两个注释用的#号,使rsyslog在UDP的514端口上接收消息。也可以删掉TCP两行注释的#号,使用TCP的514端口。

在GLOBAL DIRECTIVE块之后添加以下的日志接收模板:
$template IpTemplate,"/var/log/%FROMHOST-IP%.log"
*.* ?IpTemplate
& ~
$template IpTemplate :指令让rsyslog进程把日志文件写入到/var/log/下指定的log文件中,指定的log文件使用客户端的IP地址命名。
& ~:表示的是重定向规则,告知rsyslog进程无需进一步处理日志消息,无需写入本地日志文件。

3,验证rsyslog配置
修改完配置文件,创建接收模板之后就可以重启rsyslog进程。
sudo service rsyslog restart
重启后可以使用netstat命令验证rsyslog进程的工作状态。
sudo netstat -tulpn | grep rsyslog

4,配置交换机(客户)端
交换机的配置相对简单,只需要两行命令即可。
需要进入到全局模式中,使用命令:
info-center enable
info-center loghost 192.168.1.10 facility local4
注:ip换成需要监控的主机就可以。
相关推荐
-
nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”
nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”2025-02-26 00:38:21 -
php之多级目录下查找文件中是否含有某个字符串功能实现2025-02-26 00:36:35
-
mysql 启动不了1067错误如何解决?2025-02-26 00:33:31
-
MySQL简单INSERT超慢原因排查2025-02-26 00:22:42
-
mysql分布式数据库的主要构架是什么?2025-02-26 00:06:23