MongoDB应用1——日志分析,第1张

线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误、警告、及用户行为等信息。通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题。但当产生大量的日志之后,要想从大量日志里挖掘出有价值的内容,则需要对数据进行进一步的存储和分析。

本文以存储 web 服务的访问日志为例,介绍如何使用 MongoDB 来存储、分析日志数据,让日志数据发挥最大的价值。本文的内容同样适用于其他的日志存储型应用。

一个典型的web服务器的访问日志类似如下,包含访问来源、用户、访问的资源地址、访问结果、用户使用的系统及浏览器类型等。

最简单存储这些日志的方法是,将每行日志存储在一个单独的文档里,每行日志在MongoDB里的存储模式如下所示:

上述模式虽然能解决日志存储的问题,但这些数据分析起来比较麻烦,因为文本分析并不是MongoDB所擅长的,更好的办法是把一行日志存储到MongoDB的文档里前,先提取出各个字段的值。如下所示,上述的日志被转换为一个包含很多个字段的文档。

同时,在这个过程中,如果您觉得有些字段对数据分析没有任何帮助,则可以直接过滤掉,以减少存储上的消耗。比如数据分析不会关心user信息、request、status信息,这几个字段没必要存储。ObjectId里本身包含了时间信息,没必要再单独存储一个time字段 (当然带上time也有好处,time更能代表请求产生的时间,而且查询语句写起来更方便,尽量选择存储空间占用小的数据类型)基于上述考虑,上述日志最终存储的内容可能类似如下所示:

日志存储服务需要能同时支持大量的日志写入,用户可以定制writeConcern来控制日志写入能力,比如如下定制方式:

同时,为了达到最优的写入效率,用户还可以考虑批量的写入方式,一次网络请求写入多条日志。格式如下所示:

dbeventsinsert([doc1, doc2, ])

当日志按上述方式存储到MongoDB后,就可以按照各种查询需求查询日志了。

q_events = dbeventsfind({'path': '/apache_pbgif'})

如果这种查询非常频繁,可以针对path字段建立索引,提高查询效率:

dbeventscreateIndex({path: 1})

通过对time字段建立索引,可加速这类查询:

dbeventscreateIndex({time: 1})

同样,用户还可以使用MongoDB的aggregation、mapreduce框架来做一些更复杂的查询分析,在使用时应该尽量建立合理的索引以提升查询效率。

当写日志的服务节点越来越多时,日志存储的服务需要保证可扩展的日志写入能力以及海量的日志存储能力,这时就需要使用MongoDB sharding来扩展,将日志数据分散存储到多个shard,关键的问题就是shard key的选择。

使用时间戳来进行分片(如ObjectId类型的_id,或者time字段),这种分片方式存在如下问题:

按照_id字段来进行hash分片,能将数据以及写入都均匀都分散到各个shard,写入能力会随shard数量线性增长。但该方案的问题是,数据分散毫无规律。所有的范围查询(数据分析经常需要用到)都需要在所有的shard上进行查找然后合并查询结果,影响查询效率。

假设上述场景里 path 字段的分布是比较均匀的,而且很多查询都是按path维度去划分的,那么可以考虑按照path字段对日志数据进行分片,好处是:

不足的地方是:

当然上述不足的地方也有办法改进,方法是给分片key里引入一个额外的因子,比如原来的shard key是 {path: 1},引入额外的因子后变成:

{path: 1, ssk: 1} 其中ssk可以是一个随机值,比如_id的hash值,或是时间戳,这样相同的path还是根据时间排序的

这样做的效果是分片key的取值分布丰富,并且不会出现单个值特别多的情况。上述几种分片方式各有优劣,用户可以根据实际需求来选择方案。

分片的方案能提供海量的数据存储支持,但随着数据越来越多,存储的成本会不断的上升。通常很多日志数据有个特性,日志数据的价值随时间递减。比如1年前、甚至3个月前的历史数据完全没有分析价值,这部分可以不用存储,以降低存储成本,而在MongoDB里有很多方法支持这一需求。

MongoDB的TTL索引可以支持文档在一定时间之后自动过期删除。例如上述日志time字段代表了请求产生的时间,针对该字段建立一个TTL索引,则文档会在30小时后自动被删除。

dbeventscreateIndex( { time: 1 }, { expireAfterSeconds: 108000 } )

如果对日志保存的时间没有特别严格的要求,只是在总的存储空间上有限制,则可以考虑使用capped collection来存储日志数据。指定一个最大的存储空间或文档数量,当达到阈值时,MongoDB会自动删除capped collection里最老的文档。

