Loading... ## 前言 rsyslog:系统的一个日志服务,记录用户空间日志和内核日志 日志分为: 日志收集方、设施(facility) 日志级别(priority) 设施分为以下几种类别: > auth authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, local0-local7, syslog > 日志级别:debug, info, notice,warn(warning), err(error), crit(critical), alert, emerg(panic) > emerg(panic) 程序或者系统崩溃前的最后信息 在`rsyslog.conf`中指定级别: * :所有级别 none :没有级别(表示不记录) priority :此级别及更高级别日志 =priority :只记录此级别 #格式 facility.priorty /var/log/messages 程序环境: >程序包 :rsyslog >主程序 : rsyslogd >配置文件 :/etc/rsyslog.conf >服务文件 :/usr/lib/systemd/system/rsyslog.service 命令`dmesg`:显示系统引导过程日志 **rsyslog.conf简单介绍** 配置文件分为下面三个部分 #### MODULES #### #模块加载部分 #### GLOBAL DIRECTIVES #### #全局设置部分 #### RULES #### #定义日志记录保存 `RULES`: facility(设施).priority(级别) target(目标) 文件记录的格式: 事件产生的时间 主机 进程(PID): 事件内容 部分日志为二进制格式,比如`/var/log/wtmp /var/log/btmp` 查看日志命令: /var/log/wtmp last #当前系统上成功登陆的日志; /var/log/btmp lastb #当前系统失败的登陆尝试; lastlog #显示每一个用户最近一次的登陆时间 <div class="tip inlineBlock warning"> 配置文件,记录于文件前面的“ - ”号,目的是让日志异步写入存储 </div> mail.* -/var/log/maillog #表示邮件的所有级别日志,异步写入磁盘,降低IO,提高性能 ## 一:rsyslog作为日志服务器 可以通过udp和tcp方式建立网络连接 **启用方式** 编辑配置文件,启用模块: # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514 <div class="tip inlineBlock success"> 在udp/tcp任意选择,要模块和端口一起加载,去掉模块的注释和监听端口的注释! </div> **客户端发送日志到日志服务器** 修改配置文件`/etc/rsyslog.conf`中的`#### RULES ####` **示例:** *.info;mail.none;authpriv.none;cron.none @192.168.123.25 #将上面定义的日志发送到位于192.168.123.25的日志服务器 ## 二:将日志保存到数据库 ### 1.安装rsyslog-mysql rsysog-mysql用于支持将日志写入mysql数据库 ~]# yum install rsyslog-mysql -y ~]# rpm -ql rsyslog-mysql 在rsyslog的配置文件中添加模块 ~]# vim /etc/rsyslog.conf 在模块部分加入mysql模块 ModLoad ommysql ### 2.MySQL为用户授权 ~]# mysql -u root -p 为用户授权 mysql> grant all on Syslog.* to 'syslog'@'%' identified by '123456789'; mysql> flush privileges; <div class="tip inlineBlock warning"> 我这里为了方便演示,授权为全部主机可登录,这样是不安全的,实际生成环境中需限制访问主机,密码修改为复杂! </div> ### 3.导入数据库 mysql> mysql -h数据库的ip -usyslog -p < /usr/share/doc/rsyslog-VERSION/mysql-createDB.sql sql文件位置,可以通过`rpm -ql rsyslog-mysql`查看 ### 4.修改配置文件的target ~]# vim /etc/rsyslog.conf **示例:** *.info;mail.none;authpriv.none;cron.none :ommysql:192.168.123.25,Syslog,syslog,123456789 > :ommysql:主机,数据库名,用户,密码 重启服务 > systemctl restart rsyslog.service ------------ 到此,系统产生的日志将发送到位于192.168.123.25的MySQL数据库 ## 三:安装loganalyzer ### 1.安装必须的软件包 ~]# yum install httpd php php-mysql php-gd -y <div class="tip inlineBlock warning"> 如果出现错误,提示`mysql_connect(): Headers and client library minor...`,是由于php-mysql**不兼容**导致,需要卸载php-mysql,安装`php-mysqlnd`并重启httpd服务. </div> ### 2.下载并安装loganalyzer loganalyzer官网:https://loganalyzer.adiscon.com/ ~]# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.7.tar.gz -C /tmp/loganalyzer-4.1.7.tar.gz ~]# cd /tmp&&tar xf loganalyzer-4.1.7.tar.gz ~]# cd loganalyzer-4.1.7 **安装** ~]# cp src/* /var/www/html/ ~]# cp contrib/* /var/www/html/ ~]# cd /var/www/html ~]# chmod u+x *.sh ~]# ./configure.sh && ./secure.sh ~]# chmod 666 config.php ### 3.网页进行初始化配置 浏览器访问:http://ip/install.php 无报错直接点击下一步 ![](https://blog.beijixs.cn/usr/uploads/2019/09/3635381598.png) ![](https://blog.beijixs.cn/usr/uploads/2019/09/1267196523.png) 下面这些选项保持默认即可,也可修改为自己的需求 ![](https://blog.beijixs.cn/usr/uploads/2019/09/649314605.png) 根据你的,mysql设置,数据库名和表名固定: 数据库名:Syslog 表名:SystemEvents 设置好了直接下一步 ![](https://blog.beijixs.cn/usr/uploads/2019/09/2792309188.png) ![](https://blog.beijixs.cn/usr/uploads/2019/09/449706860.png) ------------ <center>End</center> 最后修改:2019 年 09 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