您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
Cacti监控MySQL实现过程中碰到的问题解汇总
 
作者 mchdba的博客 ,火龙果软件    发布于 2014-07-08
   次浏览      
 

前言:cacti监控mysql服务器的大概50张graphs都弄出来了,也出图了,其中遇到一些问题,印象比较深刻的记录如下:

(一):添加io监控

点击Create Graphs for this Host 进去创建IO的图,结果报错

cd  /etc/httpd/conf/

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,*,如下图所示

编辑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添加主机出不来图

[root@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

[root@server conf]# ls
extra  httpd.conf  magic  mime.types  original
[root@server conf]# vi httpd.conf
#ServerName www.example.com:80
ServerName localhost:80

3)再重新启动apache 即可。

(三):启动报错

[root@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
[root@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)
[root@squid-2 html]#
[root@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 ""       any       noauth     exact   systemview none none-->
access   notConfigGroup ""       any       noauth     exact   all     none none
[root@db-m2-slave-2 ~]# service snmpd restart>

停止 snmpd: [确定]

正在启动 snmpd: [确定]

[root@db-m2-slave-2 ~]#
[root@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配置文件里面,查找以下字段:[/color]

##           incl/excl subtree                          mask
#view all    included  .1                               80

将该行前面的"#"去掉.

之后重启snmpd服务解决。

报错(六):移除出错的图

进去Consoleà Graph Management àHost(选择出错的主机地址)—>Search(搜索报错的关键字Used Space),就会找到报错不出错的Graph Title栏目,勾选右侧的全选框,点击Go按钮删除掉这些无效的图即可,如下图所示:

然后在新出来的提示界面,点击Continue按钮,删除。

(七):Memory Free值为nan

分析:memery free 无数据,原因: rrdtool 的内存上限为10G。

[root@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
[root@squid-2 local]#
[root@squid-2 local]# rrdtool info /var/www/html/cacti/rra/db-m2-slave-1_mem_free_191.rrd |grep mem_free
filename = "/var/www/html/cacti/rra/db-m2-slave-1_mem_free_191.rrd"
ds[mem_free].type = "GAUGE"
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 = "34166500"
ds[mem_free].value = NaN
ds[mem_free].unknown_sec = 2
[root@squid-2 local]#

注:ds[mem_free].max = 1.0000000000e+07 数据的最大值设置为10G

查看rrdtool如何进行修改,执行—help查看:

[root@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
[root@squid-2 local]#

采用tune命令参数进行修改:

[root@squid-2 rra]# rrdtool tune *_mem_free_*.rrd mem_free:100000000
DS[mem_free] typ: GAUGE hbt: 120 min: 0.0000 max: 10000000.0000
[root@squid-2 rra]#

有提示信息,表名tune失败,原来少了个-a参数,重新修改如下:

[root@squid-2 rra]# rrdtool tune *_mem_cache_*.rrd -a mem_cache:3000000000
[root@squid-2 rra]# rrdtool tune *_mem_free_*.rrd -a mem_free:3000000000
[root@squid-2 rra]# rrdtool tune *_mem_buffers_*.rrd -a mem_buffers:3000000000
[root@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,如下图所示:

(2) 再 点击Memory Usage链接进去,点击右上角的Debug模式:

(3) 就会看到如下的debug界面,可以慢慢来观察RRDTool Command命令,为何是-nan值。

(八):双网卡 Traffic 网卡流量问题

如下图,em1和em2全部指向一个ip地址,只是em1不生效,em2生效了,但是ip地址在em1上,没有显示在em2一栏。

所以,在graph图上,就没有数据,全为-nan-值,如下所示:

在cacti服务器上面执行check:

[root@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
[root@squid-2 rra]#

确实有4个网卡信息记录,这些都没事,正常,经过仔细排查发现主要原因在下拉选框里面要选择Interface – Traffic (bits/sec),不要选择Interface – Traffic (bytes/sec),如下图所示:

当选择了Interface – Traffic (bits/sec)之后graph就会出数据,有效果图了。

(九):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即可。

   
次浏览       
相关文章

基于EA的数据库建模
数据流建模(EA指南)
“数据湖”:概念、特征、架构与案例
在线商城数据库系统设计 思路+效果
 
相关文档

Greenplum数据库基础培训
MySQL5.1性能优化方案
某电商数据中台架构实践
MySQL高扩展架构设计
相关课程

数据治理、数据架构及数据标准
MongoDB实战课程
并发、大容量、高性能数据库设计与优化
PostgreSQL数据库实战培训
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

MySQL索引背后的数据结构
MySQL性能调优与架构设计
SQL Server数据库备份与恢复
让数据库飞起来 10大DB2优化
oracle的临时表空间写满磁盘
数据库的跨平台设计
更多...   


并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理


GE 区块链技术与实现培训
航天科工某子公司 Nodejs高级应用开发
中盛益华 卓越管理者必须具备的五项能力
某信息技术公司 Python培训
某博彩IT系统厂商 易用性测试与评估
中国邮储银行 测试成熟度模型集成(TMMI)
中物院 产品经理与产品管理
更多...