zhuhaiqiang
作者zhuhaiqiang·2020-02-07 11:48
项目经理·银行

CentOS7下cacti服务的搭建与配置

字数 5486阅读 1360评论 0赞 0

1、准备工作

因为对mysql或mariadb版本有要求,在本次实验是采用的是msyql5.7
1.1安装辅助工具

yum install yum-utils

1.2获取mysql80-community-release-el7-1.noarch.rpm数据包:

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

1.3安装mysql80-community-release-el7-1.noarch.rpm数据包:

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

1.4为yum的配置信息添加规则:

yum-config-manager --disable mysql80-community

yum-config-manager --enable mysql57-community

2、LAMP环境部署

2.1安装所需工具:

yum install mysql-community-server mysql-community-devel httpd php php-mysql php-gd libjpeg php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash libxml2-devel libevent-devel curl-devel net-snmp php-snmp

2.2为系统建立自启动进程:

systemctl enable mysqld && systemctl enable httpd

2.3初始化mysql

/usr/bin/mysql_install_db

当执行这个语句的时候会出现以下的错误:

主要的原因是在mysql-5.7版本之后,就不能再使用该语句进行初始化,要换成一下语句:

/usr/bin/mysqld –initialize –basedir=/usr/share/mysql –datadir=/var/lib/mysql/data/

/usr/bin/mysql –initialize –basedir=/usr/share/mysql –datadir=/var/lib/mysql/data/

(basedir和datadir的路径分别是指软件根目录和数据目录)

2.4启动mysql

systemctl start mysqld

2.5初始化密码
2.5.1修改my.cnf配置文件

vim /etc/my.cnf

在末尾添加一行规则:
…………
…………
skip-grant-tables

保存并退出
(该规则是跳过mysql服务登录页面的密码验证)

2.5.2重启mysql服务

systemctl restart mysqld

2.5.3打开mysql服务的登录页面
输入一下语句进入登录在输入密码的时候直接回车即可

mysql -uroot -p


进入mysql表
mysql>use mysql;

最后执行更新密码的语句:
mysql>update user set authentication_string=password(‘123456’) where user=‘root’;

出现这个结果说明密码更新成功。

2.6修改php.ini配置文件
编辑php.ini配置文件

vim /etc/php.ini

增加中文时区
date.timezone = “Asia/Shanghai”(可以通过搜索功能搜索“date.timezone”这个关键词,可以缩短一点查找的时间)

2.7启动httpd服务

systemctl start httpd

测试LAMP环境,测试脚本如下:

vi /var/www/html/phpinfo.php

输入的内容为:

?php phpinfo(); ?

保存并退出

然后在浏览器上访问ip/ phpinfo.php会出现以下页面,说明LAMP环境搭建成功:

3.安装配置cacti
A. 配置cacti库

编辑my.cnf配置文件

vim /etc/my.cnf

添加一下内容:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

重启mysql服务

systemctl restart mysqld

再进入mysql服务

mysql -uroot -p

在mysql服务的操作终端输入以下命令:
1、mysql> create database cacti character set utf8 ;

2、mysql> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3、mysql> grant all privileges on cacti.* to cacti@localhost identified by ‘1qaz@WSX’ ;

在这一步可能会出现以下的问题:
问题一:

解决办法是:进入my.cnf配置文件进行修改
把一下内容注释即可:

skip-grant-tables

然后重启mysql服务
问题二:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.


解决方法:
使用alter user 语句来重置密码:
mysql>alter user ‘root’@‘localhost’ identified by ‘123456’;
此时也会出现以下问题:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决方法:
(1)首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句:
mysql>set global validate_password_policy=LOW;
(2)设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句
mysql> set global validate_password_length=6;

4、mysql> grant select on mysql.time_zone_name to cacti@localhost identified by ‘1qaz@WSX’ ;

5、mysql> flush privileges ;

B. 导入cacti数据库脚本

