基于LAMP的cacti安装和配置&&问题处理(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

基于LAMP的cacti安装和配置&&问题处理(一)

  • 背景介绍:

1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。

2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

注:

1.我在这里使用的是新建的虚拟机,里面没有搭建任何平台!

2.虚拟机系统是Centos6.7 

3.关掉iptables

4.关闭selinux

  

  • 实施步骤:

(1)安装 epel 扩展源

#yum install -y epel-release

(2)搭建lamp,安装mysql、apache、php 

#yum install -y httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng libpng-devel

(3)安装 cacti net-snmp rrdtool

#yum install -y cacti net-snmp net-snmp-utils rrdtool

其中rrdtool是显示图形化的工具

(4)启动服务:

/etc/init.d/mysqld start

/etc/init.d/httpd start

/etc/init.d/snmpd start

(5)编辑 httpd 配置文件

vim /etc/httpd/conf.d/cacti.conf

把 "Deny from all"  改为 "Allow from all"

/etc/init.d/httpd restart

(6)导入数据创建 cacti 库

# mysql -u root (进入数据库

mysql> create database cacti;(创建数据库cacti)

创建 cacti 用户:

mysql> grant all on cacti.* to 'cacti'@'127.0.0.1' identified by 'cacti';(将cacti库与表所有权限授给cacti用户下本地主机,认证密码是cacti

刷新下,命令: FLUSH PRIVILEGES;(或者重启数据库)

注:有些数据库版本使用flush privileges;

mysql> exit(退出数据库)

导入 sql 文件

mysql -uroot cacti < /usr/share/doc/cacti-1.0.4/cacti.sql

(7)编辑 cacti 配置文件

vim /usr/share/cacti/include/config.php 更改如下:

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "127.0.0.1";

$database_username = "cacti";

$database_password = "cacti";

$database_port = "3306";

$database_ssl = false;

(8)修改配置文件vim /etc/snmp/snmpd.conf

com2sec notConfigUser default public改为com2sec notConfigUser localhost public

access notConfigGroup "" any noauth exact systemview none none改为access notConfigGroup "" any noauth exact all none none

#view all included .1 80去掉#变为view all included .1 80

测试: snmpwalk -v 2c -c public localhost system 目的查看配置是否正确

(9) web 访问 cacti 并安装

http://ip/cacti/,截图如下:

wKioL1jlDJmzCk3VAADvW4mHUfY838.png

点击“next”之后,出现两个错误,截图如下:

wKioL1jlDVSRoTVsAABy5eJe_Rs828.png

先来解决第二个问题: 

#yum -y install php-process

#php -m |grep posix

好了,可以看到php已经支持posix了,重启apache就ok.

截图如下:

wKiom1jm_4yRLSREAADOz5_ovCI884.png

再来解决第一个问题,解决方法如下:

步骤一:先修改mysql时区,有三种方法,个人推荐使用第二种。

方法一:通过mysql命令行模式下动态修改。

 set time_zone='+8:00'; ##修改mysql时区为北京时间,即我们所在的东8区

 show variables like '%time_zone%';

wKiom1jnAgTBR4MpAAARla-Ij3A382.png

select now(); 

wKiom1jnAkqC_q5kAAAKpmv19QQ892.png

 flush privileges;##立即生效

方法二:通过修改my.cnf配置文件来修改时区

# vim /etc/my.cnf ##在[mysqld]区域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效

方法三:如果不方便重启mysql,又想临时解决时区问题,可以通过php或其他语言在初始化mysql时初始化mysql时区

这里,以php为例,在mysql_connect()下使用:

mysql_query("SET time_zone = '+8:00'")

这样可以在保证你不重启的情况下改变时区。但是mysql的某些系统函数还是不能用如:now()。

步骤二:以root用户身份进入数据库,做如下操作:

grant all on mysql.* to 'cacti'@'127.0.0.1' identified by 'cacti';

flush privileges;##立即生效

下面刷新网页,截图如下:

wKiom1jnJPTRLVTNAAFL1vrrmSg977.png

问题解决方法:

wKioL1jnB2OCkZ3UAAAZIOBqrzM782.png

这里我们直接输入:

mysql_tzinfo_to_sql /usr/share/zoneinfo 

即可!

到这里我们就可以点击cacti界面左下角“next”按钮了!





     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1913756,如需转载请自行联系原作者



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL PHP
|
关系型数据库 MySQL PHP
|
关系型数据库 MySQL PHP
|
Web App开发 存储 关系型数据库
|
Web App开发 关系型数据库 PHP
|
关系型数据库 MySQL 应用服务中间件
|
Ubuntu 关系型数据库 PHP