导航:首页 > IDC知识 > 搭建rsyslog服务器

搭建rsyslog服务器

发布时间:2021-01-08 10:43:54

1、linux rsyslog配置了日志服务器 如何去除本机记录日志

首先需要一台日志服务器(如IP地址为10.1.1.1),然后在Linux操作系统配置并启动日志服务器:
1、编辑“内/etc/syslog.conf”;容
2、在消息去向处添加“*.Error;
authpriv.*
@10.1.1.1”;
3、存盘退出重起服务“/etc/rc.d/init.d/syslog
restart”

2、rsyslog日志服务器如何自动将不同IP地址设备的日志放不同文件中!拜托了各位 谢谢

在rsyslog.conf中添加 :FROMHOST-IP,isequal, " IP " /var/log/host/IP

采纳哦

3、在虚拟机下基于centos用rsyslog实现日志服务管理系统的搭建?

http://www.tuicool.com/articles/YR7nYj

http://www.linuxidc.com/Linux/2013-06/86163.htm
http://hi.baidu.com/756091339/item/ee856ac50bd4fc26e80f2ed8

4、如何使用syslog向服务器协议

Syslog是一种工业标准的协议,可用来记录设备的日志。
Ubuntu下安装syslog apt-get install inetutils-syslogd

这里面的三个函数openlog, syslog, closelog是一套系统日志写入接口。另外那个vsyslog和syslog功能一样,只是参数格式不同。
通常,syslog守护进程读取三种格式的记录消息。此守护进程在启动时读一个配置文件。一般来说,其文件名为/etc/syslog.conf,该文件决定了不同种类的消息应送向何处。例如,紧急消息可被送向系统管理员(若已登录),并在控制台上显示,而警告消息则可记录到一个文件中。该机制提供了 syslog函数,其调用格式如下
#include <syslog.h>
void openlog (char*ident,int option ,int facility);
void syslog(int priority,char*format,……)
void closelog();

调用openlog是可选择的。如果不调用openlog,则在第一次调用syslog时,自动调用openlog。调用closelog也是可选择的,它只是关闭被用于与syslog守护进程通信的描述符。调用openlog 使我们可以指定一个ident,以后, 此ident 将被加至每则记录消息中。ident 一般是程序的名称(例如 ,cron ,ine 等)

程序的用法示例代码如下:

#include <syslog.h>
int main(int argc, char **argv)
{
openlog("MyMsgMARK", LOG_CONS | LOG_PID, 0);
syslog(LOG_DEBUG,
"This is a syslog test message generated by program '%s'\n",
argv[0]);
closelog();
return 0;
}

编译生成可执行程序后,运行一次程序将向/var/log /message文件添加一行信息如下:
Feb 12 08:48:38 localhost MyMsgMARK[7085]: This is a syslog test message generated by program './a.out'

syslog函数及参数
syslog函数用于把日志消息发给系统程序syslogd去记录,此函数原型是:
void syslog(int priority, const char *format, ...);
第一个参数是消息的紧急级别,第二个参数是消息的格式,之后是格式对应的参数。就是printf函数一样使用。

如果我们的程序要使用系统日志功能,只需要在程序启动时使用openlog函数来连接 syslogd程序,后面随时用syslog函数写日志就行了。

下面介绍在RedHat和ubuntu中如何配置它:

Ubuntu和红帽常使用它,并且通过文件/etc/rsyslog.conf进行管理。文件中包含许多指定的特殊系统日志:有的是控制台方面的,有的是文件方面或其它主机的。

首先,我们需要载入合适的TCP和UDP插件以支持接收系统日志。把下面的代码添加到rsyslog.conf的头部:

$modload imtcp

$modload imudp

$InputTCPServerRun 10514

$UDPServerRun 514

载入的这两个模块能支持监听TCP和UDP的端口,并且指定哪个端口来接受事件,在这种情况下,使用TCP的10514端口和UDP的514端口。你需要确认一下本地防火墙(在你的主机和中央系统日志服务器之间的防火墙)

下面我们需要指定一些规则来告诉rSyslog在哪放输入事件。如果你不添加任何规则,输入事件将按照本地的规则进行处理,并且与本地主机的事件交织在一起。我们需要在上面添加节之后和本地处理系统日志之前来正确的指定这个规则,例如:

if $fromhost-ip isequal '192.168.0.2' then /var/log/192.168.0.2.log

& ~

这里我们说的每一个来自于192.168.0.2的系统日志都应该保存在/var/log/192.168.0.2.log文件中。&~这个符号是非常重要的,因为它告诉rSyslog将停止处理消息。如果你把它忘写了,消息将越过下一个规则,并且继续处理。在这一规则中还有其他的变量。例如:

