linux中怎么配置syslog实现日志转发
一、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; }
以上是linux中怎么配置syslog实现日志转发的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

VS Code 一步/下一步快捷键的使用方法:一步(向后):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

在 Sublime 中运行代码的方法有六种:通过热键、菜单、构建系统、命令行、设置默认构建系统和自定义构建命令,并可通过右键单击项目/文件运行单个文件/项目,构建系统可用性取决于 Sublime Text 的安装情况。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)
