Quantcast
Channel: SQLParty »监控
Viewing all articles
Browse latest Browse all 3

Cacti中安装Percona监控插件

$
0
0

Percona提供了一套监控模板,可以监控MySQL,Apache,MongoDB,Linux等。本文记录在Cacti中安装Percona模板进行监控的步骤,以MySQL监控模板为例。

1.下载

http://www.percona.com/downloads/percona-monitoring-plugins/
这里下载percona-monitoring-plugins-1.0.2.tar.gz。

2.提取所需文件

从percona-monitoring-plugins-1.0.2.tar.gz提取本插件安装所需内容。就MySQL监控而言,涉及到:
1)percona-monitoring-plugins-1.0.2\cacti\scripts\ss_get_mysql_stats.php
用于获取监控数据
2)percona-monitoring-plugins-1.0.2\cacti\templates\cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.0.2.xml
监控模板。

3.Cacti服务端操作

将percona-monitoring-plugins-1.0.2\cacti\scripts\ss_get_mysql_stats.php拷贝到Cacti服务器的/var/www/html/cacti/scripts下

4.模板导入

通过Cacti的Web界面,console->Import/Export->Import Templates,导入1.0.2\cacti\templates\cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.0.2.xml文件
出现如下图示即可认为成功:

cacti_percona

5.MySQL配置

有两种方式设置连接数据库的配置

1)直接修改ss_get_mysql_stats.php文件,修改其中
$mysql_user = ’cactiuser’;
$mysql_pass = ’cactiuser’;
$mysql_port = 3306;
这种方法修改了源文件,如果版本更新的话可能会被覆盖,不推荐。

2)在ss_get_mysql_stats.php所在目录下创建ss_get_mysql_stats.php.cnf文件,内容如:
<?php

$mysql_user = “root”;
$mysql_pass = “s3cret”;
$mysql_port = 3306;
该文件安装PHP的标准写法,<?php,没有?>部分。该文件会被ss_get_mysql_stats.php中判断和引用。

注:以上做法,是设置的默认配置。在Web端进行单独配置会覆盖上述配置。

但是,由于监控项较多,在Web端针对不同实例,不同端口,不同连接用户进行分别配置,工作量较大,尝试在ss_get_mysql_stats.php.cnf中根据hostname的不同自动填充host,user,pass,port:
–host <hostname> –user <username> –pass <password> –port <port>

注意:由于这里hostname不使用IP地址,而是使用一个唯一的编码如CHS18-MYSQL-DEV,通过下面的编码转换为指定的host,user,pass,port信息。这时,Downed Device Detection部分选择“None”即可。

ss_get_mysql_stats.php.cnf脚本如下:

<?php
$mysql_insts = array
(
“CHS18-MYSQL-DEV”=>array
(
“host”=>”192.168.2.18″,
“user”=>”user2″,
“pass”=>”pass2″,
“port”=>”3306″
),
“ARS18-MYSQL-PRD”=>array
(
“host”=>”192.168.1.18″,
“user”=>”user1″,
“pass”=>”pass1″,
“port”=>”3312″
)
);

$args=$_SERVER["argv"];
$total=count($args);

$new_args=array();
$inst=”;
$change_flg=false;
for($i=0; $i<$total; $i++)
{
if($args[$i]==’–host’)
{
if(!isset($mysql_insts[$args[$i+1]]))
die(“Unknow mysql host name”);
$change_flg=true;
$inst=$mysql_insts[$args[$i+1]];
$host=$inst["host"];
$new_args[]=$args[$i];
$new_args[]=$host;
$i++;
}
elseif($args[$i]==’–user’||$args[$i]==’–pass’||$args[$i]==’–port’)
{
$new_args[]=$args[$i];
if(($i+1)==$total||strpos($args[$i+1],’–’)===0)
{
$val=$inst[substr($args[$i], 2)];
$new_args[]=$val;
}
}
else
{
$new_args[]=$args[$i];
}
}

if($change_flg)
{
$_SERVER["argv"]=$new_args;
}

The post Cacti中安装Percona监控插件 appeared first on SQLParty.


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images