CentOS7下安装Cacti详细步骤

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://blog.51cto.com/wyjs6/1965703

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供CentOS 7上安装和部署Cacti的详细过程。以下是步骤: 1. 更新系统: ``` sudo yum update ``` 2. 安装必要的软件包: ``` sudo yum install httpd mariadb-server php php-mysql php-snmp net-snmp-utils net-snmp-libs rrdtool ``` 3. 启动和设置MariaDB服务: ``` sudo systemctl start mariadb sudo systemctl enable mariadb sudo mysql_secure_installation ``` 您将被要求设置MariaDB的root密码和其他安全设置。 4. 创建Cacti数据库: ``` sudo mysql -u root -p CREATE DATABASE cacti; GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit; ``` 请将'password'替换为您选择的密码。 5. 导入Cacti数据库模板: ``` sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql ``` 同样,请输入之前设置的密码。 6. 配置Cacti: ``` sudo vi /etc/cacti/db.php ``` 修改以下行,以反映您先前创建的数据库和用户信息: ``` $database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cactiuser'; $database_password = 'password'; ``` 保存并退出文件。 7. 配置Apache Web服务器: ``` sudo vi /etc/httpd/conf.d/cacti.conf ``` 添加以下内容: ``` <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order deny,allow Deny from all Allow from localhost </IfModule> </Directory> ``` 保存并退出文件。 8. 启动Apache和SNMP服务: ``` sudo systemctl start httpd sudo systemctl enable httpd sudo systemctl start snmpd sudo systemctl enable snmpd ``` 9. 设置计划任务: ``` sudo vi /etc/cron.d/cacti ``` 添加以下行: ``` */5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1 ``` 保存并退出文件。 10. 访问Cacti Web界面: 在浏览器中输入服务器的IP地址或域名,然后访问`http://your_server_ip/cacti/`。 您将被引导到Cacti安装向导。按照提示完成安装过程,并使用先前设置的数据库用户名和密码进行配置。 以上是在CentOS 7上安装和部署Cacti的详细过程。如果您有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值