cacti 监控搭建
一、准备前工作
1.系统:centos 7.6 关闭seliunx及防火墙
- 关闭防火墙
systemctl disable firewalld.service #禁止firewall开机启动
关闭SELINUX
setenforce 0
或
vim /etc/selinux/config
修改
SELINUX=enforcing
改成
SELINUX=disabled
3.更新yum源 这个不再叙述
4.安装cacti所依赖的环境
yum -y install httpd mysql mysql-server mysql-devel php php-mysql zlib freetype libjpeg fontconfig libxml2 gd php-gd rrdtool net-snmp net-snmp-utils
注意的事项,这块如果执行上面安装mysql是安装不上的
安装完成却发现mysql安装缺失,在网上找原因,原来是因为CentOS 7上把MySQL从默认软件列表中移除了,用MariaDB来代替,所以这导致我们必须要去官网上进行下载,找到链接,用wget打开:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql mysql-server mysql-devel
mysql安装成功。
5.启动对所需服务及设置成开机启动
#启动服务
systemctl restart httpd.service
systemctl restart snmpd.service
systemctl restart mysqld.service
#设置开机启动
systemctl enable httpd.service
systemctl enable snmpd.service
systemctl enable mysqld.service
6.编辑httpd的配置文件
vim /var/www/html/index.php
<?php
phpinfo();
?>
二、cacti搭建
1.登陆cacti官网
这里我们使用1.2.2最新稳定版本,下载tar包
wget https://www.cacti.net/downloads/cacti-1.2.2.tar.gz
tar -zxvf cacti-1.2.2.tar.gz -C /var/www/html/ #解压到http服务目录
mv cacti-1.2.2.tar.gz/ cacti #重命名目的 简化访问目录路径
mv cacti /var/www/html/
chown -R root:root /var/www/html/cacti/
chmod -R 777 /var/www/html/cacti/
useradd cacti
chown -R cacti:cacti /var/www/html/cacti/log/
chown -R cacti:cacti /var/www/html/cacti/rra/
2.编辑web页面数据配置文件
vim /var/www/html/cacti/include/config.php 自定义修改用户和密码
这里主要修改一下database用户名和密码
3.创建mysql数据库相关存储信息
mysql
mysql> create database cacti default character set utf8; #创建数据库设置字符集
mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti'; 赋权
mysql> flush privileges; #刷新
mysql> exit
4.登陆并创建cacti的sql文件和php配置:
vim /etc/php.ini
date.timezone = Asia/Shanghai
mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql #此处提示明文密码登陆风险 忽略
5.打浏览器 输入:10.0.1.44/cacti/install 向导界面
这块若有提示错误如图:
日志无法写入问题
解决办法:
a.确认检查seliunx 是否关闭
b.创建日志
touch /var/www/html/cacti/log/cacti.log
chmod -R 777 /var/www/html/cacti/log
chmod -R 777 /var/www/html/cacti/log/cacti.log
确认添加好权限访问 10.0.1.44/cacti/install
正常向导界面
输入用户admin密码admin后提示修改密码
image.png
选择主题及语言后点击开始
检查安装是否完整 未安装请再次进行未安装环境(php模块及其他),安装后重启httpd服务
仍有问题 修改 /etc/php.ini 文件相关参数 并重启httpd服务
mysql时区问题
mysql
解决MySQL TimeZone database is not populated问题
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot -p mysql ##二进制免编译与源码包解决办法
/usr/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -uroot -p mysql ##yum安装解决办法
三 、重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
一般这个错误是由密码错误引起,解决的办法自然就是重置密码。
假设我们使用的是root账户。
1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
image保存文档并退出:
:wq
2.接下来我们需要重启MySQL:
/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)
image3.重启之后输入#mysql即可进入mysql。
image4.接下来就是用sql来修改root的密码
mysql> use mysql;
update user set password=password('123') where user='root';
mysql> flush privileges;
mysql> quit
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
image网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:
image
四、继续完成未检测项目
1.修改 /etc/my.cnf 在[mysqld]后添加如下内容
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_allowed_packet = 16777216
max_heap_table_size = 128M
tmp_table_size = 128M
join_buffer_size = 256M
innodb_buffer_pool_size = 1901M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_buffer_pool_instances =16
2.重启mysql 刷新cacti界面 check所有项目通过
3.下一页--新的服务器-check通过-下一页
check完成 下一页
选择配置 下一页
根据提示做出对应修改
修改/etc/my.cnf 加入如下
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
修改mysql排序
mysql> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
安装
安装完成开始使用
主界面
五、被监控端
1.配置snmp协议