通过loganalyzer展示数据库中的日志
目的:通过loganalyzer展示数据库中的日志
准备环境:
CentOS7_1:用来生成日志
CentOS7_2:用来存放日志的数据库
CentOS7_3:LAP服务器
第一步:在CentOS7_2安装mysql数据库
此处使用二进制安装mariadb,可参考:
https://blog.51cto.com/14230410/2385780
安装好mysql后,还需要安装rsyslog-mysql
yum install rsyslog-mysql -y
安装后可以看到,这个包里面就包含了一个模块和一个脚本。脚本是用来创建需要的用户和表的。
首先创建用户,将这个脚本发送到CengOS7_2上:
scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.72.112:/data/
然后在CentOS7_1上写上路径远程执行该脚本:
ssh 192.168.72.112 'mysql < /data/mysql-createDB.sql'
这个时候在CentOS7_2上就可以看到创建好的表了。但是我们还需要一个用户来管理该数据库。
创建loguser用户来管理这个库:
grant all on Syslog.* to loguser@'192.168.72.%' identified by 'centos';
注:此处创建的用户,让其对Syslog库拥有所有权限,且只能在192.168.72.1这个网段登陆。
创建完成后,将来就可以使用loguser来远程连接管理该数据库了。
第二步:在CentOS7_1上来参考原有的格式修改配置模块,使其能够引用模块
修改模块的配置文件:
vim /etc/rsyslog.conf$ModLoad ommysql
直接在文件最后添加这行即可启动该模块。这里不需要写路径名,也不需要加后缀,只写个文件名即可。
注:查看文件名:
rpm -ql rsyslog-mysql
启用模块后,还需要定义规则:
vim /etc/rsyslog.conf*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.72.111,Syslog,loguser,centos
注:默认的配置文件大概67%的位置添加上面这行,表示将日志发往192.168.72.111的数据库中。默认是放在本机的/var/log/messages中,这里选择直接添加,意味着日志会在本机保存一份并向远程数据库中发送一份。
第三步:安装使用loganalyzer
当然,只放在数据库中看起来太乱了,我们希望画出饼状图、柱状图之类的。这时候就需要利用loganalyzer来展示数据库中的日志。这时就需要使用CentOS7_3搭建loganalyzer。
首先在CentOS7_3上安装loganalyzer需要的工具:
yum install httpd php php-mysql php-gd -y
注:此处安装了apache、php,php想管理mysql所需的模块php-mysql,还有使用图形的模块php-gd。
安装好之后将服务启动:
systemctl start httpd
可以看到80端口已经启动了。这时php就已经启动了,但是还没有连接数据库,需要一个连接数据库的代码文件。
代码示例:
<?php$mysqli=new mysqli("mysqlserver",“username",“password");if(mysqli_connect_errno()){echo "Failure";$mysqli=null;exit;}echo “OK";$mysqli->close();?>
注:此处只是给出一个代码块的示例,根据自己需要修改数据库名字、用户名、用户密码等等。
现在就可以安装loganalyzer了。yum默认没有这个包,所以需要去官网下载源码包:
http://loganalyzer.adiscon.com/
下载好之后,使用tar将其解压缩至/var/www/html下:
tar xvf loganalyzer-4.1.7.tar.gz -C /var/www/html/
解压后的目录名太长了,不方便管理,可以根据个人需要考虑将其换个名字。这里将其改名为log:
mv loganalyzer-4.1.7/ log/
但是这个时候就会发现,这个目录中什么都没有,不能够直接使用。仔细观察就会发现,里面有个文件夹src,真正的配置文件都放在了这里面。所以,我们需要将其拿出来并改名(因为已经有个log了,所以此处该命为logs):
mv log/src logs
原本的log文件中还有几个脚本,可以看到里面的说明。里面写了,还需要创建一个config.php文件,并且给它666权限,这个文件将来就是连接数据库的。创建出来之后去安装系统,安装好之后需要将其改为644,因为666权限太大了,容易被******。
接下来在windows上打开浏览器,输入:本机ip/logs。后面就是图形化安装界面了。根据提示填好信息下一步下一步就可以了。。。
到此,该实验就结束了。可以通过网页来查看日志了。数据库发生操作,刷新一下网页就能看到最新记录的日志了。当然,这个工具不仅提供了文字页面,在上面那行第三个还有个统计(Statistics),点进去可以看到,各种表格都是现成的,都不需要自己做了。对于小公司而言基本够用了。大公司或许会感觉简陋点。里面还有搜索、官方的说明帮助手册等等。
注:如果说在上图的信息填写错误,或者说管理数据库的用户的密码更改之后,使用原密码会导致连接不上去。其实在安装好之后,config.php文件中会生成很多数据,其中就有用户口令等信息,如果填写错误或者发生变化,修改config.php文件即可。
转载于:https://blog.51cto.com/14230410/2396508
相关文章:

libmemcached 1.0.11 发布
libmemcached 1.0.11 删除了 memcached 的定制版本,更新了硬化(hardening)规则,修复了 socket 连接返回错误的问题。 libmemcached是C客户端到memcached服 务器的接口库。具有低内存占用率、线程安全、并提供对memcached功能的全面支持。它还采用多种命令…

python描述器做权限控制_Python装饰器14-描述器
描述器这是Python一个重要的概念,英文名:Descriptordescriptor是对象的一个属性,只不过它存在于类的dict中并且有特殊方法get(可能还有set和__delete)而具有一点特别的功能,为了方便指代这样的属性,我们给它起了个名字叫descripto…

数据结构(1)有序表查找
有序表查找 /* 主函数 */public class OrderTableSearch {public static void main(String[] args) {int [] a {0,1,16,24,35,47,59,62,73,88,99}; System.out.println(FibonacciSearch(a, 10, 88));System.out.println(InsertKeySearch(a, 10, 88));System.out.println(Bina…

Java实现MD5(32/16位大小写)加密
MD5简单介绍 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”…

OD使用教程6 - 调试篇06|解密系列
OD使用教程6 - 调试篇06 让编程改变世界 Change the world by program 这一讲开始,小甲鱼带大家接触真正程序的逆向。其实也没啥大不了的,也就是对之前所学的知识进行巩固和加强。 不过,在每一节课中,小甲鱼都会教给大家不同的新…

宝塔面板 mysql装不上_宝塔面板强制安装mysql8.0
释放双眼,带上耳机,听听看~!mysql终于更新到8.0,mysql8.0对比以往的版本有了很大的提升,但是要求的服务器配置也就变得越来越高。对于低配置服务器,在宝塔面板进行安装时,总会出现“至少需要2个…

android studio 怎么运行java
方法/步骤 1、新建一个project,或者如果已经有project的话,那就直接新建一个module.注意选择Java library,然后下一步 2、输入module的一些信息。点击finish 3、在左侧找到build.gradle,双击打开,参照图中修改一下配置…

运行PHP出现No input file specified错误解决办法
配置了一台新服务器,使用的是IIS Fastcgi PHP 5.3.X,访问php页面的时候就会报错“No input file specified” 在php.ini文件里面修改: 1、增加一行(这个最重要) fastcgi.impersonate 1 2、修改两项(解开…

Microsoft Security Essentials 4.1.522.0 RTM
简单说一下新版本的新功能,其中最强的是云端修复系统受损或病毒感染文件功能、重新编写的网络检查系统防御病毒入侵、新增自我保护,后台监控主进程无法用任务管理器结束。 Microsoft Security Essentials 是 Microsoft 提供的免费杀毒下载软件࿰…

wincc vbs mysql_Wincc VBS操作txt及SQL2005
系统:Win7 32Bits 旗舰版wincc: 7.0 sp3英文版Dim strConnectionStringDim objConnectionDim objCommandDim strSQLDim RsDim sdayDim smonthDim edayDim emonthDim str1Dim str2Dim tempDim sqlwhereDim msgDim CDG, WSH, FilePathDim fso, fo, slDim read_tempDim OrderFileN…

[Python]网络打解包
Python与C、C交互的时候,如果进行网络消息的收发,需要讲数据打包解包为字节流。 这时候就会用到Struct模块中的pack、unpack函数 打包: PKG # ! means network byte#PkgHeadPKG pack(!i, 0x54434d) #intPKG pack(!H, 4) #us…

TiKV 成功晋级 CNCF 孵化项目
今天,CNCF(Cloud Native Computing Foundation,云原生计算基金会)技术监督委员会(TOC)宣布已经投票决议通过,正式将 TiKV 从沙箱项目晋级至孵化项目。 TiKV 是一个开源的分布式事务 Key-Value 数…

平均符号熵的计算公式_交叉熵(Cross Entropy)从原理到代码解读
交叉熵(Cross Entropy)是Shannon(香浓)信息论中的一个概念,在深度学习领域中解决分类问题时常用它作为损失函数。原理部分:要想搞懂交叉熵需要先清楚一些概念,顺序如下:1.自信息量—>2.信息熵(熵)—>3.相对熵(KL散度)—>…

在 Ubuntu 配置 PPTP Server
本文在 Ubuntu 12.4 或 14 亲测有效。 建立 PPTP 服务器 首先安装 pptp 服务器。 # apt-get install pptpd 然后配置 pptpd。 # sudo vi /etc/pptpd.conf 在 pptpd.conf 文件末尾添加服务器 IP 和客户端 IP。 localip 192.168.3.1 remoteip 192.168.3.100-200 以上配置意味着服…

IAP超级详解,偷懒了,不用自己去翻译了
转载自:http://gaohaijun.blog.163.com/blog/static/176698271201143194018328/ 一、In App Purchase概览 Store Kit代表App和App Store之间进行通信。程序将从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买。 当用户需要购买某件…

linux负载均衡(什么是负载均衡)
linux负载均衡(什么是负载均衡) 一、总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 关键点一:…

win8数据源设置mysql_Win8系统ODBC数据源有何重要功能?
对计算机发展比较有研究的朋友一定会知道ODBC,它是一个比较古老的东西,发展到现在Win8系统上版本已经是3.8了。微软虽然没有对ODBC做很大的更新,但是正因为ODBC是一个比较成熟和古老的规范,因此它的作用才显得不那么突出ÿ…
【HTML/XML 11】XML和HTML的混合使用
导读:在前面介绍了很多关于XML和HTML的东西,他们其实各有各的好处,在很多时候都需要结合起来使用。现在已经有XML和HTML结合的产物:XHTML(可扩展超文本标记语言)。在本篇博客中,则主要介绍通过引…

web架构之mysql服务器
SQL概述结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。从上可以看出我们数据库…
ORM查询语言(OQL)简介--概念篇
相关文章内容索引: ORM查询语言(OQL)简介--概念篇ORM查询语言(OQL)简介--实例篇ORM查询语言(OQL)简介--高级篇:脱胎换骨ORM查询语言(OQL)简介--高级篇&#x…

mysql优化 top_Top 20+ MySQL Best Practices【sql优化】
Database operations often tend to be the main bottleneck for most webapplications today. It’s not only the DBA’s (database administrators)that have to worry about these performance issues. We as programmersneed to do our part by structuring tables proper…

hibernate分页
分页从网上考的,好用。这个框架 /** * 用于分页的工具类 * author 莫取网名 */ public class Pager<T> {private List<T> list; //对象记录结果集 private int total 0; // 总记录数 private int limit 10; // 每页显示记录数 private int pages 1; …

Scrum Meeting 博客汇总
Scrum Meeting 博客汇总 一、Scrum Meeting 1. Alpha 第一次 Scrum Meeting第二次 Scrum Meeting第三次 Scrum Meeting第四次 Scrum Meeting第五次 Scrum Meeting第六次 Scrum Meeting第七次 Scrum Meeting第八次 Scrum Meeting第九次 Scrum Meeting第十次 Scrum Meeting第十一…

mysql字符串外键约束_MySQL中的约束函数主外键
/*select语句有6大子句:(1)from子句(2)where子句(3)group by子句(4)having子句(5)order by子句(6)limit子句强调:每一个select的6大子句的顺序是(1)-(6)(1)from子句,后面跟表,视图,多行多列的二维表的结构from意思从哪…

POJ 3683 【2-sat+求一组可行解】.cpp
题意: 有一个牧师要给好几对新婚夫妇准备婚礼.. 已知每对新婚夫妇的有空的时间以及婚礼持续时间.. 问是否可以让每对新婚夫妇都得到该牧师的祝福~ 如果可以就输出YES以及可行解 不可以就输出NO 输入: 一个n 表示有n对新婚夫妇 接下来n行每行a b c 表示在…

Matlab并行编程方法1
相信很多朋友在利用matlab进行计算时,会遇到循环次数过大,或者是单次计算量过大的问题,比如需要计算的数值阵列数据量过大,利用传统的编程方式,跑一次程序几个小时,都要等的急死了是不是呢?如果…

使用postman修改SAP Marketing Cloud contact主数据
Marketing Cloud里的contact主数据,创建成功后也不是所有字段都能够被修改。在Personal data区域的字段是可以被修改的。 比如我在“客户属性”字段里维护了一些值: 然后点保存: 其中第二个batch操作是通过一个roundtrip读取contact模型下多个…

java判断一个对象是否为空_Java中判断对象是否为空的方法的详解
首先来看一下工具StringUtils的判断方法:一种是org.apache.commons.lang3包下的;另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:StringUtils.isEmpty(CharSequence cs); //org.apache.commons…

解决cocos2dx 3.x 导入cocostudio的ui界面出现错位问题
笔者今天发现导入cocostudio的ui界面时,会有部分控件出现错位的现象,后来我看了一下源码,发现是部分控件是没有继承 Layout类,导致不能设置控件位置造成,原因可以看看cocos2dx 源码的CCSGUIReader.cpp文件的函数&#…

Media Queries
支持情况罗列成如下表: Media Queries 使用 说起CSS3的新特性,就不得不提到 Media Queries 。 本文比较详细,所以很多实际中用不到。所以如果只是想简单了解Media Queries,推荐参考 CSS3 Media Queries 。 CSS2.1定义了 Media 的部…