rsyslog安装及使用(指定文件)debian

一、基础环境说明
rsyslog是enhanced multi-threaded syslogd
rsyslog是syslogd的多线程增强版

facility(类型)
auth authpriv cron kern lpr mail mark news user uucp local0~local7   
 
log level(日志等级)
debug           -Kernel debugging messages, output by the kernel if the developer enabled debugging at compile time.
info            -Informational messages that require no action.
notice          -Normal, but significant events. 
warning         -Warning conditions that should be taken care of.
err             -Noncritical error conditions.  
crit            -Critical conditions.
alert           -Actions that must be taken care of immediately. 
emerg           -The system is unusable.

om代表输出模块(Output Modules)
omelasticsearch omfile omfwd omhdfs omkafka omlibdbi ommail ommongodb
ommysql omoracle omprog omrelp omruleset omsnmp omstdout omudpspoof omuxsock

im代表输入模块(input Modules)
im3195 imfile imgssapi imjournal imklog imkmsg impstats 
imptcp imrelp imsolar isimtcp imudp imuxsock

serverA=debian7.8是10.1.10.117(服务端)
dpkg -l |grep rsyslog
ii  rsyslog  5.8.11-3+deb7u2  amd64  reliable system and kernel logging daemon

serverB=debian5.0.1是10.1.10.250(客户端)
dpkg -l |grep rsyslog
ii  rsyslog  3.18.6-4  enhanced multi-threaded syslogd

二、安装
1、先查询下包
apt-cache search rsyslog
rsyslog - enhanced multi-threaded syslogd 
2、安装
apt-get -y install rsyslog

三、配置
1、客户端 serverB 传送自定义目录下文件(/opt/scripts/pidfile) 使用imfile模块 
cat /etc/rsyslog.d/a.conf 
$ModLoad imfile
$InputFileName /opt/scripts/pidfile
$InputFileTag
$InputFileFacility local5 
$InputFileSeverity info 
$InputFileStateFile ssologs.log_state 
$InputFilePollInterval 1 
$InputFilePersistStateInterval 1 
$InputRunFileMonitor 
local5.info @10.1.10.117:8888 

2、服务端 serverA
将/etc/default/rsyslog下的RSYSLOGD_OPTIONS="-c3"修改为RSYSLOGD_OPTIONS="-c 5 -Q -x"
参数说明
-Q do not resolve hostnames during ACL processing Do not resolve hostnames to IP addresses during ACL processing.
-x Disable DNS for remote messages.
-c compatibility mode
-m 0 disables ‘MARK‘ messages (deprecated, only used in compat mode < 3)
-r enables logging from remote machines (deprecated, only used in compat mode < 3)

接收来自单个IP的日志(/opt/rsyslog/10.1.10.250.log自定义接收的地方)
cat /etc/rsyslog.d/b.conf 
$ModLoad imudp
$UDPServerRun 8888
:fromhost,isequal,"10.1.10.250" /opt/rsyslog/10.1.10.250.log
& ~

接收来自单网段IP的日志
cat /etc/rsyslog.d/b.conf 
$ModLoad imudp
$UDPServerRun 8888
$template DynFile,"/opt/rsyslog/%fromhost-ip%.log"
if $fromhost-ip startswith ‘10.1.‘ then ?DynFile
& ~

3、serverA和serverB都需要重启下
/etc/init.d/rsyslog restart

=====================参数说明====================
& ~表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,
并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入
上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。
使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名
命名的专有文件中。

四、测试
在serverB上执行logger -p local5.info 111
-p pri   Enter the message with the specified priority.
在serverA的tail -f /opt/rsyslog/10.1.10.250.log 就能看到有信息传过来了。

五、参考文章 
http://www.rsyslog.com/doc/
http://www.cnblogs.com/blueswu/p/3564763.html?utm_source=tuicool

六、相关图片

时间: 2024-08-08 01:33:50

rsyslog安装及使用(指定文件)debian的相关文章

使用yo命令,无法安装项目到指定文件夹

