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

[经验分享] CentOS/RHEL上通过Cacti监控mysql-mis之路

[复制链接]

尚未签到

发表于 2019-1-11 11:08:42 | 显示全部楼层 |阅读模式
  一、准备工作
  环境:Centos 5.4 x86_64
  所需软件:
  

  
http
  
Php
  
Php-mysql
  
Php-snmp
  
Mysql
  
Perl-DBD-MySQL
  
Php-pdo
  
rrdtool
  
Net-snmp
  
Net-snmp-libs
  
Net-snmp-utils
  

  下载相关软件
  

  
cd /usr/local/src/
  
wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
  

  
二、环境介绍
  主监控机是Centos 5.4 x86_64
  

  
主监控机IP=10.0.0.52
  三、安装配置
  (1)在主监控机上安装apache+php+gd的web环境,推荐编译安装,不再赘述,本处方便起见用yum装了
  

  
yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL
  

  (2)在主监控机上安装rrdtool,rrdtool依赖的包过多,所以选择增加源,然后用yum安装
  增加源
  

  
vi /etc/yum.repos.d/CentOS-Base.repo
  

  在文件末尾增加以下部分
  

  
[dag]
  

  
name=Dag RPM Repository for Red Hat Enterprise Linux
  
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
  
gpgcheck=1
  
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
  
enabled=1
  

  
yum install rrdtool
  

  (3)配置snmp
  

  
vi /etc/snmp/snmp.conf
  

  将下边这行中的default
  

  
com2secnotConfigUser default public
  

  改为127.0.0.1
  

  
com2secnotConfigUser 127.0.0.1 public
  

  将下边这行中的systemview
  

  
access notConfigGroup "" any noauth exact systemview none none
  

  改为all
  

  
access notConfigGroup "" any noauth exact all none none
  

  将下边这行的注释“#”号去掉
  

  
#view all included .1 80
  

  重启snmpd服务
  

  
service snmpd restart
  

  (4)安装cacti
  把解压后的包移动到你的相应的web目录
  

  
tar xvf cacti-0.8.7e.tar.gz
  
mv cacti-0.8.7e /var/www/html/cacti
  

  (5)在数据库中建库、授权、导入数据库结构
  注意导入cacti.sql时该文件的路径
  

  
mysql -p
  
mysql> create database cacti;

  
mysql> grant all privileges on cacti.* to cacti@localhost>
  
mysql> grant all privileges on cacti.* to cacti@127.0.0.1>  
mysql> use cacti;
  
mysql> source /var/www/html/cacti/cacti.sql;
  

  配置cacti以连接数据库
  

  
vi /var/www/html/cacti/include/config.php
  

  (6)浏览器下配置
  用浏览器打开 http://10.0.0.52/cacti ,会显示 cacti的安装指南,设置好就不会再出现了。
  

  
点击 “Next”
  选择“New Install”,点击“Next”
  指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装。
  Cacti 默认的用户名与密码是 admin,输入用户名与密码,点击 login
  为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,点击 save ,进入 cacti 控制台界面:
  点击 graphs ,查看cacti 监控本机的图表:
  (7)增加入一个计划任务,使得 cacti 每五分钟生成一个监控图表。
  

  
crontab -e
  

  加入如下内容。注意poller.php的路径
  

  
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
  

  确保 /var/www/html/cacti/rra/目录存在
  如果暂时未看到图表,可以手工执行,生成图表
  

  
php /var/www/html/cacti/poller.php > /dev/null 2>&1
  

  (8)使用 Cacti 监控 Linux 主机
  在被监控的linux主机上安装net-snmp
  

  
yum install net-snmp
  

  
vi /etc/snmp/snmpd.conf
  

  更改以下部分
  将下边这行中的default
  

  
com2secnotConfigUser default public
  

  改为10.0.0.52(cacti)服务器的地址)
  

  
com2secnotConfigUser 10.0.0.52 public
  

  将下边这行中的systemview
  

  
access notConfigGroup "" any noauth exact systemview none none
  

  改为all
  

  
