rsyslog+mysql+loganalyzer 搭建日志服务器及监控

rsyslog

日志:历史事件; 历史事件:时间、地点、事件;

syslog: klogd:kernel yslogd:system(application)

事件记录格式:日期时间 主机 进程[pid]:事件内容;

C/S架构;通tcp或udp协议的服务完成日志记录的传送;

rsyslog: rsyslog的特性: – 多线程; – UDP/TCP/SSL/TLS/RELP; – 存储日志信息于MySQL,PGSQL,oracle,等RDBMS; – 强大的过滤器,实现过滤日志信息中的任何部分的内容; – 自定义输出格式; – ……

elk

ELK由Elasticsearch、Logstash和Kibana三部分组件组成; Elasticsearch*是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用 kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

rsyslog日志收集器的基本术语;

facility:设施,收束日志数据流为有限几个; auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local7 priority:优先级 debuf,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)

程序包:rsyslog

程序环境: 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/\*.conf 主程序:/usr/sbin/rsyslogd CentOS 6:service rsyslogs {start|stop|restart|status} CentOS 7:/usr/lib/systemd/system/rsyslog.service

配置文件格式: 由三部分组成: – MODULES :模块配置 – GLOBAL DIRECTIVES:全局配置 – RULES:日志记录相关配置 – ( begin forwarding rule RULES:

配置格式: facility.priority  target      - 表示异步写入

facility: *:所有的facility; f1,f2,f3,…:指定的facility列表; priority: *:所有级别 none:没有级别; PRIORITY:指定级别(含)以上的所有级别; =PRIORITY:仅记录指定级别的日志信息;

target 文件:将日志信息记录到指定的文件中,文件路径前的-表示异步写入; 用户:将日志时间通知给指定的用户; 日志服务器:@host,把日志通过网络送往指定的服务器记录,而非由本地记录; 管道:|COMMAND

其他的日志文件:

/var/log/secure:系统安全日志,应该周期性分析; /var/log/btmp:当前系统上用户的失败尝试登录相关的日志信息,lastb命令可以查看 /var/log/wtmp:当前系统上,用户正常登陆系统的相关日志信息,last命令可以查看

lastlog:用于查看当前系统上每一个用户最后一次登陆的信息。

/var/log/messages:系统日志信息; /var/log/desg:系统引导过程中的日志信息; 文本查看工具查看; 也可以使用专用命令dmesg查看;


配置rsyslog成为日志服务器;

 vim /etc/rsyslog.conf##### MODULES #####Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514Provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514systemctl restart rsyslog

rsyslog将日志记录于MySQL中;

(1)准备MySQL server

 yum install mariadb mariadb-server

(2)在MySQL server上授权rsyslog能连接至当前服务器;

 mysqlgrant all on Syslog.\* to 'rsyslog'@'%' identified by 'magedu';

(3)在rsyslog主机上安装MySQL模块相关的程序包

 yum install rsyslog-mysql

(4)为rsyslog创建数据库及表;

 mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

(5)配置rsyslog将日志保存于MySQL中;

 vim /etc/rsyslog.conf### MODULES ###$ModLoad ommysql### RULES ###facility.priority :ommysql:DBHOST,DBNAME,DBUSER,DBUSERPASSWORD

(6)重启rsyslog服务;

 systemctl restart rsyslog

通过loganalyzer展示数据库中的日志:

(1)准备lamp或lnmp组合;

 yum install -y httpd php php-mysql php-gd

启动服务

 systemctl start httpdsystemctl start mariadb

(2)安装loganalyzer

 tar xvf loganalyzer-3.6.5.tar.gzcp -a loganalyzer-3.6.5/src /var/www/html/logcd /var/www/html/logtouch config.phpchmod 666 config.php

(3)配置loganalyzer

 systemctl start httpd

浏览器中输入:http://HOST/log (HOST为rsyslog服务器ip)

点击here

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

点击next

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

点击next

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

点击next

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

填写数据库信息

点击next

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

点击finish

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

rsyslog+mysql+loganalyzer 搭建日志服务器及监控

 (4)安全加强

 cd /var/www/html/logchmod 644 config.php

原创文章,作者:wangshuai,如若转载,请注明出处:http://www.178linux.com/66347

(1)
wangshuaiwangshuai
上一篇 2017-01-10
下一篇 2017-01-10

相关推荐

  • ☞卸载kernel玩一玩

    卸载kernel玩一玩 废话不多说,下面开始卸载内核这一惊险之旅,特别提醒在开始之前做好虚拟机的快照,也许会造成系统无法启动,也许会出现各种错误,也许会笑着删数据库跑路,也许会从入门到放弃,,请系好安全带。  练习 冒泡排序法 #!/bin/bash##Author:jasonmc#Date:2016-08-24#Description:buble…

    Linux干货 2016-08-26
  • yum

    yum yum:YellowdogUpdate Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)文件服务器:http://https://ftp://file:// …

    2017-08-17
  • 马哥教育网络班21期-第九周课程练习

    "1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i login_user=0 declare -i nologin_user=0 whil…

    Linux干货 2016-09-15
  • Docker之~集群配置

    一、前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。 本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernet…

    2015-03-23
  • vim的使用

    vim 编辑器  vim的模式:      编辑模式      输入模式      扩展编辑模式:在编辑模式中输入:  ====================================   编辑模式转换成输入模式 &nbs…

    Linux干货 2016-08-11
  • Linux基础之正则表达式,用户、组管理

    Linux基础—正则表达式 正则表达式简单来说就是一种行字符串处理的方式,通过一些特殊符号的辅助,可达到搜索、删除、替换等某些特定字符串的处理方式 通配符(Globbing) 通配符与元字符类似,通配符主要用于文件名的匹配,而元字符则主要用在字符串的匹配上; 下面介绍几种常用的通配符: * 表示匹配任意位数的任意字符 ? 表示…

    Linux干货 2016-10-03