出现使用命令yo安装项目时,如果无法安装到指定文件夹,很可能是存在.yo-rc.json. Yeoman将  .yo-rc.json 所在的目录作为工程的根目录,之后Yeoman将当前文件目录跳转到根目录下运行请求的生成器,所以需要删除它. 注意:很多情况下,该文件是隐藏的,需要先系统设置显示隐藏文件,再将其删除就可以了. mac上可以 cd到根目录 运行 ls -l -a会找到该文件,再执行rm .yo-rc.json就OK了.

apk当安装程序将文件复制到手机自带的指定文件夹

项目已获得,今天.apk文件以获得另一个非调试手机,发现一个问题. 由于涂料.所以绘图数据的点存储在一个.txt文字档.把它用usb传到指定目录下的,可是明显不科学,由于用户下载了你的.apk文件,你却告诉他,还要把这个文本文件复制到指定的目录下.所以,我就要解决问题.就是把文本文件打包在apk文件里,安装.apk时就让创建一个程序目录.然后把文本文件复制到这个目录目录里,用户执行程序,就能够画图,不用再让他拷贝一份画图的点的坐标的数据.同理,事实上我这里还有设计轨廓的数据和标准轨廓的数据也是要

VS2013 系统找不到指定文件(异常来自 HRSULT:0x80070002)

VS2013创建Web应用程序MVC出现错误:系统找不到指定文件(异常来自 HRSULT:0x80070002) 查到博客园VS2013新建Web Application时报错Exception from HRESULT: 0x80070002 原来此异常是由于没有正确安装 NuGet Package Manager所导致的. 到下载页面http://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293

Python:Anaconda安装虚拟环境到指定路径

1 曾经的困扰 有段时间,想使用基于不同python版本的anaconda,就直接从官网下载了两个不同的anaconda版本进行安装.刚开始的时候,还觉得也没啥问题.用了一小段时间,在安装其他的第三方库时,经常发现安装失败,并且经常出现下面的问题:这个问题,我google.百度等查了好久,也没有解决好.后来,我把两个版本的anaconda都卸载了,重新安装了其中一个版本,发现再安装其他第三方库时,上述问题就不存在了.很有可能上述问题就是同时安装两个版本的anaconda引起的(不过我也不能完全肯

MYSQL 为表指定文件位置 data directory

背景知识: 如果表不指定文件位置,它会保存到 data/database_name/table_file;其中data在你指定的安装目录下,为了提高IO我们尽可能的 用到多个硬盘的IO能力,这个就需要把表保存到不同的磁盘上了: 方法 1. create table Table_Name(.....) data directory = 'absolute path to directory' create table T(X int ) data directory = 'E:\DB'; '

MVC出现错误:系统找不到指定文件(异常来自 HRSULT:0x80070002)

vs2013创建Web应用程序MVC出现错误:系统找不到指定文件(异常来自 HRSULT:0x80070002) 查到博客园VS2013新建Web Application时报错Exception from HRESULT: 0x80070002 原来此异常是由于没有正确安装 NuGet Package Manager所导致的. 到下载页面http://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293

C# 打开指定文件或网址

System.Diagnostics.Process.Start的妙用: 文件夹打开时自动选中一个文件,比如自动选中此目录下的指定文件方法: Process.Start("Explorer", "/select," + filePath); 我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹,  甚至是"控制面板"相关的东西, 那么如何做呢?  答案是使用System.Di

VC 获取指定文件夹路径的方法小结

VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);AfxMessageBox(buf); 2 获取应用程序数据路径的文件夹 TCHAR bufApplicateData[_MAX_PATH];SHGetSpecialFolderPath(NULL,bufApplicateData

系统找不到指定文件 No installed service name &#39;Apache2&#39;

原因:系统服务中没有apache2服务 解决方法: 开始 --运行 --- 输入“CMD”出来DOS窗口---- 输入 D: 回车 再输入 cd D:/Program Files(x86)/Apache Group/Apache2/bin  定位到这个目录下(这是我的apache安装目录:找到 apache2 目录下的 bin 目录 有个apache.exe 文件,因为我们要用到apache.exe应用程序 ) 再输入 apache.exe   -k   install   -n   apach