dbcreateCollection("event", {capped: true, size: 104857600000}

比如每到月底就将events集合进行重命名,名字里带上当前的月份,然后创建新的events集合用于写入。比如2016年的日志最终会被存储在如下12个集合里:

当需要清理历史数据时,直接将对应的集合删除掉:

不足之处,在于到时候,如果要查询多个月份的数据,查询的语句会稍微复杂些,需要从多个集合里查询结果来合并。

表标PHP已经自带了mongo功能,你就可以操作下面的代码(但是你必须有安装mongodb服务器)

一、连接数据库

使用下面的代码创建一个数据库链接

复制代码 代码如下:

<php

$connection = new Mongo(mongodb://19216815:27017); //链接到 19216815:27017//27017端口是默认的。

$connection = new Mongo( "examplecom" ); //链接到远程主机(默认端口)

$connection = new Mongo( "examplecom:65432" ); //链接到远程主机的自定义的端口

print_r($connection->listDBs());//能打印出数据库数组,看看有几个数据库。

>

如图:

上图说有一个数据库名字叫local,总大小1个字节,他是空的。看见ok表示运行成功。

现在你可以使用$connection链接来操作数据库了

选择数据库

使用下面的代码来选择一个数据库

复制代码 代码如下:

<php

$db = $connection->dbname;

>

这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名

如果拼写错误的话,很有可能会新建一个数据库

复制代码 代码如下:

<php

$db = $connection->mybiglongdbname;

//做一些事情

$db = $connection->mybiglongdbnme;

//现在会连上一个新的数据库

>

获取一个集合

获取一个集合跟选择数据库拥有相同的语法格式

复制代码 代码如下:

<php

$db = $connection->baz;//选择数据库

$collection = $db->foobar;//选择foobar集合

//或者使用更简洁的方式

$collection = $connection->baz->foobar;

>

插入一个文档

多维数组是可以被储存到数据库中的基本单元

一个随机的文档可能是这样

复制代码 代码如下:

<php

$doc = array(

”name” => “MongoDB”,

“type” => “database”,

“count” => 1,

“info” => (object)array( “x” => 203,

“y” => 102),

“versions” => array(“097″, “098″, “099″)

);

>

注意:你可以嵌套数组与对象,对象与文档在mongodb中几乎是一样的,你可以使用$doc调用一个文档或对象,但是info字段总是一个对象而不是一个文档,

本约束适用于所有文档

使用MongoCollection::insert()插入一个文档

复制代码 代码如下:

<php

$m = new Mongo();

$collection = $m->foo->bar;

$collection->insert($doc);

>

mongodb 的 insert()、save() ,区别主要是:若存在主键,insert() 不做操作,而save() 则更改原来的内容为新内容。

存在数据: { _id : 1, " name " : " n1 " }

insert({ _id : 1, " name " : " n2 " }) 会提示错误

save({ _id : 1, " name " : " n2 " }) 会把 n1 改为 n2 。

使用MongoCollection::findOne()查询文档

为了证明上面那段代码的数据已经插入到数据库里了,我们进行简单的 findOne()操作以得到集合中的第一个文档数据,这种方法只返回一个文档数据,

这种方法适用于在你的查询语句的时候只匹配一个文档或者你只关心第一条数据

复制代码 代码如下:

<php

$obj = $collection->findOne();

var_dump( $obj );

>

你会看到下列结果

复制代码 代码如下:

array(5) {

["_id"]=>

object(MongoId)#6 (0) {

}

["name"]

string(7) “MongoDB”

["type"]=>

string(8) “database”

["count"]=>

int(1)

["info"]=>

array (2) {

["x"]=>

int(203)

["y"]=>

int(102)

}

["versions"]

array(3) {

[0]=>

string(5) “097″

[1]=>

string(5) “098″

[2]=>

string(5) “099″

}

}

注意_id字段自动加载了文档上,MongoDB储存元素中以_以及$开头的都是供内部使用的

添加更多文档

为了做一些更有趣的事情,我们添加更多简单的文档到集合中,这些文档如下

复制代码 代码如下:

<php

array( “i” => value );

>

我们可以使用循环相当有效的插入数据

复制代码 代码如下:

<php

for($i=0; $i<100; $i++) {

$collection->insert( array( “i” => $i ) );

}

>

注意:我们可以插入不同的字段在同一字符集中,在这方面意味着MongoDB拥有非常自由的储存模式

在一个集合中计算文档的数量

现在我们插入了101个文档(我们用循环插入了100个,之前还插入了一个),我们可以使用count()来看看我们的数据是不是都被插入进去了

复制代码 代码如下:

<php

echo $collection->count();

>

这段代码将打印出101

MongoCollection::count() 也可以查询字段数据

使用游标得到集合中的所有文档

为了得到集合中的所有文档,我们可以使用 MongoCollection::find()方法,find()方法返回一个 MongoCursor对象,可以让我们重复得到查询所匹配的的文档

复制代码 代码如下:

<php

$cursor = $collection->find();

foreach ($cursor as $id => $value) {

echo “$id: “;

var_dump( $value );

}

>

这样我们会打印出集合中的这101个文档,$id就是文档中的_id字段,$value 就是文档本身

为查询规定一个标准

我们可以通过find()方法得到集合中的文档子集,例如,我们要查询出集合中i字段为71的文档,我们可以使用下列方法

复制代码 代码如下:

<php

$query = array( “i” => 71 );

$cursor = $collection->find( $query );

while( $cursor->hasNext() ) {

var_dump( $cursor->getNext() );

}

>

我们将打印如下数据

复制代码 代码如下:

array(2) {

["_id"]=>

object(MongoId)#6 (0) {

}

["i"]=>

int(71)

["_ns"]=>

“testCollection”

}

