Centos7部署cacti1.2.14
阿新 • • 發佈:2021-12-30
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