[Cacti] cacti监控mongodb性能实战

 2023-09-05 阅读 45 评论 0

摘要:前言:为了更好的使用mongodb,须要监控出mongodb的一些基础使用情况,比方Flush数、连接数、内存使用率、Index操作。Slave延迟等等,这些能够通过配置cacti监控mongodb的模板来完毕。1。在cacti界面导入模板在计算机本地。下载此tgz包:http


 前言:

         为了更好的使用mongodb,须要监控出mongodb的一些基础使用情况,比方Flush数、连接数、内存使用率、Index操作。Slave延迟等等,这些能够通过配置cacti监控mongodb的模板来完毕。
 

1。在cacti界面导入模板

在计算机本地。下载此tgz包:http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

解压到随意文件夹。然后打开cacti的web界面,选择"Import/Export" — "Improt Templates",点击"选择文件"。将cacti_host_template_x_mongodb_server_ht_0.8.6i-sver1.1.8.xml。导入到cacti里。这样,cacti的图形模板里就能够选择使用mongodb的图形项目了。


2,在cacti服务器端配置监控脚本

[root@squid-2 soft]#  wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

[root@squid-2 soft]# tar zxvf better-cacti-templates-1.1.8.tar.gz

[root@squid-2 soft]# cd better-cacti-templates-1.1.8

[root@squid-2 better-cacti-templates-1.1.8]#  cp scripts/ss_get_by_ssh.php /var/www/html/cacti/scripts/ss_get_by_ssh.php

[root@squid-2 better-cacti-templates-1.1.8]# chown –R apache /var/www/html/cacti/scripts/ss_get_by_ssh.php

 

改动监控脚本ss_get_by_ssh.php

[root@squid-2 better-cacti-templates-1.1.8]# vim /var/www/html/cacti/scripts/ss_get_by_ssh.php

$ssh_user   = 'root';                          # SSH username

$ssh_port   = 22;                               # SSH port

$ssh_iden   = '-i /var/www/html/cacti/id_rsa';  # SSH identity

 

这里mongodb因为使用了30000端口不是默认端口27018,所以还须要改动端口配置

  function mongodb_cmdline ( $options ) {

  return “echo \”db._adminCommand({serverStatus:1, repl:2})\” | /usr/local/mongo/mongodb/bin/mongo --port 30000″;

  }

之后。重新启动cacti服务

[root@squid-2 templates]# service httpd restart

停止 httpd:                                               [确定]

正在启动 httpd:                                           [确定]

[root@squid-2 templates]#

 

3,使用SSH的方式登录监控

1):创建SSH远曾登录账号

使用ssh-keygen命令生成秘钥,回车后输入key的路径/var/www/html/cacti/id_rsa,然后2个回车,密码为空,例如以下:

[root@ squid-2 soft]# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): /var/www/html/cacti/id_rsa

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /var/www/html/cacti/id_rsa.

Your public key has been saved in /var/www/html/cacti/id_rsa.pub.

The key fingerprint is:

73:8e:77:45:a0:54:ef:c8:a4:2d:62:50:8d:da:d8:e4 root@name01

The key's randomart image is:

+--[ RSA 2048]----+

|        .o..o    |

|       .o... o   |

|      .B  . . o  |

|      o.E  = +   |

|        S + + o  |

|       . * . .   |

|        . o .    |

|         . .     |

|                 |

+-----------------+

 

key文件权限改成cacti的使用用户能够訪问的权限:

[root@ squid-2 soft]# chown -R cacti_user /var/www/html/cacti/id_rsa*

[root@ squid-2 soft]#

key加入到远程mongodb服务器上,也可在远程服务器建立一个cacti_user用户,将key加上到cactiuser文件夹下

[root@ squid-2 soft]# ssh-copy-id -i /var/www/html/cacti/id_rsa root@10.254.3.62

 

