rsyslog官方文档_sshsecureshellclient

rsyslog官方文档_sshsecureshellclientrsyslog1.rsyslog介绍2.使用rsyslog1.rsyslog介绍Rsyslog是一个开源软件实用程序,用于UNIX和类Unix计算机系统,用于在IP网络中转发日志消息,收集日志。它实现了基本的syslog协议,通过基于内容的过滤,丰富的过滤功能,灵活的配置选项扩展了它,并添加了诸如使用TCP进行传输等功能。Rsyslog的全称是rocket-fastsystem…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1. rsyslog介绍

Rsyslog的全称是 rocket-fast system for log,它提供了高性能,高安全功能和模块化设计。rsyslog能够接受从各种各样的来源,将其输入,输出的结果到不同的目的地。rsyslog可以提供超过每秒一百万条消息给目标文件。

特点:

  • 多线程
  • 可以通过许多协议进行传输UDP,TCP,SSL,TLS,RELP;
  • 直接将日志写入到数据库;
  • 支持加密协议:ssl,tls,relp
  • 强大的过滤器,实现过滤日志信息中任何部分的内容
  • 自定义输出格式;

配置文件:

配置文件/etc/rsyslog.conf主要有3个部分

  • MODULES :模块
  • GLOBAL DRICTIVES :全局设置
  • RULES:规则

RULEs:

facitlity.priority          Target

auth         #pam产生的日志,认证日志
authpriv     #ssh,ftp等登录信息的验证信息,认证授权认证
cron         #时间任务相关
kern         #内核
lpr          #打印
mail         #邮件
mark(syslog) #rsyslog服务内部的信息,时间标识
news         #新闻组
user         #用户程序产生的相关信息
uucp         #unix to unix copy, unix主机之间相关的通讯
local 1~7    #自定义的日志设备
===============================================================
#priority: 级别日志级别:
=====================================================================
debug           #有调式信息的,日志信息最多
info            #一般信息的日志,最常用
notice          #最具有重要性的普通条件的信息
warning, warn   #警告级别
err, error      #错误级别,阻止某个功能或者模块不能正常工作的信息
crit            #严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert           #需要立刻修改的信息
emerg, panic    #内核崩溃等严重信息
###从上到下,级别从低到高,记录的信息越来越少,如果设置的日志内性为err,则日志不会记录比err级别低的日志,只会记录比err更高级别的日志,也包括err本身的日志。
=====================================================================
Target:
  #文件, 如/var/log/messages
  #用户, root,*(表示所有用户)
  #日志服务器,@172.16.22.1
  #管道        | COMMAND

2. 使用rsyslog实现日志转发

2.1 搭建服务

环境:

系统 Redhat7.0
发送服务器:客户端 192.168.157.60
收集服务器:服务端 192.168.157.61

//关闭服务端和客户端防火墙、selinux

[root@send ~]# setenforce 0
[root@send ~]# systemctl stop firewalld
[root@send ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@send ~]# systemctl mask firewalld
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
#服务端一样

//修改客户端配置文件,并启动服务

[root@send ~]# vim /etc/rsyslog.conf 
#将下面四行前的注释取消掉
$ModLoad imudp		
$UDPServerRun 514	
$ModLoad imtcp		
$InputTCPServerRun 514

#添加下列内容
$template myFormat,"%timestamp% %fromhost-ip% %msg%\n"
$ActionFileDefaultTemplate myFormat

#修改接收方IP(服务端),一个@表示TCP传输,两个@表示UDP传输
*.info;mail.none;authpriv.none;cron.none              @@192.168.157.61:514

[root@send ~]# systemctl start rsyslog

//修改服务端配置文件,并启动服务

[root@accept ~]# vim /etc/rsyslog.conf 
#将下面四行前的注释取消掉
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
*.info;mail.none;authpriv.none;cron.none                /data/log/messages

#添加以下内容
$AllowedSender tcp, 192.168.157.0/24
//允许 157.0网段内的主机以tcp协议来传输

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

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

[root@accept ~]# systemctl start rsyslog

//在服务端创建/data/log目录,以接受大量日志信息,配置文件中的路径应当与该路径一致

[root@accept ~]# mkdir -pv /data/log
[root@accept ~]# touch messages
*.info;mail.none;authpriv.none;cron.none               /data/log/messages

[root@accept ~]# systemctl restart rsyslog

//在服务端利用tree命令查看/data/log的结构

[root@accept ~]# tree /data/log/
/data/log/
├── 192.168.157.60
│   └── 192.168.157.60_2019-05-10.log
└── messages

1 directory, 2 files

2.2 验证

验证一:
#在客户端的终端命令行输入:

[root@send ~]# logger "I'm very happy"

#在服务端查看日志文件:

[root@accept ~]# tail -f /data/log/192.168.157.60/192.168.157.60_2019-05-10.log 
......省略了其他日志信息......
May 10 18:14:09 send root: I'm very happy

验证二:
#在客户端使用ssh协议登录系统:

Last login: Fri May 10 22:11:54 2019 from 192.168.157.1
[root@send ~]# 

#在服务端查看日志信息:

[root@accept ~]# tail -f /data/log/192.168.157.60/192.168.157.60_2019-05-10.log 
......省略了其他信息......
May 10 22:20:33 send sshd[14047]: Accepted password for root from 192.168.157.1 port 53248 ssh2
......省略了其他信息......
May 10 22:20:34 send sshd[14047]: pam_unix(sshd:session): session opened for user root by (uid=0)

3. 将日志信息存储至MySQL数据库中

环境

系统 Redhat
客户端 192.168.157.60
服务端 192.168.157.61

3.1 服务端配置

//安装MySQL
点击查看MySQL安装

//安装rsyslog+MySQL的连接驱动