if $fromhost-ip startswith '192.168.' then /var/log/192.168.log

& ~

这里我们用192.168.*替代了以这个为开始的所有IP地址,写入到/var/log/192.168.log文件中。你还可以看到一些其它的过滤。

你将需要重启这个rsyslog服务来激活我们所做的新的配置:

$ sudo service rsyslog restart

现在,对于发送方的主机,我们还需要对文件rsyslog.conf进行一些更改,在文件的头部,添加下面这行:

*.* @@192.168.0.1:10514

这是发送的所有事件,来自于所有源代码和所有重要级别(用*.*),通过TCP协议传给IP地址为192.168.0.1的10514端口。你可是用你所在环境的地址来替换这个IP地址。要启用此配置,你将需要重启主机上的rSyslog。

你可以通过SSL/TLS更进一步地发送你的系统日志。如果你在互联网上或其它网络间传输系统日志,这也没什么坏处,你可能会发现这个的简单说明。

现在,如果给你的配置管理系统(如果不使用这个,你可以试一试Puppet或Cfengine工具)添加这个配置,然后,您可以用适当的系统日志来有效地配置每台主机,以确保你的日志将被发送到中央系统日志服务器。

5、在windows上怎么用syslog服务器获取rsyslog日志

rsyslog 权限抄;

默认

[root@dr-mysql01 zjzc_log]# ls -ltr zj-frontend0*-access*27

-rw------- 1 root root 322 Sep 27 07:55 zj-frontend02-access.2016-09-27

600

$FileOwner elk

$FileGroup elk

$FileCreateMode 0755

$DirCreateMode 0755

$Umask 0022

修改后:

[root@dr-mysql01 zjzc_log]# ls -ltr zj-frontend0*-access*27

-rwxr-xr-x 1 elk elk 10558 Sep 27 07:58 zj-frontend02-access.2016-09-27

6、搭建一个log server用什么软件比较好

系统统日志(Syslog)协议简介Syslog是一种在网络中传递消息的标准。它采用Client/Server架构:syslog的发送者(Client)向接受者(Server)发送短消息(一般小于1KB)。现在Syslog被应用于很多系统中:OS,Router,Switch等等。日志严重程度(severity levels): 0 - Emergency (emerg) 1 - Alerts (alert) 2 - Critical (crit) 3 - Errors (err) 4 - Warnings (warn) 5 - Notification (notice) 6 - Information (info) 7 - Debug (debug) 通常系统会将进程分组,同组进程的日志将具有相同的组标识(称为facility),这样可以在一定程度上对日志分类。常用的facility包括:auth - authentication (login) messages cron - messages from the memory-resident scheler daemon - messages from resident daemons kern - kernel messages lpr - printer messages (used by JetDirect cards) mail - messages from Sendmail user - messages from user-initiated processes/apps local0-local7 - user-defined syslog - messages from the syslog process itself 搭建中心系统日志(Syslog)服务器有什么好处?一般系统缺省会将日志发送到本地的Syslog服务器上,并保存到本地存储或者直接输出在屏幕等终端设备上。建立一个统一的日志服务器,并且将所有的日志发送到该服务器具有如下好处:方便集中日志管理(存储、备份、查询,等等)。对于没有终端(Console)的设备,方便查看日志。日志更安全:一旦黑客入侵其中某个设备,通常会将日志清楚。将日志输出到中心服务器,有利于保护日志的完整性。搭建中心系统日志(Syslog)服务器如果你的系统使用sysklogd,请参考如下配置:修改/etc/sysconfig/syslog,替换:SYSLOGD_OPTIONS="-m 0" 为SYSLOGD_OPTIONS="-rm 0"重新启动syslog服务:service syslog restart注意防火墙设置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以参考如下的设置: iptables -I INPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 配置其他设备使用该系统日志(Syslog)服务器syslogd的配置文件(如:/etc/syslog.conf)一般有如下语法: facility.severity log-file-name 将所有Kernel日志写入/var/log/kernel.log: kern.* /var/log/kernel.log 将所有日志写入/var/log/kernel.log: *.* /var/log/all.log 将所有日志发送到远程日志服务器: *.* @hostname 注意防火墙设置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以参考如下的设置: iptables -I OUTPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 参考资料维基百科上的Syslog介绍。Syslog daemon。Syslog-ng日志系统 - 一个增加版的日志系统。Rsyslog - 多线程、灵活的日志系统。

7、大佬们,请教有做过mysql数据库日志备份到远程服务器rsyslog日志服务器的吗?帮忙指点指点

