最小化安裝 CentOS 7.3 部署 Cacti-1.1.23 詳細步驟
Cacti 是一個利用 RRDTool 數據存儲和繪圖功能的完整的網絡圖形解決方案。Cacti 提供了快速的數據輪詢、高級圖形模板、多樣的數據獲取方法以及用戶管理等功能。並以直觀易於使用的接口來呈現,這在具有成千上萬個設備的復雜網絡上是有意義的。
一、安裝環境
安裝 Cacti 需要 Mysql,PHP,RRDTool,net-snmp 和 支持 PHP 的 Web服務器,如 Apache,Nginx 或 IIS等。
版本要求:
RRDTool 1.3 或更高版本,http://oss.oetiker.ch/rrdtool/
MySQL 5.1 或更高版本,https://mysql.com/
MariaDB 5.5 或更高版本,https://mariadb.org/
PHP 5.4 或更高版本,https://php.net/
支持PHP的Web服務器,如Apache,NGINX 或 IIS(https://www.apache.org/,https://www.nginx.com/)
本次安裝 Cacti-1.1.23 使用相關軟件及版本為:
RRDTool 1.4.8
MariaDB 10.2.8 (mariadb mariadb-server)
PHP 5.4.16 (php php-snmp php-ldap php-xml php-session php-sockets php-pdo php-pdo-mysql php-mbstring php-pcre php-json php-openssl php-gd php-gmp php-zlib)
Apache httpd 2.4.6
net-snmp 5.7.2 (net-snmp net-snmp-utils)
crond (cronie 或其他類似軟件)
為了安裝官方補丁,還需要安裝一些工具軟件
wget
patch
二、軟件安裝
2.1 更新 YUM 源
添加 MariaDB YUM 倉庫
# cat > /etc/yum.repos.d/MariaDB.repo <<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
2.2 安裝 Cacti 部署環境所需軟件包
# yum install -y httpd mariadb mariadb-server mariadb-devel net-snmp net-snmp-utils net-snmp-libs net-snmp-agent-libs net-snmp-devel php php-snmp php-ldap php-pdo php-mysql php-devel php-pear php-common php-gd php-mbstring php-xml php-process rrdtool rrdtool-php rrdtool-perl rrdtool-devel gcc openssl-devel dos2unix autoconf automake binutils libtool cpp postfix glibc-headers kernel-headers glibc-devel gd gd-devel help2man ntpdate wget patch
三、環境配置
3.1 配置 PHP
修改 PHP 主配置文件 /etc/php.ini
關閉安全模式,以支持 rrdtool,允許 exec() 訪問
[PHP]
safe_mode = Off
設置時區
[Date]
date.timezone = PRC
3.2 配置 Web 服務器 Apache httpd
編輯 /etc/httpd/conf.d/php.conf 配置文件,確保文件含有
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
LoadModule php5_module modules/libphp5.so
#
# Cause the PHP interpreter to handle files with a .php extension.
AddHandler php5-script .php
如果你不打算將 Cacti 安裝到 Web 服務器默認目錄,如/var/www/html,就需要將下面內容添加
至 /etc/httpd/conf.d/cacti.conf 文件,並將其中的 /your/cacti/dir 替換為實際安裝目錄,將
Allow from 127.0.0.1 改為你公司所在網段。
# Cacti - the complete rrdtool-based graphing solution
#
# Allows only localhost by default
#
# Allowing cacti to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
# Make sure, that httpd can read your cacti directories.
# At minimum, you need
# chmod ugo+r -R /your/cacti/dir
# Make sure to replace with your directories
# When using SELinux, set the following:
# chcon -R -h -t httpd_sys_content_t /your/cacti/dir
# when using SELinux and you private homedir, enable
# setsebool -P httpd_enable_homedirs 1
# setsebool -P httpd_read_user_content 1
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
AllowOverride None
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Options Indexes Includes FollowSymLinks
</Directory>
# These directories do not require access over HTTP
#
<Directory /var/www/html/cacti/cli>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
3.3. 配置數據庫 MariaDB
為安全起見,設置數據庫 root 用戶密碼
# systemctl start mariadb
# mysqladmin -uroot password somepassword
導入時區數據到 mysql 數據庫
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql -p
修改 /etc/my.cnf.d/server.cnf 文件,確保文件含有
[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
character_set_client = utf8mb4
max_connections = 100
max_heap_table_size = 48M
max_allowed_packet = 16777216
join_buffer_size = 64M
tmp_table_size = 64M
innodb_file_per_table = ON
innodb_buffer_pool_size = 240M
innodb_doublewrite = OFF
innodb_lock_wait_timeout = 50
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
3.4 配置 SNMP
配置 net-snmp-agent, 修改配置文件 /etc/snmp/snmpd.conf
將41行
com2sec notConfigUser default public
改為
com2sec notConfigUser 127.0.0.1 public
將62行
access notConfigGroup "" any noauth exact systemview none none
改為
access notConfigGroup "" any noauth exact all none none
將85行
#view all included .1 80
改為
view all included .1 80
四、安裝配置 Cacti
4.1 下載解壓 Cacti 安裝包
# cd /var/www/html
# wget http://www.cacti.net/downloads/cacti-1.1.23.tar.gz
# tar zxvf cacti-1.1.23.tar.gz
4.2 創建 cacti 數據庫,創建 cactiuser 用戶,設置相關授權
# mysql -u root -p
MariaDB [(none)]> CREATE database cacti default character set utf8;
MariaDB [(none)]> create user ‘cactiuser‘@‘localhost‘ identified by ‘cactiuser‘;
MariaDB [(none)]> grant all privileges on cacti.* to [email protected];
MariaDB [(none)]> grant select on mysql.time_zone_name to ‘cactiuser‘@‘localhost‘ identified by ‘cactiuser‘;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
4.3 導入 Cacti 默認數據庫
# mysql -uroot -p cacti < /var/www/html/cacti-1.1.23/cacti.sql
4.4 編輯 /var/www/html/cacti-1.1.23/include/config.php,給Cacti指定數據庫類型,名稱,用戶名,密碼等
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
/* load up old style plugins here */
$plugins = array();
//$plugins[] = ‘thold‘;
4.5 創建 cacti 系統用戶,設置 graph/log 目錄權限
# useradd -r -M cacti
# ln -s /var/www/html/cacti-1.1.23 /var/www/html/cacti
# chown -R apache.apache /var/www/html/cacti/
# chown -R cacti /var/www/html/cacti-1.1.23/{rra,log}/
4.6 添加定時任務
# crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
五、配置防火墻
5.1 配置 firewalld 防火墻
# firewall-cmd --permanent --add-port=3306/tcp
# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-port=161/udp
# firewall-cmd --permanent --add-port=162/udp
# firewall-cmd --reload
5.2 關閉selinux
# setenforce 0
# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
六、設置開機啟動相關服務
# systemctl enable httpd
# systemctl enable mariadb
# systemctl enable crond
# systemctl enable snmpd
七、重啟相關服務
# systemctl restart httpd
# systemctl restart mariadb
# systemctl restart crond
# systemctl restart snmpd
八、登錄 Cacti Web 安裝界面
使用瀏覽器登錄
http://your-server/cacti/
勾選 “Accept GPL License Agreement” --> Next --> Next --> 下一步 --> Next --> Next --> 勾選所有預置模版 --> Finish
使用初始登錄用戶名和密碼(admin)登錄,然後更改初始密碼。
進入Cacti Web 管理界面。
九、安裝 spine
9.1 下載解壓與 Cacti 相同版本號 Spine 源碼安裝包
# cd /usr/local/src
# wget http://www.cacti.net/downloads/spine/cacti-spine-1.1.23.tar.gz
# tar xf cacti-spine-1.1.23.tar.gz
9.2 源碼編譯安裝 spine
# ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so
# ntpdate 202.120.2.101
# cd cacti-spine-1.1.23
# ./configure && make && make install
9.3 復制修改配置文件
# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
修改spine.conf文件內用戶名及密碼配置
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass cactiuser
DB_Port 3306
RDB_Host localhost
RDB_Database cacti
RDB_User cactiuser
RDB_Pass cactiuser
RDB_Port 3306
9.4 登錄 Cacti WEB 頁面修改 Cacti 配置:
Console -> 設置(Cacti Settings) -> Paths -> 在 Spine Binary File Location 文本框內填入配置文件路徑 /usr/local/spine/bin/spine ,在 Spine Config File Path 文本框內填入配置文件路徑 /usr/local/spine/etc/spine.conf,點擊保存 (Save)。
Console -> 設置(Cacti Settings) -> Poller -> 在 Poller Type 下拉框中選擇 spine ,點擊保存 (Save)。
十、特別提示
在添加完設備和圖形後,需要重建采集器緩存。
Console --> 系統工具 --> Rebuild Poller Cache
本文出自 “望雲眷蜀” 博客,請務必保留此出處http://wyjs6.blog.51cto.com/465920/1965703
最小化安裝 CentOS 7.3 部署 Cacti-1.1.23 詳細步驟