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 cactiuser@localhost;
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 详细步骤
原文地址:http://wyjs6.blog.51cto.com/465920/1965703