Centos7部署cacti1.2.14

1.关闭并配置防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

1.2安装软件

yum install -y httpd php php-mysql php-snmp php-xml php-ldap php-gd php-mbstring php-posix vim wget

1.3设置时区修改配置

[root@localhost ~]# vim /etc/php.ini
[PHP]
……
max_execution_tim = 600        #384行
menory_limit = 800M          #405行
date.timezone = Asia/Shanghai   #878行

1.4设置httpd开机启动

systemctl start httpd && systemctl enable httpd

1.5安装数据库并设置开机启动

cat >/etc/yum.repos.d/MariaDB.repo<<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
yum install -y MariaDB-server MariaDB-client MariaDB-devel
systemctl start mariadb && systemctl enable mariadb

1.6数据库初始化

[root@localhost ~]# mysql_secure_installation
 
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
......
Enter current password for root (enter for none):   //初始数据库密码为空,直接按回车键
OK, successfully used password, moving on...
......
Set root password? [Y/n] Y    //输入root管理员密码
New password: 
Re-enter new password: 
Password updated successfully!
......
Remove anonymous users? [Y/n] Y    //删除匿名账号
 ... Success!
......
Disallow root login remotely? [Y/n] Y   //禁止root管理员从远程登录
 ... Success!
.......
Remove test database and access to it? [Y/n] Y   //删除test数据库并取消对它的访问权限
......
Reload privilege tables now? [Y/n] Y   //刷新授权表,让初始化后的设定立即生效
 ... Success!

1.7配置数据参数

vim /etc/my.cnf.d/server.cnf

[mysqld]
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_heap_table_size = 1000M
max_allowed_packet = 16777216
tmp_table_size = 254M
join_buffer_size = 500M
innodb_file_per_table = ON
innodb_buffer_pool_size = 2400M
innodb_doublewrite = ON
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads =16
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_instances = 30
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000

1.8安装snmp服务并配置

yum install –y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl

配置snmp
vim /etc/snmp/snmpd.conf
......
//把systemview改成all ,供所有snmp 访问权限  64行
access notConfigGroup "" any noauth exact all none none   
view all included .1 80 // 去掉#号 85行

1.9设置snmp服务开机启动

systemctl start snmpd.service && systemctl enable snmpd.service
验证snmp服务-有数据就成功
snmpwalk -v 2c -c public localhost

1.10安装rrdtool绘图工具

yum -y install lm_sensors gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel gettext-devel glib2-devel pcre-devel pango-devel cairo-devel  libxml2-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker 
// 安装rrdtool1.7
rpm -ivh http://mirrors.whsir.com/centos/whsir-release-centos.noarch.rpm
yum install -y wrrdtool

// 设置rrdtool软链 
ln -sv /usr/local/rrdtool/bin/rrdtool /usr/local/bin/rrdtool
ln -sv /usr/local/rrdtool/bin/rrdtool /usr/bin/rrdtool

1.11安装spine编译软件

yum install -y dos2unix autoconf automake binutils libtool cpp glibc-headers glibc-devel help2man

1.12下载cactispine

cd /usr/local/src
wget https://www.cacti.net/downloads/spine/cacti-spine-1.2.14.tar.gz

1.13编译安装

tar zxvf cacti-spine-1.2.14.tar.gz
cd cacti-spine-1.2.14
./bootstrap
./configure
make && make install
chown root:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine
————————————————
如果make时出现
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make: *** [spine] Error 1
原因:
编译你的工程代码之前之前,
先处理一下mysql的库,默认查找libmysqlclient_r.so,
可是mysql默认为libmysqlclient.so,
 
内容完全一样,做个链接即可
 
请在root下执行
cd /usr/local/mysql/lib/mysql/   (库所在目录)
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so

1.14编辑spinge.conf
cp  /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
vim /etc/spine.conf
#找到里面对应参数,根据实际情况修改,这里测试就不改了
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass cactiuser
DB_Port 3306

1.15安装cacti

cd /usr/local/src
wget https://www.cacti.net/downloads/cacti-1.2.14.tar.gz
tar zxvf cacti-1.2.14.tar.gz
mv cacti-1.2.14 /var/www/html/cacti

1.16创建数据库

[root@localhost src]# mysql -uroot -p
MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> grant all on cacti.* to cactiuser@localhost identified by "cactiuser";
Query OK, 0 rows affected (0.003 sec)
MariaDB [(none)]> grant select on mysql.time_zone_name to 'cactiuser'@'localhost' identified by 'cactiuser';
Query OK, 0 rows affected (0.001 sec)

1.17导入数据

MariaDB [(none)]> use cacti;
Database changed
MariaDB [cacti]> source /var/www/html/cacti/cacti.sql;
......
MariaDB [cacti]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [cacti]> quit

1.18测试-出现数据就正常

/usr/local/spine/bin/spine

1.19配置时区

[root@localhost ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password:
Warning: Unable to load '/usr/share/zoneinfo//leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//tzdata.zi' as time zone. Skipping it.

1.20配置config.php

[root@localhost ~]# vim /var/www/html/cacti/include/config.php
......
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';
......

1.21创建日志

touch /var/www/html/cacti/log/cacti.log
touch /var/www/html/cacti/log/cacti_stderr.log

1.22创建用户并授权

useradd cactiuser
chown apache.apache /var/www/html/cacti/ -R
chown cactiuser /var/www/html/cacti/{rra,log}/ -R
chmod 777 /var/www/html/cacti/{rra,log}/ -R

1.23重启服务

systemctl restart httpd && systemctl restart mariadb  && systemctl restart snmpd

1.24配置crontab

crontab -e
#添加下面一行,5分钟运行一次
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1

1.25设置crontab启动

systemctl restart crond
systemctl status crond
systemctl enable crond

1.26浏览器上安装

浏览器输入http://ip/cacti,默认密码admin/admin

出现乱码

yum -y install fontconfig ttmkfdir
cd /usr/share/fonts
mkdir chinese

上传字体文件到chinese

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
fc-cache
fc-list

#目录授权

chmod -R 755 /usr/share/fonts/chinese

 

posted @ 2021-12-30 15:05  枫火~  阅读(679)  评论(0)    收藏  举报