热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

rsyslogmysql模块_RHEL6.4搭建rsyslog日志服务rsyslog+mysql+loganalyzer

软件提供的功能:1、rsyslog是RHEL或centos系统6.x版本的日志服务,代替以前系统的syslog服务。在这个架构中rsyslog服务主要是

软件提供的功能:

1、rsyslog是RHEL或centos系统6.x版本的日志服务,代替以前系统的syslog服务。在这个架构中rsyslog服务主要是收集日志的功能,把日志归类,写入数据库。

2、mysql是简单的数据库,在这个架构中主要任务是存放收集过来的日志信息,以便提供给loganalyzer软件来显示出来。

3、loganalyzer是一个日志分析工具,比较简单。在这个架构中主要是从mysql数据库中提取数据依条形和图形直观的显示出来,提供筛选、搜索、归类、统计等功能。

4、evtsys是运行在windows平台下,把系统收集的日志发送到mysql中,保存起来。

整个环境需要的条件:

在整个框架中,rsyslog、mysql、http、php等使用系统自带的rpm包

loganalyzer是从网上下载的源码包文件,地址: http://download.adiscon.com/loganalyzer/loganalyzer-3.6.3.tar.gz。

整个日志服务是建立在LAMP架构之上的,需要对LAMP有所了解。

两台RHEL6.4系统的主机,一个是server一个是client,把iptables和selinux关闭。

搭建步骤:

1、先在server上来验证一下LAMP架构。

a、初始化mysql服务,进入mysql数据库,执行 "mysql -u 用户名 -D 数据库名 -p 密码" 进行验证mysql是否存在问题;

b、开启httpd服务,打开浏览器,输入本机IP地址,验证httpd服务。找到DirectoryIndex关键字,添加index.php。

c、修改httpd.conf配置文件,在/var/www/html/添加测试index.php页面。进行LAMP的整体测试。

vi /var/www/html/index.php

$link=mysql_connect(localhost,root,123456);    ##(主机名,用户名,密码)

if(!$link) echo "失败!";

else echo "成功!";

mysql_close();

?>Rsyslog的配置文件:

vim /etc/rsyslog.conf

#### MODULES 日志的模块####

$ModLoad imuxsock   #imuxsock是模块名,支持本地系统日志的模块

$ModLoad imklog     #imklog是模块名, 支持内核日志的模块

#$ModLoad immark    #immark是模块名,支持日志标记

#$ModLoad imudp     #imupd是模块名,支持udp协议

#$UDPServerRun 514  #允许514端口接收使用UDP和TCP协议转发过来的日志

#$ModLoad imtcp     #imtcp是模块名,支持tcp协议

#$InputTCPServerRun 514

################# GLOBAL DIRECTIVES #################定义全局日志格式的指令

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #定义日志格式默认模板

