设为首页 收藏本站
查看: 1666|回复: 0

[经验分享] Cacti监控MySQL实现过程中碰到的问题解汇总

[复制链接]

尚未签到

发表于 2015-11-22 14:24:27 | 显示全部楼层 |阅读模式
  前言:cacti监控mysql服务器的大概50张graphs都弄出来了,也出图了,其中遇到一些问题,印象比较深刻的记录如下:
(一):添加io监控

DSC0000.jpg

  点击Create Graphs for this Host 进去创建IO的图,结果报错
DSC0001.jpg
  This data query returned 0 rows, perhaps there was a problem executing this data query. You can run this data query in debug mode to get more information.
  

  进入*Turn On Graph Debug Mode模式,报错如下:
RRDTool Command:

/usr/bin/rrdtool graph - \

--imgformat=PNG \

--start=-86400 \

--end=-300 \

--title='db-m2-slave-1 - Traffic' \

--rigid \

--base=1000 \

--height=120 \

--width=500 \

--alt-autoscale-max \

--lower-limit='0' \

--vertical-label='bits per second' \

--slope-mode \

--font TITLE:10: \

--font AXIS:7: \

--font LEGEND:8: \

--font UNIT:7: \

CDEF:cdefa='a,8,*' \

AREA:cdefa#00CF00FF:'Inbound'  \

GPRINT:cdefa:LAST:' Current\:%8.2lf %s'  \

GPRINT:cdefa:AVERAGE:'Average\:%8.2lf %s'  \

GPRINT:cdefa:MAX:'Maximum\:%8.2lf %s\n'  \

LINE1:cdefa#002A97FF:'Outbound'  \

GPRINT:cdefa:LAST:'Current\:%8.2lf %s'  \

GPRINT:cdefa:AVERAGE:'Average\:%8.2lf %s'  \

GPRINT:cdefa:MAX:'Maximum\:%8.2lf %s\n'

RRDTool Says:

ERROR: invalid rpn expression in: a,8,*,如下图所示

DSC0002.jpg
  
  编辑linux主机下的/etc/snmp/snmpd.conf文件
找到:com2sec notConfigUser  default       public
修改成:com2sec notConfigUser  all       public
找到:access  notConfigGroup ""      any       noauth    exact  systemview none none
修改成:access  notConfigGroup ""      any       noauth    exact  all none none
找到:#view all    included  .1     80把该行的#去掉,
找到:#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc 把改行的#去掉,
重起snmpd:/etc/init.d/snmpd restart
  

  (二):MySQL添加主机出不来图
  [iyunv@squid-2 test]# service httpd restart
  停止 httpd:                                               [确定]
  正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
  [确定]
  1)  进入配置文件目录
  cd  /etc/httpd/conf/
  2)编辑httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80