1、数据库服务器部署

yum install mariadb-server

systemctl start mariadb.service

mysql_secure_installation 运行安全脚本

2、日志服务器

yum install rsyslog-mysql

rpm -ql rsyslog-mysql

cat /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

3 在数据库服务器上创建日志用户

grant all on Syslog.* to loguser@'192.168.8.%' identified by 'mage';

4 在日志服务器上通过MySQL创建日志数据库

mysql -uloguser -pmage -h192.168.8.107 < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

5 在日志服务器上配置日志服务配置文件,使其可以支持连接数据库模块,并将本机日志关联至远程日志数据库

vim /etc/rsyslog.conf

#### MODULES ####

$ModLoad ommysql

#### RULES ####

*.info;mail.none;authpriv.none;cron.none   

*.*  :ommysql:192.168.8.107,Syslog,loguser,mage

service rsyslog restart

6 logger 测试

此时logger触发日志时,日志服务器上的日志将会记录至远程数据库Syslog中

7、web服务器配置

yum install httpd php php-mysql php-gd

systemctl start httpd

tar xvf loganalyzer-4.1.5.tar.gz

cd loganalyzer-4.1.5/

mv src/ /var/www/html/log

cd /var/www/html/log

cat /root/loganalyzer-4.1.5/contrib/configure.sh

cat /root/loganalyzer-4.1.5/contrib/secure.sh

touch config.php

chmod 666 config.php

8、如何搭建中心系统日志服务器

系统统日志(Syslog)协议简介Syslog是一种在网络中传递消息的标准。它采用Client/Server架构:syslog的发送者(Client)向接受者(Server)发送短消息(一般小于1KB)。现在Syslog被应用于很多系统中:OS,Router,Switch等等。日志严重程度(severity levels): 0 - Emergency (emerg) 1 - Alerts (alert) 2 - Critical (crit) 3 - Errors (err) 4 - Warnings (warn) 5 - Notification (notice) 6 - Information (info) 7 - Debug (debug) 通常系统会将进程分组,同组进程的日志将具有相同的组标识(称为facility),这样可以在一定程度上对日志分类。常用的facility包括:auth - authentication (login) messages cron - messages from the memory-resident scheler daemon - messages from resident daemons kern - kernel messages lpr - printer messages (used by JetDirect cards) mail - messages from Sendmail user - messages from user-initiated processes/apps local0-local7 - user-defined syslog - messages from the syslog process itself 搭建中心系统日志(Syslog)服务器有什么好处?一般系统缺省会将日志发送到本地的Syslog服务器上,并保存到本地存储或者直接输出在屏幕等终端设备上。建立一个统一的日志服务器,并且将所有的日志发送到该服务器具有如下好处:方便集中日志管理(存储、备份、查询,等等)。对于没有终端(Console)的设备,方便查看日志。日志更安全:一旦黑客入侵其中某个设备,通常会将日志清楚。将日志输出到中心服务器,有利于保护日志的完整性。搭建中心系统日志(Syslog)服务器如果你的系统使用sysklogd,请参考如下配置:修改/etc/sysconfig/syslog,替换:SYSLOGD_OPTIONS="-m 0" 为SYSLOGD_OPTIONS="-rm 0"重新启动syslog服务:service syslog restart注意防火墙设置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以参考如下的设置: iptables -I INPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 配置其他设备使用该系统日志(Syslog)服务器syslogd的配置文件(如:/etc/syslog.conf)一般有如下语法: facility.severity log-file-name 将所有Kernel日志写入/var/log/kernel.log: kern.* /var/log/kernel.log 将所有日志写入/var/log/kernel.log: *.* /var/log/all.log 将所有日志发送到远程日志服务器: *.* @hostname 注意防火墙设置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以参考如下的设置: iptables -I OUTPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 参考资料维基百科上的Syslog介绍。Syslog daemon。Syslog-ng日志系统 - 一个增加版的日志系统。Rsyslog - 多线程、灵活的日志系统。

9、如何实现集中式RSYSLOG服务器监控

安装RSYSLOG服务器


这第一个部分描述的是如何搭建从客户端收集syslog数据的RSYSLOG服务器。在该例子中,我们的服务器名为rsyslog.domain.com,其固定IP地址为192.168.0.15。


首先,我们安装一些依赖项。


apt-get update

apt-get upgrade

apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-moles zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl


安装过程中要求你输入MySQL服务器的密码时,创建一个密码!


我的OpenVZ模板已准备好了一切,所以下面这个命令对你来说可能没有必要……


apt-get install linux-kernel-headers


