• Linux 之 rsyslog


    Linux 之 rsyslog 系统日志转发

    一、rsyslog 介绍

     

      ryslog 是一个快速处理系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。

     

      特性:1.多线程

     

         2.支持加密协议:ssl,tls,relp

     

         3.mysql、oracle、postgreSQL

     

         4.等等..

     

     

     

    二、实践部署()

     

    2.1 环境图

     

      

     

    2.2.rsyslog server上部署操作

     

    安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:)

     

    [root@opm ~]# yum install rsyslog -y

     

    编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下

     

     View Code

     

     

    a.$AllowedSender tcp, 192.168.30.0/24 允许 30.0网段内的主机以tcp协议来传输

     

    b.$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"  定义模板,接受日志文件路径,区分了不同主机的日志

     

    c.:fromhost-ip, !isequal, "127.0.0.1" ?Remote 过滤server 本机的日志。

     

    d.$InputTCPServerRun 514 开启tcp,tcp和udp 可以共存的

     

     

    创建日志目录,尽量选择系统内比较大的区域创建,因为考虑到要存放很多服务器的日志文件。

     

    [root@opm ~]# mkdir -pv /data/log

     

    修改完成无误后,重启rsyslog服务,并查看监听端口,514 是否是tcp协议

     

    [root@opm ~]# systemctl restart rsyslog
    [root@opm ~]# netstat -aulntp | grep rsyslog
    tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      20228/rsyslogd      
    tcp6       0      0 :::514                  :::*                    LISTEN      20228/rsyslogd      
    udp        0      0 0.0.0.0:514             0.0.0.0:*                           20228/rsyslogd      
    udp6       0      0 :::514                  :::*                                20228/rsyslogd      

     

    2.3 客户端上操作:

     

    node1 上进行配置

     

    打开配置文件,老样子,先备份下在进行修改 /etc/rsyslog.conf,修改完记得要重启程序

     

     View Code

     

    ceph1 上进行配置,重启rsyslog程序

     

    打开配置文件/etc/rsyslog.conf

     

     View Code

     

    最后重启客户端上的rsyslog程序

     

     

    2.4 验证,在服务器上进到 /data/log 目录下,进行查看,会发现以下类似的文件结构

     

    复制代码
    [root@opm ~]# tree /data/log/
    /data/log/
    ├── 192.168.30.56
    │ └── 192.168.30.56_2016-05-05.log
    ├── 192.168.30.57
    │ └── 192.168.30.57_2016-05-05.log
    └── messages
    
    2 directories, 3 files
    复制代码

     

    messages:server 端的系统日志
    文件夹192.168.30.56: node1 客户端的日志
    文件夹192.168.30.57: ceph1 客户端的日志

     

    我们这里只查看node1 的系统日志吧。server 上进行操作

     

    复制代码
    [root@opm ~]# tail -f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log 
    May  5 20:50:45 node1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="9296" x-info="http://www.rsyslog.com"] exiting on signal 15.
    May  5 20:50:45 node1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="9334" x-info="http://www.rsyslog.com"] start
    May  5 20:50:45 node1 systemd: Stopping System Logging Service...
    May  5 20:50:45 node1 systemd: Starting System Logging Service...
    May  5 20:50:45 node1 systemd: Started System Logging Service.
    复制代码

     

    这里还可以在node1上在命令行里输入 logger “this is test ” 发送消息,server上进行查看下

     

    [root@opm ~]# tail -1f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log 
    May  5 20:52:46 node1 root: this is test

     

     

    三、总结

     

      以前不知道,总以为很难,现在感觉rsyslog还是挺简单的。不过简单是因为我们只是用了最简单方法,而且功能也是只用了转发,后续会尝试如何记录转发其它服务的日志,比如mysql、zabbix、以及nova 服务的日志。这些才是最终的目的。

     

     

    本文章属于原创,转载引用时请注明出处

     

  • 相关阅读:
    浏览器兼容
    jquery 判断网络资源,网络文件是否存在
    [Maven] 变态问题收集
    maven project中,在main方法上右键Run as Java Application时,提示错误:找不到或无法加载主类XXX.XXXX.XXX
    maven install Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project web_nanchang
    java 获取文件列表,并按照文件名称排序
    maven install时报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
    tar 命令基本使用(加密)
    八卦某 G 的前端开发方式及流程
    use mkisofs 重新打包beini,tinycore linux
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5463800.html
Copyright © 2020-2023  润新知