1. 程式人生 > >最小化安裝 CentOS 7.3 部署 Cacti-1.1.23 詳細步驟

最小化安裝 CentOS 7.3 部署 Cacti-1.1.23 詳細步驟

cacti centos

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 詳細步驟