确保相应服务已创建并运行起来……


/etc/init.d/rsyslog restart

/etc/init.d/mysql restart

/etc/init.d/apache2 restart


确保服务器在侦听合适的TCP IP端口(端口80和端口3306)。这时,RSYSLOG还没有侦听任何端口。


rsyslog:~# netstat -tapn

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp  0  0 127.0.0.1:3306  0.0.0.0:* LISTEN  415/mysqld

tcp  0  0 0.0.0.0:80  0.0.0.0:* LISTEN  581/apache2


然后,我们可以构建rsyslog数据库:


mysqladmin -u root -p create rsyslog


接下来,我们启动MySQL命令外壳程序,创建rsyslog用户:


mysql -u root -p

GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE';

FLUSH PRIVILEGES;

quit


接下来,我们配置rsyslog服务器,以便侦听TCP端口514:


vi /etc/rsyslog.conf


添加这几行……(要记得将密码更改成你在创建MySQL服务器的rsyslog用户时输入的那个密码。)


$ModLoad MySQL

*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE


……并去掉处理TCP syslog接收的几行代码前面的注释。


# rsyslog v3的/etc/rsyslog.conf配置文件

#

# 想了解更多信息,请参阅/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html

$ModLoad MySQL

*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE

#################

#### 模块 ####

#################

$ModLoad imuxsock # 提供对本地系统日志的支持

$ModLoad imklog # 提供内核日志支持(以前由rklogd来提供)

#$ModLoad immark # 提供--MARK--息功能

# 提供UDP syslog接收

#$ModLoad imudp

#$UDPServerRun 514

# 提供TCP syslog接收

$ModLoad imtcp

$InputTCPServerRun 514

###########################

#### 全局指令 ####

###########################


并重启rsyslog服务。


/etc/init.d/rsyslog restart


确保服务器在侦听合适的TCP IP端口。(端口80、端口514和端口3306。)


rsyslog:~# netstat -tapn

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp  0  0 0.0.0.0:514 0.0.0.0:* LISTEN  618/rsyslogd

tcp  0  0 127.0.0.1:3306  0.0.0.0:* LISTEN  415/mysqld

tcp  0  0 0.0.0.0:80  0.0.0.0:* LISTEN  581/apache2


接着我们下载LogAnalyzer,并配置Apache web服务器,以便显示日志。


cd /tmp

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz

tar xvzf loganalyzer-3.4.1.tar.gz

mv loganalyzer-3.4.1/ /var/www/

cd /var/www


接着我们为Apache web服务器配置www文件夹用户权限。


chown www-data:www-data * . -Rf


然后,我们对LogAnalyzer文件夹作了一些“改进”工作。


mv loganalyzer-3.4.1/ loganalyzer

cd contrib/

cp * ./../src/

cd ./../src/

sh ./configure.sh


我们已准备使用我们的互联网服务器来输入LogAnalyzer的最后设置项。往你的互联网浏览器里面输入rsyslog服务器的固定IP地址,本文中是http://192.168.0.15/loganalyzer/src/install.php。


运行简单的设置脚本(很简单,只要点击next -> next。)


现在,你应该有了正常运行的rsyslog服务器,而且LogAnalyzer已创建并运行起来。


接下来,我们配置RSYSLOG客户端,以便将其syslog数据发送到rsyslog服务器:

配置RSYSLOG客户端


我们要做的通常仅仅是配置rsyslog.conf文件,然后重启服务。(几乎所有Debian操作系统都预先安装了rsyslog。)

vi /etc/rsyslog.conf

添加万一网络连接中断要用到的work spool目录这几行,并将你的rsyslog服务器IP地址更改成192.168.0.15。(你可能还想要用mkdir命令来创建/rsyslog/work spool目录。)

# 提供TCP syslog接收
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # work(spool)文件的默认位置
$ActionQueueType LinkedList # 使用异步处理
$ActionQueueFileName srvrfwd # 设置文件名称,还启用磁盘模式
$ActionResumeRetryCount -1 # 插入失败后,无限次重试
$ActionQueueSaveOnShutdown on # 如果rsyslog关闭,保存内存中数据
*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE
###########################
#### 全局指令####
###########################
并重启rsyslog服务。
/etc/init.d/rsyslog restart

服务器已通过合适的TCP IP端口(端口514)连接。

root@ic1:~# netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address         Foreign Address       State     PID/Program name
tcp      0    0 192.168.0.100:49188   192.168.0.15:514       ESTABLISHED 13289/rsyslogd

这就是成功搭建的系统的样子。

与搭建rsyslog服务器相关的知识