(2):配置各种參数

  改动ss_get_by_ssh.php,设置好私钥文件路径:

  $ssh_user   = 'root';                          # SSH username

  $ssh_port   = 22;                               # SSH port

  $ssh_iden   = '-i /var/www/html/cacti/id_rsa';  # SSH identity

  假设mongodb不使用默认端口,须要改动以下一段,把端口加上就可以:

  function mongodb_cmdline ( $options ) {

  return “echo \”db._adminCommand({serverStatus:1, repl:2})\” | /usr/local/mongo/mongodb/bin/mongo --port 30000″;

  }


3)检測监控脚本

[root@squid-2 templates]# php /var/www/html/cacti/scripts/ss_get_by_ssh.php  --type mongodb --host 10.254.3.62 --items dc,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt,du

dc:57 de:0 df:401604608 dg:-1 dh:-1 di:-1 dj:-1 dk:-1 dl:-1 dm:-1 dn:-1 do:46268320 dp:5245 dq:0 dr:6 ds:52 dt:46697435 du:-1[root@squid-2 templates]#

[root@squid-2 templates]#

看到有数据了,检測OK。


4。使用Mongodb远程连接的方式来监控

4.1. 改动mongodb_cmdline函数,通过授权帐号密码、指定端口进行登录。

function mongodb_cmdline ( $options ) {

   // return "echo \"db._adminCommand({serverStatus:1, repl:2})\" | mongo";

   return "echo \"db._adminCommand({serverStatus:1, repl:2})\" | /usr/local/mongodb/bin/mongo admin --port $options[port2] --username pluser --password !378zm13yt";

}

 

4.2. 改动get_command_result函数。採用远程登录的方式,而非默认SSH的方式。(数据库本来就能够远程连接)大概在558

// $final_cmd = $use_ssh ? "$ssh '$cmd'" : $cmd;

$final_cmd = "$cmd --host $options[host]";

 

4.3 改动Data Input Methods

         选择“Console”,在左側菜单条选择“Data Input Methonds”,再选择mongodb监控项连接“X Get Mongodb Stats…”,在中间的“Input String”后面的输入框里面,带上參数符合。例如以下所看到的:

<path_php_binary> -q <path_cacti>/scripts/ss_get_by_ssh.php --host <hostname> --type mongodb –port2 30000 --username pluser --password !378zm13yt --items dk,dl,dm,dn


4.4. 运行脚本进行測试。结果例如以下:

[root@squid-2 ~]# php ss_get_by_ssh.php --type mongodb --host 10.254.3.62 --port2 30000 --items jc,jd

PHP Parse error:  syntax error, unexpected T_STRING in /var/www/html/cacti/scripts/ss_get_by_ssh.php on line 1265

[root@squid-2 ~]#

脚本有全角乱码,去掉,再运行脚本进行測试,结果例如以下:

[@cacti scripts]# php ss_get_by_ssh.php --type mongodb --host 10.254.3.62 --port2 30000 --items jc,jd

jc:4 jd:5497683968

 

5。生成监控图

在界面。选择“Device”。选择mongodb服务器连接“3.X2_mongodb”。再选择右上角的“Create Graphs for this Host”,在“Graph Types”后的下拉框里面选择Mongodb服务项,就会看到列表中有mongodb监控服务。然后打勾选上,点击右下角的“Create”button,为主机加入进监控图,例如以下所看到的:


PS:在加入Device设备的时候。假设勾选了MongoDB的模板。须要指定Port2參数。


  
6,查看mongodb监控图像

    加入完毕之后,会有一下系列监控图,例如以下所看到的:


(1)MongoDB Background Flushes GT


 

(2)MongoDB Commands GT

   

 

(3)MongoDB Connections GT

 

(4)MongoDB Index Ops GT

 

(5)MongoDB Memory GT

 

(6) MongoDB Slave Lag GT

 

----------------------------------------------------------------------------------------------------------------

<版权全部。文章同意转载,但必须以链接方式注明源地址。否则追究法律责任!>
​本文章地址原始地址:http://blog.csdn.net/mchdba/article/details/39805039

----------------------------------------------------------------------------------------------------------------

參考文章地址:
http://blog.chinaunix.net/uid-21505614-id-3186756.html

http://c20031776.blog.163.com/blog/static/68471625201341424117630/


 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/1258.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息