为查询设定一个范围

我们可以通过find()创建一个查询语句以得集合中的一个子集,例如如果我们得到所有”i”>50的文档,我们可以使用如下代码

复制代码 代码如下:

<php

$query = array( “i” => array(‘$gt' =>50)); //注意'$gt'两边的单引号

$cursor = $coll->find( $query );

while( $cursor->hasNext() ) {

var_dump( $cursor->getNext() );

}

>

我们同样可以得到20 < i <= 30之间的数据

复制代码 代码如下:

<php

$query = array( “i” => array( “\$gt” => 20, “\$lte” => 30 ) );

$cursor = $coll->find( $query );

while( $cursor->hasNext() ) {

var_dump( $cursor->getNext() );

}

>

我们非常容易漏掉$美元符号,你也可以选择你自定义的符号来代替美元符号,选择一个不会在你的建里面出现的符号例如”:”,在phpini中加上这么一句话

复制代码 代码如下:

mongocmd = “:”

那么上面的代码就可以替换成

复制代码 代码如下:

<php

$query = array( “i” => array( “:gt” => 20, “:lte” => 30 ) );

>

当然你也可以使用ini_set(“mongocmd”, “:”)的方法来改变

创建一个索引

MongoDB支持索引,并且可以很容易的加到一个集合中,你只要指定某个字段为索引就行了,并且还可以指定 正序索引(1)与 倒序索引(-1)

下面的代码为I创建了索引

复制代码 代码如下:

<php

$coll->ensureIndex( array( “i” => 1 ) ); //在”i”上创建了一个索引

$coll->ensureIndex( array( “i” => -1, “j” => 1 ) );//在”i”上创建了倒序索引 在”j”上创建了正序索引

>

一个完整的简单例子

这个例子展示了如何链接mongodb数据库,如何选择数据库,如何插入数据,如何查询数据,以及关闭数据库链接

复制代码 代码如下:

<php

//链接

$m = new Mongo();

// 选择一个数据库

$db = $m->comedy;

$collection = $db->cartoons;

//添加一个元素

$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );

$collection->insert($obj);

//修改

$newdata = array('$set' => array("title" => "Calvin and Hobbes"));

$collection->update(array("author" => "caleng"), $newdata);

//删除

$collection->remove(array('author'=>'caleng'), array("justOne" => true));

//添加另一个元素,使用不同的格式

$obj = array( "title" => "XKCD", "online" => true );

$collection->insert($obj);

//查询所有的集合

$cursor = $collection->find();

//重复显示结果

foreach ($cursor as $obj) {

echo $obj["title"] "\n";

}

// 关闭链接

$m->close();

>

输出结果为

复制代码 代码如下:

Calvin and Hobbes

XKCD

MongoDB数据库是一个基于分布式文件存储的数据库,很多编程人员会在电脑中安装MongoDB数据库,然而仍然有一些新手并不知道要怎么安装MongoDB数据库,现在就给大家分享一下Win7系统安装MongoDB数据库的方法。

推荐:

解决方法1:

1、将下载的压缩包解压缩并放置到你想放置的位置,在目录下建立一个叫做DB的文件夹和一个logtxt的文件:

DB文件夹用于存储数据库

logtxt用于记录MongoDB的日志

2、将上述工作准备好就可以开始安装快云MongoDB了。

3、这里讲的方法是将MongoDB安装为Windows的服务的方式,打开windows的命令行(注意:请使用个管理员权限启动命令行)并移动到你MongoDB目录下的Bin文件夹,我这里的路径是d:DEVENVmongodb;

4、输入下列命令可将MongoDB注册为Windows服务:

mongodexe install logpath=D:DEVENVmongodblogtxt dbpath=D:DEVENVmongodbDB

install 参数是设定安装为服务器

logpath 参数是设定日志文件的路径,logtxt是在上一步建立好的文件

dbpath 参数是设定数据库文件的存放路径,DB文件夹在上一步骤已经创建好

执行结果如下:

5、这时再输入net start mongodb,即可启动mongodb服务,启动后,再到命令行输入mongo;

6、如果成功的进入mongo的shell环境(参见下图)那么就说明MongoDB已经安装成功了,开始你的NoSQL之旅吧!

以下是一些推荐的数据库教程:

SQL 教程:W3Schools 提供了一份免费的 SQL 教程,适合初学者学习 SQL。该教程涵盖了 SQL 的基础知识、查询、过滤、排序、分组和连接等内容。

SQLBolt:SQLBolt 是一份交互式 SQL 教程,它涵盖了 SQL 的基础语法、查询、过滤、排序、分组和连接等内容。通过这个教程,您可以快速上手 SQL 编程。

MongoDB 教程:MongoDB 官网提供了一份免费的 MongoDB 教程,适合初学者学习 MongoDB。该教程涵盖了 MongoDB 的基础知识、安装、配置、数据建模、查询、索引和聚合等内容。

MySQL 教程:MySQL Tutorial 是一份 MySQL 数据库的免费教程,适合初学者学习 MySQL。该教程涵盖了 MySQL 的基础知识、查询、过滤、排序、分组和连接等内容。

PostgreSQL 教程:PostgreSQL Tutorial 是一份 PostgreSQL 数据库的免费教程,适合初学者学习 PostgreSQL。该教程涵盖了 PostgreSQL 的基础知识、查询、过滤、排序、分组和连接等内容。

希望以上推荐能够对您有所帮助,祝您学习愉快!

Mongodb 部署信息 :

os: centos77 x64 配置好NTP,防火墙默认不做任何限制

mongos部署两个点,config3个点,和3个分片集群(每个分片一主一副一仲裁)

注意:因为判断逻辑的问题,不要在任何节点同时运行两种服务的主点

ansible的hosts文件配置:

环境变量全部都在这里设置,需要都写入到ansible的hosts文件里

变量中

server_1_ip 都设置为主点

server_2_ip 都设置为副点

server_3_ip 都设置为仲裁节点(config server没有仲裁节点,但是也要写,不然mongos的配置文件模板会报错)

这些IP的配置后面在初始化时会用到

ansible文件夹结构 :

首先是模板文件:

mongodconfmongosj2 mongos的配置文件模板

mongodconfnormalj2 shard server和config server的配置文件模板

mongodservicej2 service文件模板

mongokey 直接手动生成 ,用户MongoDB集群之间的加密连接,记得权限改为600

passwdj2 用于配置MongoDB的root用户名密码

执行:

按提示输入服务器密码

包含了系统优化相关设置,注意中间会重启一次让一些系统优化项生效

注意:因为判断逻辑的问题,不要在任何节点同时运行两种服务的主点

执行 :

如果执行有问题建议多检查变量配置

全部完成后可以验证一下集群环境:

登陆分片集群 :

分片的状态显示正常

登陆mongos

可以看到mongos的状态也正常,分片也全部都添加进去 全部安装至此完成

一键删除MongoDB安装及相关数据,方便重装

一键启动整个MongoDB集群

一键停止所有MongoDB集群

以上就是ansible在MongoDB的一键部署脚本,而且附带了对服务器的优化相关配置

作为一名程序员,我相信大家都要接触数据库,对于mysql和mongoDB也有相对的认识,对于mysql我们已经很了解了,现在我们就来简单说说mongoDB数据库。

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

mongoDB数据库的特点:

高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

面向集合存储,易存储对象类型的数据。

所谓"面向集合"(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。Nytro MegaRAID技术中的闪存高速缓存算法,能够快速识别数据库内大数据集中的热数据,提供一致的性能改进。

模式自由(schema-free)。

采用无模式结构存储,意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。采用无模式存储数据是集合区别于RDBMS 中的表的一个重要特征。

支持动态查询。

支持完全索引,包含内部对象。

可以在任意属性上建立索引,包含内部对象。MongoDB的索引和RDBMS 的索引基本一样,可以在指定属性、内部对象上创建索引以提高查询的速度。除此之外,MongoDB 还提供创建基于地理空间的索引的能力。

支持查询。

MongoDB 支持丰富的查询操作,MongoDB 几乎支持SQL中的大部分查询。

支持复制和故障恢复。

MongoDB 支持主从复制机制,可以实现数据备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。

使用高效的二进制数据存储,包括大型对象(如视频等)。

使用二进制格式存储,可以保存任何类型的数据对象。

自动处理碎片,以支持云计算层次的扩展性。

支持RUBY,PYTHON,JAVA,C++,PHP,C#,Perl,JavaScript等多种语言。

MongoDB 提供了当前所有主流开发语言的数据库驱动包,开发人员使用任何一种主流开发语言都可以轻松编程,实现访问MongoDB 数据库。

文件存储格式为BSON(一种JSON的扩展)。

BSON 是对二进制格式的JSON 的简称,BSON 支持文档和数组的嵌套。

可通过网络访问。

可以通过网络远程访问MongoDB 数据库。

强大的聚合工具

MongoDB 除了提供丰富的查询功能外,还提供强大的聚合工具,如count、group 等,支持使用MapReduce 完成复杂的聚合任务。

MongoDB 除了提供丰富的查询功能外,还提供强大的聚合工具,如count、group 等,支持使用MapReduce 完成复杂的聚合任务。

MongoDB 主要应用场景有:

(1)网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

(2)缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。

(3)高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。

(4)大尺寸、低价值的数据,使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。

不适用的场景如下:

(1)要求高度事务性的系统,例如,银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。

(2)传统的商业智能应用,例如针对特定问题的BI 数据库会产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。

(3)复杂的跨文档(表)级联查询。

1、MySQL Workbench

MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移

MySQL Workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本。该软件支持Windows和Linux系统,下面是一些该软件运行的界面截图:

2、数据库管理工具 Navicat Lite

NavicatTM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资料库管理员、开发人员及中小企业的需求。 Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。

界面如下图所示:

Navicat 提供商业版Navicat Premium 和免费的版本 Navicat Lite 。免费版本的功能已经足够强大了。

Navicat 支持的数据库包括MySQL、Oracle、SQLite、PostgreSQL和SQL Server 等。

3、开源ETL工具Kettle

Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

·授权协议:LGPL

·开发语言: Java

·操作系统: 跨平台

4、Eclipse SQLExplorer

SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库。

SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。

SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择,下图是运行中的界面,很好很强大。

l授权协议: 未知

l开发语言: Java

l操作系统: 跨平台

5、MySQL管理工具phpMyAdmin

phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。

l授权协议:GPL

l开发语言:PHP

l操作系统:跨平台

6、Mongodb 管理工具Mongodb Studio

Mongodb是一款性能优良,功能丰富的文档型非关系型数据库。由于该数据库是开源项目并且还在不断更新中,目前为止在任何平台上都不能找到功能相对完整的客户端数据库管理工具。而越来越多的项目中使用了Mongodb,使得管理起来十分麻烦如果点点鼠标就搞定了那该有多好。

基于如上背景,我们制作了此MongoDB管理工具,在DBA/开发/管理员三个维度提供一定层次的管理功能。

Mongodb Management Studio功能如下:

l服务器管理功能

添加服务器,删除服务器

l服务器,数据库,表,列,索引,树形显示和状态信息查看

l查询分析器功能

支持select,insert,Delete,update

支持自定义分页函 数 $rowid(1,5)查询第一条到第五条,需放在select后面

l索引管理功能

支持列名的显示,索引的创建,查看,删除

l数据库Profile管理

可以设置Profile开关,查看Profile信息自定义分页大小

lmaster/slave信息显示

7、MySQL监控小工具mycheckpoint

mycheckpoint是一个开源的 MySQL监控工具,主要用来监控数据。通过视图方式提供监控数据报表。mycheckpoint支持以独立的Web服务器来运行。

例如:SELECTinnodb_read_hit_percent, DML FROM sv_report_chart_sample;

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » MongoDB应用1——日志分析

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情