$IncludeConfig /etc/rsyslog.d/*.conf   #载入rsyslog.d文件中所有以conf结尾的文件

#### RULES ####

*.info;mail.none;authpriv.none;cron.none    /var/log/messages

#####记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间#任务相关的信息除外

authpriv.*             /var/log/secure

#####authpriv验证相关的所有信息存放在/var/log/secure

mail.*                -/var/log/maillog

#####邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大

cron.*                /var/log/cron

####计划任务有关的信息存放在/var/log/cron

*.emerg                * (*表示所有用户)

###记录所有的大于等于emerg级别信息, 以wall方式发送给每个登录到系统的人

uucp,news.crit        /var/log/spooler

####记录uucp,news.crit等存放在/var/log/spooler

local7.*              /var/log/boot.log

####本地服务器的启动的所有日志存放在/var/log/boot.log中

#############################rsyslog.conf###############中日志规则的定义的格式

facitlity.priority          Target

#facility: 日志设备(可以理解为日志类型):

==============================================================

auth         #pam产生的日志,认证日志

authpriv     #ssh,ftp等登录信息的验证信息,认证授权认证

cron         #时间任务相关

kern         #内核

lpr          #打印

mail         #邮件

mark(syslog) #rsyslog服务内部的信息,时间标识

news         #新闻组

user         #用户程序产生的相关信息

uucp         #unix to unix copy, unix主机之间相关的通讯

local 1~7    #自定义的日志设备

===============================================================

#priority: 级别日志级别:

=====================================================================

debug           #有调式信息的,日志信息最多

info            #一般信息的日志,最常用

notice          #最具有重要性的普通条件的信息

warning, warn   #警告级别

err, error      #错误级别,阻止某个功能或者模块不能正常工作的信息

crit            #严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert           #需要立刻修改的信息

emerg, panic    #内核崩溃等严重信息

###从上到下,级别从低到高,记录的信息越来越少,如果设置的日志内性为err,则日志不会记录比err级别低的日志,只会记录比err更高级别的日志,也包括err本身的日志。

=====================================================================

Target:

#文件, 如/var/log/messages

#用户, root,*(表示所有用户)

#日志服务器,@172.16.22.1

#管道        | COMMAND

日志滚动服务:所有的日志文件都会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理,以免造成磁盘空间的不必要的浪费,同时也加快了管理员查看日志所用的时间。因而logrotate就非常有存在的必要了,Redhat系统默然安装logrotate,利用

logrotate设置了相关对rsyslog日志迅速增长的设置。logrotate的执行由crond服务实现。在/etc/cron.daily目

录中,有个logrotate,是个shellscript,用来启动logrotate。

logrotate程序每天由cron在指定的时间

(/etc/crontab)启动。

sed -e '/^#/d'  -e '/^$/d' /etc/logrotate.conf

weekly      #每周清理一次日志文件

rotate 4    #保存四个轮换日志

create      #清除旧日志的同时,创建新的空日志文件

dateext     #使用日期为后缀的回滚文件  #可以去/var/log目录下看看

include /etc/logrotate.d  #包含/etc/logrotate.d目录下的所有配置文件

/var/log/wtmp {      #对/var/log/wtmp这个日志文件按照下面的设定日志回滚

monthly                    #每月轮转一次

create 0664 root utmp      #设置wtmp这个日志文件的权限,属主,属组

minsize 1M                 #日志文件必须大于1M才会去轮换(回滚)

rotate 1                   #保存一个轮换日志

}

/var/log/btmp {

missingok                #如果文件丢失不报错

monthly

create 0600 root utmp

rotate 1

}

[root@demo ~]# cat /etc/logrotate.d/syslog

/var/log/cron    #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径

/var/log/maillog

/var/log/messages

/var/log/secure

/var/log/spooler

{

sharedscripts

postrotate   # 轮换之后重启rsyslog服务

/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true

endscript

}sed -e '/^#/d'  -e '/^$/d' /etc/logrotate.conf

weekly      #每周清理一次日志文件

rotate 4    #保存四个轮换日志

create      #清除旧日志的同时,创建新的空日志文件

dateext     #使用日期为后缀的回滚文件  #可以去/var/log目录下看看

include /etc/logrotate.d  #包含/etc/logrotate.d目录下的所有配置文件

/var/log/wtmp {      #对/var/log/wtmp这个日志文件按照下面的设定日志回滚

monthly                    #每月轮转一次

create 0664 root utmp      #设置wtmp这个日志文件的权限,属主,属组

minsize 1M                 #日志文件必须大于1M才会去轮换(回滚)

rotate 1                   #保存一个轮换日志

}

/var/log/btmp {

missingok                #如果文件丢失不报错

monthly

create 0600 root utmp

rotate 1

}

[root@demo ~]# cat /etc/logrotate.d/syslog

/var/log/cron    #这些文件是rsyslog.conf文件中全局配置定义中指定的Target的路径

/var/log/maillog

/var/log/messages

/var/log/secure

/var/log/spooler

{

sharedscripts

postrotate   # 轮换之后重启rsyslog服务

/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true

endscript

}

rsyslog 建立:

安装rsyslog服务包,rsyslog-mysql的rpm包需要装上去,是日志和数据库结合的包

配置/etc/rsyslog.conf文件vi /etc/rsyslog.conf

SYSLOGD_OPTIONS="-c 2 -r -x -m 180"    ##添加,

KLOGD_OPTIONS="-x"                     ##添加,

$ModLoad immark.so                     ##查找,并把注释符号去掉。

$ModLoad imudp.so                      ##查找,并把注释符号去掉。

$UDPServerRun 514                      ##查找,并把注释符号去掉。

参数描述如下:

-c指定运行兼容模式。

-r指定监听端口。默认514

-x在接收客户端消息时,禁用DNS查找。需和-r参数配合使用。

-m标记时间戳。单位是分钟,为0时,表示禁用该功能。

修改完保存配置文件后重启rsyslog服务。

客户端:vi /etc/rsyslog.conf

*.*    @172.16.2.240     ##添加改行,@ 之后是server端ip地址。

vi  /etc/bashrc          ##可选项,会记录:那台主机由谁在什么目录执行什么命令

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'    ##添加

source /etc/bashrcce     ##执行后立即生效

修改、保存配置文件后重启rsyslog服务。

第一阶段验证测试。

a、在客户端输入logger-pinfo“测试信息”;

b、在客户端的/var/log/messager文件中去查看是否有执行的这条命令和输入的结果。



推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
author-avatar
摩羯水瓶的微博w
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有