[iyunv@server conf]# ls
extra  httpd.conf  magic  mime.types  original
[iyunv@server conf]# vi httpd.conf
#ServerName www.example.com:80
ServerName localhost:80
3)再重新启动apache 即可。
  
  (三):启动报错
  [iyunv@squid-2 error]# tail -f /var/log/httpd/error_log
  [Sat May 31 22:49:02 2014] [notice] caught SIGTERM, shutting down
  [Sat May 31 22:49:02 2014] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
  [Sat May 31 22:49:02 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
  [Sat May 31 22:49:02 2014] [notice] Digest: generating secret for digest authentication ...
  [Sat May 31 22:49:02 2014] [notice] Digest: done
  [Sat May 31 22:49:02 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 configured -- resuming normal operations
  解决方法:直接关闭SELinux以及防火墙

  

  (四):MySQL监控项出图报错
  [Sat May 31 23:20:10 2014] [error] [client 192.168.171.71] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 523800 bytes) in /var/www/html/cacti/lib/adodb/adodb.inc.php on line 833
  需要导入cacti.sql文件
  mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
  
  (五):SNMP – Interface Statistics报错
  创建SNMP – Interface Statistics报错,如下:
  Created graph: db-m2-slave-2 - Traffic - |query_ifName|
  ERROR: no Data Source associated. Check Template
  [iyunv@squid-2 html]# snmpwalk -c public -v 2c 10.254.3.73 ifHCInOctets
  IF-MIB::ifHCInOctets = No more variables left in this MIB View (It is past the end of the MIB tree)
  [iyunv@squid-2 html]#
  [iyunv@squid-2 html]# snmpwalk -c public -v 2c 10.254.3.73 if
  IF-MIB::ifTable = No Such Object available on this agent at this OID
  于是再次修改snmpd.conf,并重启snmpd
access   notConfigGroup &quot;&quot;       any       noauth     exact   systemview none none-->
access   notConfigGroup &quot;&quot;       any       noauth     exact   all     none none
  [iyunv@db-m2-slave-2 ~]# service snmpd restart
  停止 snmpd:                                               [确定]
  正在启动 snmpd:                                           [确定]
  [iyunv@db-m2-slave-2 ~]#
  [iyunv@squid-2 html]# snmpwalk -c public -v 2c 10.254.3.73 if
  IF-MIB::ifTable = No more variables left in this MIB View (It is past the end of the MIB tree)
  【】解决
  在snmpd.conf配置文件里面,查找以下字段:
  ##           incl/excl subtree                          mask
  #view all    included  .1                               80
  将该行前面的&quot;#&quot;去掉.
  之后重启snmpd服务解决。
  
  报错(六):
  移除出错的图
DSC0003.jpg
  
DSC0004.jpg
  进去Consoleà Graph Management àHost(选择出错的主机地址)—>Search(搜索报错的关键字Used Space),就会找到报错不出错的Graph Title栏目,勾选右侧的全选框,点击Go按钮删除掉这些无效的图即可,如下图所示:
DSC0005.jpg
  然后在新出来的提示界面,点击Continue按钮,删除。
DSC0006.jpg
  
  (七):Memory Free值为nan
DSC0007.jpg
  分析:memery free 无数据,原因: rrdtool  的内存上限为10G
  [iyunv@squid-2 local]# find / -name *mem*.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_mem_buffers_189.rrd
  /var/www/html/cacti/rra/db-master-2_mem_free_156.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_lock_system_memory_20.rrd
  /var/www/html/cacti/rra/db-m2-slave-2_total_mem_alloc_74.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_total_mem_alloc_23.rrd
  /var/www/html/cacti/rra/db-m2-slave-2_lock_system_memory_71.rrd
  /var/www/html/cacti/rra/localhost_mem_swap_4.rrd
  /var/www/html/cacti/rra/db-master-2_total_mem_alloc_117.rrd
  /var/www/html/cacti/rra/db-master-2_mem_cache_155.rrd
  /var/www/html/cacti/rra/db-master-2_mem_buffers_154.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_mem_free_191.rrd
  /var/www/html/cacti/rra/localhost_mem_buffers_3.rrd
  /var/www/html/cacti/rra/db-m2-slave-2_mem_free_164.rrd
  /var/www/html/cacti/rra/db-m2-slave-2_mem_buffers_162.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_mem_buffers_54.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_mem_swap_55.rrd
  /var/www/html/cacti/rra/db-master-2_lock_system_memory_114.rrd
  /var/www/html/cacti/rra/db-m2-slave-2_mem_cache_163.rrd
  /var/www/html/cacti/rra/db-m2-slave-1_mem_cache_190.rrd
  /var/www/html/cacti/rra/db-master-2_mem_free_146.rrd
  [iyunv@squid-2 local]#
  [iyunv@squid-2 local]# rrdtool info /var/www/html/cacti/rra/db-m2-slave-1_mem_free_191.rrd |grep mem_free
  filename = &quot;/var/www/html/cacti/rra/db-m2-slave-1_mem_free_191.rrd&quot;
  ds[mem_free].type = &quot;GAUGE&quot;
  ds[mem_free].minimal_heartbeat = 120
  ds[mem_free].min = 0.0000000000e+00
  ds[mem_free].max = 1.0000000000e+07
  ds[mem_free].last_ds = &quot;34166500&quot;
  ds[mem_free].value = NaN
  ds[mem_free].unknown_sec = 2
  [iyunv@squid-2 local]#
  注:ds[mem_free].max = 1.0000000000e+07  数据的最大值设置为10G
  查看rrdtool如何进行修改,执行—help查看:
  [iyunv@squid-2 local]# rrdtool --help
  RRDtool 1.3.8  Copyright 1997-2009 by Tobias Oetiker <tobi@oetiker.ch>
  Compiled Aug 21 2010 10:57:18
  Usage: rrdtool [options] command command_options
  Valid commands: create, update, updatev, graph, graphv,  dump, restore,
  last, lastupdate, first, info, fetch, tune,
  resize, xport
  RRDtool is distributed under the Terms of the GNU General
  Public License Version 2. (www.gnu.org/copyleft/gpl.html)
  For more information read the RRD manpages
  [iyunv@squid-2 local]#
  采用tune命令参数进行修改:
  [iyunv@squid-2 rra]# rrdtool tune *_mem_free_*.rrd mem_free:100000000
  DS[mem_free] typ: GAUGE     hbt: 120   min: 0.0000      max: 10000000.0000
  [iyunv@squid-2 rra]#
  有提示信息,表名tune失败,原来少了个-a参数,重新修改如下:
  [iyunv@squid-2 rra]# rrdtool tune *_mem_cache_*.rrd -a mem_cache:3000000000
  [iyunv@squid-2 rra]# rrdtool tune *_mem_free_*.rrd -a mem_free:3000000000
  [iyunv@squid-2 rra]# rrdtool tune *_mem_buffers_*.rrd -a mem_buffers:3000000000
  [iyunv@squid-2 rra]#
  这里发现rrdtool执行之后,只有一个host主机的的nan变成数字,其他主机的都没有变, 之所以如此是因为rrdtool tune * -a …命令只有一个.rrd文件起作用,其余的需要自己手动再一次次执行rrdtool tune命令。
  为了简化操作,特意写了一个ssh脚本如下:
  
vim /root/rrdtool_increate_mem.sh
cd /var/www/html/cacti/rra
ls *_mem_free_*.rrd -1 >a_mem_free.txt
for i in `cat a_mem_free.txt`
do
rrdtool tune $i -a mem_free:300000000;
done;
ls *_mem_cache_*.rrd -1 >a_mem_cache.txt
for i in `cat a_mem_cache.txt`
do
rrdtool tune $i -a mem_cache:300000000;
done;
ls *_mem_buffers_*.rrd -1 >a_mem_buffers.txt
for i in `cat a_mem_buffers.txt`
do
rrdtool tune $i -a mem_buffers:300000000;
done;  
  直接sh /root/rrdtool_increate_mem.sh即可。
  
【补充】
  调试cacti的graph,步骤如下:
  (1)     Console ,再进入Graph Manager ,再进入,选择对于的Host,搜索Memory,选中你要的图,点击链接,比如我这里是Memory Usage,如下图所示:
DSC0008.jpg
  
  (2)     再 点击Memory Usage链接进去,点击右上角的Debug模式:
DSC0009.jpg
  
  (3)     就会看到如下的debug界面,可以慢慢来观察RRDTool Command命令,为何是-nan值。
DSC00010.jpg
  
  
  (八):双网卡 Traffic 网卡流量问题
  如下图,em1和em2全部指向一个ip地址,只是em1不生效,em2生效了,但是ip地址在em1上,没有显示在em2一栏。
DSC00011.jpg
  所以,在graph图上,就没有数据,全为-nan-值,如下所示:
DSC00012.jpg
  cacti服务器上面执行check
  [iyunv@squid-2 rra]# snmpwalk -v 2c -c public 10.254.3.72 IF-MIB::ifDescr
  IF-MIB::ifDescr.1 = STRING: lo
  IF-MIB::ifDescr.2 = STRING: em1
  IF-MIB::ifDescr.3 = STRING: em2
  IF-MIB::ifDescr.4 = STRING: em3
  IF-MIB::ifDescr.5 = STRING: em4
  [iyunv@squid-2 rra]#
  确实有4个网卡信息记录,这些都没事,正常,经过仔细排查发现主要原因在下拉选框里面要选择Interface – Traffic (bits/sec),不要选择Interface – Traffic (bytes/sec),如下图所示:
DSC00013.jpg
  
  当选择了Interface – Traffic (bits/sec)之后graph就会出数据,有效果图了。
DSC00014.jpg
  
  

  (九):InnoDB Active/Locked Transactions
RRDTool Says:

ERROR: opening '/var/www/html/cacti/rra/db-m1-slave-1_locked_transactions_215.rrd': No such file or directory

  
  原因是mysql服务器上的让cacti访问的mysql数据库账号没有创建,创建mysql账号好,问题解决。
  
  (十):Tomcat - Connection Rate
  
RRDTool Says:

ERROR: invalid y-grid format

  依次进入Console -->Graph templates->Tomcat - Connection Rate->Unit Grid Value (--unit/--y-grid)
默认的值为1  改成为0即可。

  



  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142196-1-1.html 上篇帖子: Windows下Cacti使用 -2 下篇帖子: CentOS5.4(64bit)下安装配置Cacti----Mysql安装配置(yum安装)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表