[root@accept ~]# yum -y install rsyslog-mysql
[root@accept ~]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so		#模块
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql	#创建rsyslog存放日志的表结构的sql语句

//查看mysql数据库,发现没有日志数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.09 sec)

//导入日志文件的sql脚本,生成日志文件的数据库

[root@accept ~]# mysql </usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 
#此文件可以rpm -ql rsyslog-mysql查看

//再进入数据库查看

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use Syslog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)

mysql> 

//授权一个用户给rsyslog访问数据库

mysql> grant all on Syslog.* to 'rsysloguser'@'127.0.0.1' identified by 'rsyslogpass';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

//修改主配置文件

[root@accept ~]# vim /etc/rsyslog.conf 
#在rules里添加下面内容。
#并将其他规则注释(可选)
$ModLoad ommysql 	//打开连接mysql的模块
*.*                      :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass
//这行表示把所有的设施的所有日志都记录到数据库服务器中的Syslog数据库中,以rsysloguser用户,rsyslogpass密码访问数据库

3.2 客户端验证

客户端配置文件不需要修改,只要能和服务端通信即可,配置参考第2节日志转发。
//验证:
在客户端命令行输入:”This is a test”

[root@send ~]# logger 'THIS IS A TEST'
[root@accept ~]# mysql 
mysql> use Syslog;
mysql> select * from SystemEvents\G;


*************************** 17. row ***************************
            ID: 17
    CustomerID: NULL
    ReceivedAt: 2019-05-10 23:15:07
DeviceReportedTime: 2019-05-10 23:15:06
          Facility: 1
          Priority: 5
          FromHost: send
           Message:  THIS IS A TEST
        NTSeverity: NULL
        Importance: NULL
       EventSource: NULL
         EventUser: NULL
     EventCategory: NULL
           EventID: NULL
   EventBinaryData: NULL
      MaxAvailable: NULL
         CurrUsage: NULL
          MinUsage: NULL
          MaxUsage: NULL
        InfoUnitID: 1
         SysLogTag: root:
      EventLogType: NULL
   GenericFileName: NULL
          SystemID: NULL
17 rows in set (0.00 sec)

总结:rsyslog支持日志转发,也支持将日志信息存储到mysql数据库,并且发送速度极快。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189929.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • signature=624b2ab6df2ed724d785f89ffa77adce,CiteSeerX — Approved memorandum with signature is on file…

    signature=624b2ab6df2ed724d785f89ffa77adce,CiteSeerX — Approved memorandum with signature is on file…Abstract•BrowardPuertoRican/Hispanicstudents’meanCompositescoresmatchedorsurpassedPuertoRican/Hispanicstudentsinthestateandnationwideineveryarea.•MexicanAmerican/Chicano,Afri…

    2022年5月31日
    41
  • 如何学习嵌入式Linux_韦东山

    如何学习嵌入式Linux_韦东山我在100ASK_IMX6ULL售后群里,发现很多初学者只有单片机基础,甚至没有单片机基础。在学习Linux时,对很多概念比较陌生,导致不知道学什么,也不知道学了之后有什么用。所以我趁着五一假期,编写此文。从事嵌入式Linux培训12年来,我们写过很多《关于如何学习linux》的文章,这是最新的,本文将不断更新。第1章单片机和Linux的区别1.1有哪些产品使用单片机或Linux所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于

    2022年5月1日
    35
  • 8psk带宽计算_采用8PSK系统传输4800bps数据。 (1)信道带宽的最小理论值是多少? mpsk 信号可以采用差…

    8psk带宽计算_采用8PSK系统传输4800bps数据。 (1)信道带宽的最小理论值是多少? mpsk 信号可以采用差…码元速率为boud=4800/log8=1600Boud/s最小带宽为boud/2=1600/2=800HZ带宽不变,信息加倍,可以采用每个码元所含信息量为4bit的调制方式,如采用16QAM调制。带宽不变的情况下,信息速率增大,误码率相同的情况下,要增加信号的发送功率。给分吧,谢谢如同模拟调制,数字调制也可分为频率调制、相位调制和幅度调制,性能各有千秋。由于频率、相位调制对噪声抑制更好,因此成为…

    2022年10月10日
    0
  • 在pycharm中使用github「建议收藏」

    在pycharm中使用github「建议收藏」环境:PyCharm+git2.8+github账户+windows7/10一、首先你得有个github账号(温馨提示,记不住密码的同学可以拿个小本本记一下密码嗷。)二、在pycharm中配置github点击File点击Settings点击Versioncontrol点击Github点击右边的+号输入账号密码点击Login可以勾选下面的ssh传输方式三、…

    2022年8月28日
    2
  • 无人机——舵机篇(七)[通俗易懂]

    无人机——舵机篇(七)[通俗易懂]文章目录1.舵机的基本知识2.舵机的组成3.舵机的工作原理1.舵机的基本知识舵机就是一种有输出轴的小传动装置。这个输出轴能够通过向舵机输入一个编码信号而定位到我们指定的角度位置。只要这个编码信号存在于信号输入线上,舵机就将保持输出轴的当前角度位置不变。一旦编码信号改变,输出轴的角度位置也将跟着改变。实际中,舵机被用于控制无人机升降尾翼、方向尾翼等的位置。

    2022年6月11日
    280
  • 刷屏专用超长复制_跪求超超长刷屏字符剑。。

    该楼层疑似违规已被系统折叠隐藏此楼查看此楼….飘过…..飘过……飘过…….飘过……..飘过……..飘过……..飘过……..飘过…….飘过……飘过…..飘过….飘过…飘过..飘过.飘过.飘过.飘过..飘过…飘过….飘过…..飘过……飘过…….飘过……..飘过……..飘过….

    2022年4月8日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号