xywuyiba6 发表于 2015-11-22 11:49:57

percona_template_for_cacti监控图像增加对redis多实例监控的支持

  percona的cacti模板还是挺帅气的,但是对于redis、memercache等多实例而言,只能监控默认6379,或者一个其他端口(总之不能监控所有实例),这还是很可惜的,要实现监控一切可以监控的对象,就必须自定义模板,经过了半天的摸索,终于实现了,先来看一下帅气的截图:


  

  步骤:
  1、下载percona模板,解压,因之前用的时1.0.1版本的,所以还是在原版本的基础上修改
  wget http://www.percona.com/redir/downloads/percona-monitoring-plugins/1.0.1/percona-monitoring-plugins-1.0.1.tar.gz
  

  2、在redis的默认模板配置文件的基础上增加选项port2,用户在新建redis监控图像时要求填写redis端口号,不填的话就是默认的6379,ss_get_by_ssh.php脚本通过port2选项连接指定端口的redis实例:
  cd percona-monitoring-plugins-1.0.1/cacti/bin
  ➜bin./pmp-cacti-template \
> --script ../scripts/ss_get_by_ssh.php ../definitions/redis.def \
> --mpds port2 >../templates/cacti_host_template_percona_redis_server_ht_for_multi_instance.xml

  

  创建模板脚本的使用说明
  ➜bin./pmp-cacti-template --help
pmp-cacti-template generates a Cacti template from a definition file.For more
details, please use the --help option, or try 'perldoc pmp-cacti-template' for
complete documentation.


Usage: pmp-cacti-template <options> FILE


Options:
--cactiver       Create templates for this Cacti version
--graph_height   Height of generated graphs (default 120)
--graph_width    Width of generated graphs (default 500)
--help         Show this help message
--lint_check   Complain about unused data found in the script
--mpds         Comma-separated list of input method options to make
                   per-data-source
--name_prefix    Template name prefix (default Percona)
--poll_intervalPolling interval (default 300)
--script         Command-line script to use (required)
--smallint       Create templates for 32-bit MySQL
--version      Output version information and exit


Options and values after processing arguments:
--cactiver       (No value)
--graph_height   120
--graph_width    500
--help         TRUE
--lint_check   FALSE
--mpds
--name_prefix    Percona
--poll_interval300
--script         (No value)
--smallint       FALSE
--version      FALSE
➜bin

  

  3、在cacti的web管理页面导入新创建的redis模板cacti_host_template_percona_redis_server_ht_for_multi_instance.xml
  console->Import/Export->Import Templates->choose file->import
  

  4、修改redis模板中图像的title,以便区分图像属于那个实例,本例使用用户在创建图像时输入的端口号区分,在cacti中变量使用||引用
  console->Templates->Graph Templates->search 'redis' and select a redis template->in Graph Template title->|host_description| - Redis Commands - |input_port2|->save


  

  5、新建redis的监控图像,记得填写端口号


  

  

  6、如果在导入新模板之前已经有对redis 6379的监控,这时图像显示名字会不正常,如192.168.0.19_Redis19- Redis Unsaved Changes - |input_port2|,而非192.168.0.19_Redis19- Redis Unsaved Changes - 6382
  需要修改之前的datasource
  console->Create->Data Sources->search 'redis' and select a data source->in the Custom Data,let port2=6379->save


  

  7、脚本刷新图像显示名字
  在cacti服务器的脚本目录下:
  # pwd
/var/www/cacti/cacti/cli
# php -q poller_graphs_reapply_names.php-id=All -d -s=Redis
WARNING: Do not interrupt this script.Interrupting during rename can cause issues
DEBUG: There are '142' Graphs to rename
DEBUG: Graph Name '192.168.0.19_Redis19 - Redis Commands - 6379' starting
DEBUG: Graph Rename Done for Graph '192.168.0.19_Redis19 - Redis Commands - 6379'
DEBUG: Graph Name '192.168.0.19_Redis19 - Redis Connections - 6379' starting
DEBUG: Graph Rename Done for Graph '192.168.0.19_Redis19 - Redis Connections - 6379'
DEBUG: Graph Name '192.168.0.19_Redis19 - Redis Memory - 6379' starting
DEBUG: Graph Rename Done for Graph '192.168.0.19_Redis19 - Redis Memory - 6379'

  

  8、ok,刷新web图像就显示正常,见本文开头截图。
  

  

  

  

  

  

  

  
页: [1]
查看完整版本: percona_template_for_cacti监控图像增加对redis多实例监控的支持