一、syslog协议

      linux系统中大部分日志是通过一种syslog机制产生和维护的。syslog是一种协议,分为客户端和服务器端。客户端产生日志,服务器端接收日志。并对接收的日志做出保存到文件或其他方式的处理。

在linux中,常见syslog服务器端程序是syslogd守护进程。这个程序从三个地方接收日志

【1】: unix域套接字 /dev/log

【2】:udp端口514

【3】:特殊的设备 /dev/klog

相应的,产生日志的消息的程序就需要通过上述三种方式写入消息。对于大多数程序而言就是向/dev/log这个套接字发送日志消息。

在unix操作系统上,syslog广泛用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一存储。或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具,安全管理系统,日志管理系统。 完整的syslog日志包含

【1】:产生日志的程序模块

【2】:严重性

【3】:时间

【4】:主机名或IP

【5】:进程名

【6】:进程ID

【7】:正文

在2001年定义的RFC3164中,描述了BSD syslog协议:http://www.ietf.org/rfc/rfc3164.txt,不过这个规范的很多内容都不是强制性的,常常是“建议”或者“约定”,也由于这个规范出的比较晚,很多设备并不遵守或不完全遵守这个规范。接下来就介绍一 下这个规范。

约定发送syslog的设备为Device,转发syslog的设备为Relay,接收syslog的设备为Collector。Relay本身也可以发送自身的syslog给Collector,这个时候它表现为一个Device。Relay也可以只转发部分接收到的syslog消息,这个时候它同时表现为Relay和Collector。

syslog消息发送到Collector的UDP 514端口,不需要接收方应答,RFC3164建议 Device 也使用514作为源端口。规定syslog消息的UDP报文不能超过1024字节,并且全部由可打印的字符组成。完整的syslog消息由3部分组成,分别是PRI、HEADER和MSG。大部分syslog都包含PRI和MSG部分,而HEADER可能没有。

二、配置syslog服务端和客户端,实现日志转发

      环境:ubantu16.04

     1、服务端

          <1> 修改/etc/default/rsyslog

              > 修改/etc/sysconf/syslog 修改SYSLOGD_OPTIONS为 "-r -x -m 0" 

-r表示允许接收外来的消息

-x表示不解析DNS,

-m 0表示时间戳标记间隔,

                        如果指定只接受某个或多个ip过来的日志,例"-s 168.1.1.1:168.1.1.2"

            > 修改/etc/rsyslog.conf

取消注释:

$ModLoad imudp.so
                         $UDPServerRun 514

在文件末尾添加这两句

syslog.info;syslog.!err;syslog.!crit;syslog.!alert       /var/log/mylog      #info信息记录到日志服务器的/var/log/mylog中
                        syslog.err                                           /var/log/testerror    #error信息记录到日志服务器的/var/log/testerror中

  2 、客户端

修改/etc/syslog.conf  添加

取消注释:

$ModLoad imudp.so
                         $UDPServerRun 514

在末尾增加这两句
                         syslog.info   @IP(IP为服务端IP地址)

3、服务重启

4、测试

  在客户端运行下面代码,可在服务端/var/log/mylog中看到日志已经存入到服务端

#include <stdio.h>
#include <syslog.h>
int main(int argc, char* argv[])
{//openlog(argv[0], LOG_CONS | LOG_PID, LOG_USER);int count = 0;while(count<5){syslog(LOG_SYSLOG|LOG_INFO, "%d:, syslog user test", count);count++;}//closelog();return 0;
}