access notConfigGroup "" any noauth exact all none none
  

  将下边这行的注释“#”号去掉
  

  
#view all included .1 80
  

  
service snmpd restart
  

  
四、配置cacti监控mysql
  (一)安装并配置mysql-cacti模板
  

  
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.2.tar.gz
  
tar -xzvf mysql-cacti-templates-1.1.2.tar.gz
  
cd mysql-cacti-templates-1.1.2
  
cp ss_get_mysql_stats.php /xok.la/cacti/scripts
  

  可以看到里面有多个监控项目,报告监控apache和nginx.我这只测试mysql,mysql相关的就2个文件:
  模板文件:cacti_host_template_x_db_server_ht_0.8.6i.xml
  

  
插件:ss_get_mysql_stats.php
  修改ss_get_mysql_stats.php 文件 第30行
  

  
$mysql_user = 'cacti';
  
$mysql_pass = 'cacti';
  
$cache_dir  = "var/www/html/cacti/cache/";
  

  设置准备监控的数据库的账户相关信息
  

  
mkdir  /var/www/html/cacti/cache/
  
chmod 777 -R /var/www/html/cacti/cache/
  

  默认在获取的数据/tmp/下,会有cacti不能读取的情况。所以放在cacti目录来。
  
(二)创建监控Mysql需要的账户以及权限
  配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。
  


  
mysql> grant process,super on *.* to 'cacti'@'%'>
  
mysql> grant all privileges on cacti.*  to cacti@"%">  

  (三)模板导入
  

  
在cacti管理界面(Import Templates)导入cacti_host_template_x_db_server_ht_0.8.6i.xml。
  
(四)添加设备
  创建Graph。在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。
  在Associated Graph Templates中添加想要监控MySQL状态的Graph Templates(如X MySQL Connections GT模板)。
  并点击最上面的Create Graphs for this Host链接,在Graph Templates的选择框中选择X MySQL Connections GT,然后点击Create按钮,出现以下WEB页。

  五、常见故障排除
  

  
安装完毕在浏览器上无法看到数据的png图片。看apache的log
  如果出现:
  

  
    ========================
  [Thu Feb 09 15:12:24 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico
  ERROR: opening ‘/var/www/html/cacti/rra/localhost_mem_buffers_3.rrd’: Permission denied
  PS:解决办法:关闭selinux,即可解决问题。
  PS:以上无法获取数据图大多和poller.php,cmd.php权限有关。
  当cacti 有图没有数据时,而且状态为nan的错误
  

  
PS:这个很可能是snmp的问题,执行以下命令,没有得到如图的结果。就说明snmp不支持64位MIB库。重新编译安装snmp
  snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifHCInOctets
  

  
IF-MIB::ifHCInOctets.1 = Counter64: 7437357
  IF-MIB::ifHCInOctets.2 = Counter64: 353773IF-MIB::ifHCInOctets.3 = Counter64: 0
  PS:被监控主机无法获得snmp信息,还有可能是对方主机snmp版本和当前主机的snmp版本不一致导致的。
  PS:rrdtools版本要一致,特别是在升级cacti时候。版本不一致,可能rra数据格式不同。就无法处理。
  排错思路
  

  
1,查看log下的日志文件。一般那里会有提示
  2,测试SNMP是不是工作正常 snmpwalk -v 2c -c public hostIP   if正常的话会出现一些数据。不正常会出现一些错误,也会有对应的错误提示。
  3,自动运行poller.php没有。有没有加入cacti的的用户。。有没有给cacti用户写入rra/ log/的权限。。
  4,crontab –u cactiuser –e 为cactiuser加上自动运行poller.php的任务:*/5     *       *       *       *       root    /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2>&1
  5分钟刷新一次数据。你也可以根据需要还设置。
  5。把cacti目录里的cmd.php和poller.php文件加下运行的权限。
  转自:http://www.unixwind.com/09/05/620.html



运维网声明 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-661987-1-1.html 上篇帖子: cacti安装的一个错误 下篇帖子: Cacti操作手册——添加监控设备
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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