`
haoningabc
  • 浏览: 1482243 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rsyslog 重新整理

阅读更多
几年前用的rsyslog今天重新整理一下
参考原来的http://haoningabc.iteye.com/blog/1130914
部分参考http://www.gaizaoren.org/archives/408
环境centos6.5

yum install rsyslog
yum install mysql-server
yum install rsyslog-mysql
yum install httpd php php-mysyql php-gd


cd /usr/share/doc/rsyslog-mysql-5.8.10
mysql <createDB.sql

会在mysql中建立两个表
SystemEvents
SystemEventsProperties
下面配置正确,SystemEvents中会有数据

mysql的支持
需要在
/etc/rsyslog.conf
中添加
$ModLoad imudp
$ModLoad ommysql
$UDPServerRun 514
12.*    /opt/log/meedo.log
12.*     :ommysql:127.0.0.1,Syslog,root,密码;

Syslog是createDB.sql建的库名
root是mysql用户
密码是mysql的密码

注意这里为12 ,后面客户端用到,开始设置local0---local6,php的接口获取不到,所以设置为12,貌似php只能支持到14, local0是16,local1是17,顺次往上

log4j指定12和 php的udp头里面指定12
完整的rsyslog.conf为
[root@host-10-6-6-4 rsyslog-mysql-5.8.10]# cat /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability
$ModLoad imudp
$ModLoad ommysql
$UDPServerRun 514
12.*    /opt/log/meedo.log
12.*     :ommysql:127.0.0.1,Syslog,root,haoning;  
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
[root@host-10-6-6-4 rsyslog-mysql-5.8.10]#



修改/etc/sysconfig/rsyslog
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
#SYSLOGD_OPTIONS="-c 5"
SYSLOGD_OPTIONS=" -m 0 -r"

service rsyslog restart


java客户端
import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  
  
public class TestLog {  
  
    private static final Logger logger = LoggerFactory.getLogger(TestLog.class);  
    public static void main(String[] args) {  
        logger.info("test haoning haha this is 123");  
  
    }  
  
} 

log4j配置
log4j.rootLogger=INFO,CONSOLE,SYSLOG  
#log4j.rootLogger=INFO,SYSLOG,CONSOLE,DAILY_ROLLING_FILE  
log4j.addivity.org.apache=true  
log4j.debug=false  
  
###################  
# Console Appender  
###################  
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
log4j.appender.CONSOLE.Target=System.out  
log4j.appender.CONSOLE.Threshold=DEBUG  
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %l %m%n  
  
  
  
########################  
# RSYSLOG  
########################  
app.name=haohao 
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender  
log4j.appender.SYSLOG.SyslogHost= 103.227.81.149  
log4j.appender.SYSLOG.Facility=12  
log4j.appender.SYSLOG.Threshold=INFO  
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout  
log4j.appender.SYSLOG.layout.ConversionPattern=${app.name} %d{yyyy-MM-dd HH:mm:ss} %c:%L %m%n


java需要三个jar
log4j-1.2.17.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
注意这里Facility用的12,跟rsyslog配置的一样
运行就写入这台机器了

php的客户端
private static function mgsyslog($level,$msg)
	{
		$server="103.227.81.149";
		$port=514;
		$facility=1;
		$pid=posix_getpid();
		$process="PHP[${pid}]";
		$actualtime = time();
		$month      = date("M", $actualtime);
		$day        = substr("  ".date("j", $actualtime), -2);
		$hhmmss     = date("H:i:s", $actualtime);
		$timestamp  = $month." ".$day." ".$hhmmss;
		$hostname=gethostname();
		$pri    = "<".($facility*8 + $level).">";
		$header = $timestamp." ".$hostname;
		$message = substr($pri.$header." ".$process.": ".$msg, 0, 1024);
		$fp = fsockopen("udp://".$server, $port, $errno, $errstr);
		if ($fp)
		{
			fwrite($fp, $message);
			fclose($fp);
			return true;
		}
		return false;
	}

注意这里$pri 计算生成的是12

调用
self::mgsyslog(4,"haha ok from php -this is 12-----");
分享到:
评论

相关推荐

    最新的rsyslog 源码 rsyslog-6.3.0

    最新的rsyslog 源码 rsyslog-6.3.0最新的rsyslog 源码 rsyslog-6.3.0最新的rsyslog 源码 rsyslog-6.3.0最新的rsyslog 源码 rsyslog-6.3.0

    rsyslog安装包适合centos6

    **rsyslog简介** rsyslog是一款开源的系统日志守护程序,它是syslogd的增强版,提供了更强大的功能和更高的性能。rsyslog能够处理来自不同源的日志消息,支持多线程操作,具备良好的安全性,并且采用模块化设计,...

    【rsyslog系列】rsyslog远程接收日志服务器配置文件之TLS单向认证

    搭建rsyslog远程接收日志服务器时,要想要服务器生效,必须按照实际使用场景配置rsyslog的配置文件,该配置文件资源应用于rsyslog v8版本的TLS协议单向认证场景。由于rsyslog v8版本对于v5版本有一些格式上的更新,...

    【rsyslog系列】rsyslog远程接收日志服务器配置文件之TLS双向认证

    搭建rsyslog远程接收日志服务器时,要想要服务器生效,必须按照实际使用场景配置rsyslog的配置文件,该配置文件资源应用于rsyslog v8版本的TLS协议双向认证场景。由于rsyslog v8版本对于v5版本有一些格式上的更新,...

    rsyslog交叉编译打包

    rsyslog是一款强大的系统日志收集和转发工具,广泛应用于Linux环境,用于处理和记录来自不同系统的日志信息。在嵌入式设备或资源有限的系统中,有时我们需要对rsyslog进行交叉编译,以便在目标平台上运行。交叉编译...

    rsyslog-5.9.0.tar.gz

    rsyslog是一款强大的开源日志管理系统,用于收集、过滤、处理和转发系统日志,它在版本5.9.0中提供了丰富的功能和改进。这个压缩包“rsyslog-5.9.0.tar.gz”包含了该软件的源代码和其他相关文件,允许用户在Linux或...

    Centos8 搭建日志服务器rsyslog+loganalyzer

    首先,需要检查 Rsyslog 的状态,然后编译 Rsyslog 配置文件,启用 UDP 输入模块,打开防火墙的 514 端口,设置 Rsyslog 启动时自动运行,并重新启动 Rsyslog 服务。 三、保存日志到 Mariadb 数据库中 为了将日志...

    Rsyslog Windows agent configuration client简单使用

    **Rsyslog Windows Agent配置客户端详解** Rsyslog是一款广泛使用的日志收集系统,它能够从各种来源收集、过滤、存储和转发日志信息。在Windows环境下,Rsyslog提供了客户端代理,允许用户将本地日志文件发送到远程...

    rsyslog-doc-8.12.0.tar

    rsyslog是一款强大的系统日志收集、处理和分发软件,广泛应用于Linux和Unix系统中。这个"rsyslog-doc-8.12.0.tar"文件是一个文档压缩包,包含了关于rsyslog 8.12.0版本的相关文档和资源。下面将详细介绍rsyslog及其...

    如何在Ubuntu 18.04 LTS上安装Rsyslog.doc

    在Ubuntu 18.04 LTS上安装和配置Rsyslog是确保系统日志管理和监控的重要步骤。Rsyslog是一个强大的开源日志收集系统,它允许你在一个集中的位置收集和分析来自多个服务器、网络设备和其他应用程序的日志数据。这对于...

    rsyslog部署安装

    rsyslog是一款开源的日志管理工具,它主要用于收集、处理和转发系统日志信息,也可以用于记录应用日志。在部署和安装rsyslog时,我们可以遵循以下步骤,这里结合了PHP和MySQL的安装配置,这通常用于配置和管理Web...

    rsyslog-8.32.0.tar.gz

    rsyslog是一款强大的开源日志收集、处理和转发系统,广泛应用于Linux和Unix环境。它在标准的日志系统基础上增加了许多高级功能,如网络日志传输、过滤、模板设计、性能优化等,使得日志管理更为高效和灵活。rsyslog-...

    rsyslog + mysql 入库配置

    《rsyslog与MySQL日志入库配置指南》 在IT运维中,日志管理是一项至关重要的任务,它有助于监控系统状态、排查问题以及确保数据安全。rsyslog是一款广泛使用的日志收集工具,而MySQL是常用的数据库系统。将rsyslog...

    rsyslog-tls.zip

    《rsyslog与TLS安全配置详解》 rsyslog是一款广泛使用的日志收集和管理系统,它支持多种协议和网络传输,使得远程日志管理和监控变得简单。在当今网络安全日益重要的背景下,日志传输的安全性成为了不可忽视的一环...

    【rsyslog系列】rsyslog远程接收日志服务器配置文件之UDP/TCP协议

    搭建rsyslog远程接收日志服务器时,要想要服务器生效,必须按照实际使用场景配置rsyslog的配置文件,该配置文件资源应用于rsyslog v8版本的UDP/TCP协议传输场景。由于rsyslog v8版本对于v5版本有一些格式上的更新,...

    rsyslog所有用户日志审计

    rsyslog所有用户日志审计 rsyslog所有用户日志审计是指通过rsyslog来收集和记录所有用户的日志信息,包括普通用户和root用户。这种日志审计可以帮助管理员追踪用户的操作记录,检测潜在的安全威胁和问题。 rsyslog...

    Linux 通过rsyslog配置日志服务器

    通过使用rsyslog软件包,我们可以轻松地配置一个Linux日志服务器,以便收集和管理来自不同客户端机器的日志信息。rsyslog是syslog的扩展,它不仅能够处理本地日志,还能接收和转发来自远程系统日志消息。在进行...

    rsyslog小结.rar

    rsyslog是一个C/S架构的服务,可监听于某套接字,帮其它主机记录日志信息,在linux系统中可以分类两个日志: ​ klogd:kernel,记录内核相关的日志 ​ syslogd:service,记录应用程序的日志 rsyslog:是CentOS ...

    rsyslog不记日志分析(2).pdf

    根据提供的文件内容,我们可以提取和总结以下与rsyslog相关知识点: rsyslog是一款在Linux系统中广泛使用的日志管理工具,它负责收集、处理和转发系统及应用程序的日志信息。rsyslog的配置和功能非常强大,支持多种...

    rsyslog配置说明.docx

    ### rsyslog配置详解 #### 一、日志类型与级别 **日志设备(类型)** 在rsyslog中,日志设备是指产生日志的来源或应用程序。例如,`kern`代表内核生成的日志,`auth`表示认证服务(如SSH登录尝试)的日志。 **...

Global site tag (gtag.js) - Google Analytics