1. 安装监控插件
使用 http 访问 cacti主机 导入 mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml
http://192.168.18.131:8000/cacti
默认CactiEZ 账户和密码分别是 admin admin
控制台 - 导入导出 - 模板导入 - 浏览
选中 cacti_host_template_x_db_server_ht_0.8.6i.xml
保存
2. 配置cacti的mysql插件
修改 ss_get_mysql_stats.php
vi /var/www/html/scripts/ss_get_mysql_stats.php
这个账户和密码是 被监控端主机 给 Cacti主机 授权的 账户和密码
Cacti需要这个账户和密码去连接 被监控机 查询状态
3. 配置被监控端的mysql 给 cacti 主机授权
此命令 意义
只允许IP为 192.168.0.3 的主机 以 账户 cacti 密码 cacti 去访问 本机数据
4. 在Cacti主机上 监控Mysql
4.1 为主机添加mysql模块
控制台 - 管理 - 设备 - 选中之前创建好的主机
然后移到最下面的 添加图形模版 选中 Mysql相关模块 然后保存
4.2 为mysql模块创建图形
控制台 - 创建 - 创建图形 - 选中该主机 - 选中mysql模块 - 创建
4.3 插件mysql性能数据
监视器 - 选中该主机 - 查阅对应的mysql
完毕
注意:这个获取数据的php程序有bug,将SQL部分需要做特殊处理,会出现如下报错:
Error executing 'SELECT CONCAT('', ((1 << 32) + 0)) AS innodb_transactions, CONCAT('', (((1 << 32) + 0) - ((1 << 32) + 0))) AS unpurged_txns, CONCAT('', ((5 << 32) + 1)) AS log_bytes_written, CONCAT('', ((5 << 32) + 1)) AS log_bytes_flushed, CONCAT('', (((5 << 32) + 1) - ((5 << 32) + 1))) AS unflushed_log, CONCAT('', 219133+13703) AS spin_waits, CONCAT('', 450719) AS spin_rounds, CONCAT('', 7353++) AS os_waits': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AS os_waits' at line 1
修改sql部分的代码,加了个trim函数处理结尾的+号。
更改成如下解决问题: