设为首页 收藏本站
查看: 1808|回复: 0

[经验分享] RHEL6.4 搭建 rsyslog 日志服务 rsyslog+mysql+loganalyzer

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-11 10:36:17 | 显示全部楼层 |阅读模式
软件提供的功能:
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 <?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} [iyunv@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 || trueendscript }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} [iyunv@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 || trueendscript }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文件中去查看是否有执行的这条命令和输入的结果。

与mysql整合


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25854-1-1.html 上篇帖子: 基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境 下篇帖子: rsyslog+loganalyzer日志分析及web展示 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表