【系统审计】syslog协议及其实现日志转发到syslog服务器相关推荐

  1. syslog日志转发

    因项目需要,需要将应用的数据库操作日志(比如数据库用户登录以及登陆后做的增删改查)转到rsyslog服务器上 1.应用使用的数据库为mysql,部署在linux上. 1-1.rsyslog客户端配置( ...

  2. 日志监控:syslog日志和snmptrap日志

    SNMP 的定义与组成 SNMP协议:简单网络管理协议,通过网络管理软件可以集中式对多台设备进行统一管理,并且可以直观的看到网络设备的运行情况.而且可以通过网管软件对设备进行相应的配置, SNMP 系 ...

  3. syslog打印不带等级_linux下syslog使用说明

    syslog 系统日志应用 1) 概述 syslog是Linux系统默认的日志守护进程.默认的syslog配置文件是/etc/syslog.conf文件.程序,守护进程和内核提供了访问系统的日志信息. ...

  4. 通过syslog协议发送日志信息到日志审计系统(配置logback-spring.xml方式)

    目录 业务背景 实现方式 验证 业务背景 通过syslog协议将业务系统的日志信息发送到日志审计系统,日志审计系统将对日志进行存储.监控和分析,保障业务系统资源安全. 实现方式 配置logback-s ...

  5. Syslog服务器配置和日志转发

    一.设置Linux日志服务器 在Linux中配置Rsyslog 在我们理解syslog之后,现在可以通过rsyslog来将一个Linux服务器配置为一个中心syslog服务器了,另外我们也将看到如何在 ...

  6. syslog协议发送本机日志到其他设备/服务器(winlinux)

    前言:syslog协议发送日志到其他服务器,前提需要发送日志的设备先产生日志,才能发送.本质上是自己先产生日志,syslog只是一个运输作用. 一:配置Windows发送syslog Windows系 ...

  7. ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理

    我们了解ABP框架内部自动记录审计日志和登录日志的,但是这些信息只是在相关的内部接口里面进行记录,并没有一个管理界面供我们了解,但是其系统数据库记录了这些数据信息,我们可以为它们设计一个查看和导出这些 ...

  8. 什么是日志审计系统?性价比较高的日志审计系统有哪些?

    日志审计系统主要是通过对信息系统中的各种信息进行采集分析和存储管理的,通过日志统计和汇总等功能实现对信息系统日志的全面审计:规范的日志管理对企业是否合规的评判具有重要帮助.中国互联网发展到今天,网络合 ...

  9. linux系统审计日志和数据库审计

    系统审计 系统审计日志 #将下面这段内容添加在/etc/profile文件末尾,完事后执行 source /etc/profile HISTSIZE=1000 HISTTIMEFORMAT=" ...

最新文章

  1. 从芯片到AI智能芯片,一文了解它的前世今生
  2. oracle 创建nchar类型,nchar类型的用法!
  3. BZOJ[1009] [HNOI2008]GT考试
  4. java基础集合类——LinkedList 源码略读
  5. python程序怎么保存到u盘_python实现usb自动拷贝程序的方法
  6. 汽车和山羊问题matlab仿真_Matlab----无人机集群对抗中的关键问题和仿真平台(开发中)案例...
  7. svg 自己做动画图片 GSAP真的好用
  8. 选择更安全的方式注册你的puppet节点
  9. AxureRP7.0基础教程系列 部件详解Text Area 文本段落
  10. 拓端tecdat|数据告诉你:互联网哪个职位最有前途?
  11. Python3入门机器学习经典算法与应用 第3章 matplotlib基础
  12. 基于Springboot的高校课程管理系统 课程设计报告 毕业设计 包括报告和程序包
  13. 如何调用外部webservice 接口来发送短信
  14. 计算机文件查看隐藏文件,电脑隐藏文件怎么显示啊,明明点了显示所有文件,按了确定后,又恢复了原来样子,为什么啊...
  15. AD20和立创EDA设计(4)PCB设计
  16. 原生导航栏控件navigationbar使用说明
  17. matlab中画网格,matlab怎么画网格
  18. 点云平滑之双边滤波适用性分析
  19. 【周志华机器学习】九、聚类
  20. python发短信脚本_python自动发送短信

热门文章

  1. 鸿蒙内核代码 行,鸿蒙内核源码分析(CPU篇) | 内核是如何描述CPU的 ? | 祝新的一年牛气冲天 ! | v36.01...
  2. Java已死?Java前景到底怎么样!
  3. PaddleOCR使用笔记-文字方向分类训练、评估、推理
  4. linux添加group,Linux添加用户(user)到用户组(group)的方法
  5. C语言中的宏函数与宏定义
  6. Android Okhttp3 (二) 二次封装请求管理类
  7. RRT路径规划算法详细C#
  8. 树莓派将普通用户权限提升至root并开启远程连接
  9. 智能穿戴和奢侈品的联姻之路
  10. 纠结!优酷、腾讯、爱奇艺,我到底该买哪一个会员呢?