首先退出mysql服务
mysql>exit

把cacti-1.2.1的压缩包进行解压(本人解压包在/root目录下)

tar -zxf cacti-1.2.1.tar.gz

再进入mysql服务
mysql -uroot -p123456

执行以下语句:
mysql>use cacti ;
mysql > source /root/cacti-1.2.1/cacti.sql ;

执行完成之后再退出mysql服务
C. cacti前端文件

首先在/var/www/ html/下创建一个cacti目录

mkdir cacti

然后再执行下面的命令,把cacti-1.2.1文件的内容复制到apache服务下的根路径:

cp -r /root/cacti-1.2.1/* /var/www/html/cacti

D. 编辑//var/www/html/cacti/include/config.php

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

把原来的配置信息修改成以下信息:
$database_type = ‘mysql’;
$database_default = ‘cacti’;
$database_hostname = ‘localhost’;
$database_username = ‘cacti’;
$database_password = ‘1qaz@WSX’;
$database_port = ‘3306’;
$database_ssl = false;
E. 设置文件权限(增加cacti用户)

useradd -s /sbin/nologin cacti

mkdir /var/www/html/cacti/rra/log

chown -R cacti /var/www/html/cacti/rra/log/

F. 配置定时任务/etc/crontab

执行以下语句:

crontab –e

添加以下信息
/5 * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1

输入以下语句进行查看:

crontab -l

出现以下结果说明是正确的

systemctl enable crond

systemctl start crond

G、安装其他相关组件:

下载https://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz
下载https://www.cacti.net/downloads/spine/cacti-spine-1.2.1.tar.gz
(本人已把这两个解压包放在/root目录下)

编译时可能需要你安装如下软件包:

yum install glib2-devel cairo-devel libxml2-devel pango pango-devel help2man

(1)安装rrdtool-1.7.0工具

解压

tar zxvf rrdtool-1.7.0.tar.gz

切换目录

cd rrdtool-1.7.0

./configure --prefix=/usr/local/rrdtool

make

make install

(2)安装cacti-spine-1.2.1工具

tar zxvf cacti-spine-1.2.1.tar.gz

cd cacti-spine-1.2.1

./configure --prefix=/usr/local/spine

make

make install

编辑/usr/local/spine/etc/spine.conf

vi /usr/local/spine/etc/spine.conf

把一下信息修改为自己配置的信息:
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass password
DB_Port 3306
H、5.cacti安装向导

setenforce 0

用于关闭seLinux防火墙

(1)在 浏览器 访问:http://ip/cacti 可能会出现一下问题:
问题一:


根据三个提示:
1、查看mysql服务是否有启动;
2、config.php配置文件的配置信息是否有错误;
3、如果以上两个错误都没有,可能是php与mysql的服务整合出问题,具体辨别方法可以在通过在浏览器访问http://ip/phpinfo(参照前面验证php与apache服务是否安装成功的路径访问),查看php版本信息里面是否存在mysql的相关模块,如果没有,可以重新通过yum安装的方式卸载之前下载的好的mysql和php,再重新下载即可。
问题二:


解决方法:

cd /var/www/html/cacti/log

ls

如果发现没有cacti.log文件时,可以执行一下命令:

touch cacti.log

chmod 777 cacti.log

然后再刷新页面即可。
(2)当出现以下页面时,说明cacti安装服务启动成功。(默认密码admin/admin)

然后再根据安装向导,把那些 红色字体的错误 找出来,并且根据错误提示进行修改即可:

在安装的时候遇到一个特别的错误:
ERROR: Your MySQL TimeZone database is not populated. Please populate this database before proceeding.
解决方法为:

mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Shanghai | mysql -u root -p mysql

输入密码回车即可。
(3)安装cacti服务完成

(4)左上角的图形,并且进入local Linux Machine这个页面等待十分钟左右就会出现相应的一些曲线图。

部署完成!

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广