支持原创(转载地址):https://www.centos.bz/2017/09/%E6%9C%80%E5%B0%8F%E5%8C%96%E5%AE%89%E8%A3%85-centos-7-3-%E9%83%A8%E7%BD%B2-cacti-1-1-23-%E8%AF%A6%E7%BB%86%E6%AD%A5%E9%AA%A4/

•    一、安装环境

•    二、软件安装

o    2.1 更新 YUM 源

o    2.2 安装 Cacti 部署环境所需软件包

•    三、环境配置

o    3.1 配置 PHP

o    3.2 配置 Web 服务器 Apache httpd

o    3.3 配置数据库 MariaDB

o    3.4 配置 SNMP

•    四、安装配置 Cacti

o    4.1 下载解压 Cacti 安装包

o    4.2 创建 cacti 数据库,创建 cactiuser 用户,设置相关授权

o    4.3 导入 Cacti 默认数据库

o    4.4 编辑 /var/www/html/cacti-1.1.23/include/config.php,给Cacti指定数据库类型,名称,用户名,密码等

o    4.5 创建 cacti 系统用户,设置 graph/log 目录权限

o    4.6 添加定时任务

•    五、配置防火墙

o    5.1 配置 firewalld 防火墙

o    5.2 关闭selinux

•    六、设置开机启动相关服务

•    七、重启相关服务

•    八、登录 Cacti Web 安装界面

•    九、安装 spine

o    9.1 下载解压与 Cacti 相同版本号 Spine 源码安装包

o    9.2 源码编译安装 spine

o    9.3 复制修改配置文件

o    9.4 登录 Cacti WEB 页面修改 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

因为官网的源下载安装非常慢,可以用以下源:

# MariaDB 10.2 CentOS repository list - created 2017-07-03 06:59 UTC

# http://downloads.mariadb.org/mariadb/repositories/

# cat > /etc/yum.repos.d/MariaDB.repo <<EOF

[mariadb] 

name = MariaDB

baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64

gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/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() 访问

vim /etc/php.ini

[PHP]

safe_mode = Off

设置时区

[Date]

date.timezone = PRC

测试一下php 

在/var/www/html 新建一个文件为 index.php

cat > /var/www/html/index.php<<EOF

<?php

phpinfo();

EOF

3.2 配置 Web 服务器 Apache httpd

编辑 vim /etc/httpd/conf.d/php.conf 配置文件,确保文件含有

LoadModule php5_module modules/libphp5.so 

AddHandler php5-script .php 

如果你不打算将 Cacti 安装到 Web 服务器默认目录,如/var/www/html,就需要将下面内容添加

至 /etc/httpd/conf.d/cacti.conf 文件,并将其中的 /your/cacti/dir 替换为实际安装目录,将

Allow from 127.0.0.1 改为你公司所在网段。

#cat > /etc/httpd/conf.d/cacti.conf <<EOF

# 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 all    (如果all改成127.0.0.1无法访问403错误)

   Allow from ::

   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>

EOF

3.3 配置数据库 MariaDB

为安全起见,设置数据库 root 用户密码

# systemctl start mariadb

#systemctl enable mariadb

# mysqladmin -uroot password ossoup(将数据库密码设置成ossoup)

导入时区数据到 mysql 数据库

最小化安装 CentOS 7.3 部署 Cacti-1.1.23 详细步骤_Linux

# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql -p

修改 vim /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 = 200M

max_allowed_packet = 16777216

join_buffer_size = 80M

tmp_table_size = 80M

innodb_file_per_table = ON

innodb_buffer_pool_size = 240M

innodb_doublewrite = OFF

innodb_lock_wait_timeout = 50

innodb_flush_log_at_timeout = 4

innodb_read_io_threads = 32

innodb_write_io_threads = 16

innodb_buffer_pool_size=1024M

3.4 配置 SNMP

配置 net-snmp-agent, 修改配置文件 vim /etc/snmp/snmpd.conf

将41行改为监控服务器ip;2 将public 改成复杂些的识别的字符串 

com2sec notConfigUser  default       public

改为

com2sec notConfigUser  127.0.0.1     public

将62行 供所有snmp 访问权限 

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

测试net-snmp

# service snmpd start

 snmpd 使用 tcp/udp 161 端口,验证snmpd 服务

使用snmpwalk 命令验证

snmpwalk -v 2c -c public 127.0.0.1

-v是指版本,-c 是指密钥,获取到系统信息则正常!

如果cacti搭建好后很久还是没出图,用这个命令试试看能否获取到数据。

正常情况下,执行完这个命令后会有很多数据出现!

四、安装配置 Cacti

4.1 下载解压 Cacti 安装包

# cd /var/www/html

# wget  https://www.cacti.net/downloads/cacti-1.1.38.tar.gz

# tar -zxvf cacti-1.1.38.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.38/cacti.sql

4.4 编辑vim /var/www/html/cacti-1.1.38/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.38  /var/www/html/cacti

# chown -R apache.apache /var/www/html/cacti

# chown -R cacti /var/www/html/cacti-1.1.38/{rra,log}/或者chown -R cacti /var/www/html/cacti-1.1.38/rra/

chown -R cacti /var/www/html/cacti-1.1.38/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

七、安装 spine

7.1 下载解压与 Cacti 相同版本号 Spine 源码安装包

# cd /usr/local/src

#wget https://www.cacti.net/downloads/spine/cacti-spine-1.1.38.tar.gz

#tar -xzvf cacti-spine-1.1.38.tar.gz

7.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.38

# ./configure && make && make install

7.3 复制修改配置文件

# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf

修改spine.conf文件内用户名及密码配置

vim /usr/local/spine/etc/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

八、重启相关服务

# systemctl restart httpd

# systemctl restart mariadb

# systemctl restart crond

# systemctl restart snmpd

九、登录 Cacti Web 安装界面

使用浏览器登录

http://your-server/cacti/

image.png

勾选 “Accept GPL License Agreement” –> Next –> Next –> 下一步 –> Next –> Next –> 勾选所有预置模版 –> Finish

使用初始登录用户名和密码(admin)登录,然后更改初始密码。

进入Cacti Web 管理界面。

9.1 登录 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

最小化安装 CentOS 7.3 部署 Cacti-1.1.23 详细步骤_Linux_02

1、ERROR: Your Cacti database login account does not haveaccess to the MySQL TimeZone database. Please provide the Cacti databaseaccount "select" access to the "time_zone_name" table inthe "mysql" database, and populate MySQL's TimeZone informationbefore proceeding.

# grant all privileges on *.* to cacti@localhost identified by 'cacti';

# flush privileges;


2、image.png

ERROR: Your MySQL TimeZone database is not populated.Please populate this database before proceeding.

# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql


3、ERROR: 安装cacti-spine报错false// No help2man // --output=spine.1 --name='Data Collector for Cacti' --no-info--version-option='--version' ./spine make: *** [spine.1] 错误 1

# 安装help2man

# yum -y install help2man


Cacti登录密码忘记,重置Cacti密码

2017年04月11日 20:25:18

阅读数:3099

用root用户进入系统

[root@localhsot]# mysql -u root -p

mysql> show databases;

mysql> use cacti;

mysql> show tables;

mysql> select from user_auth;

mysql> update user_auth set password=md5("cactipasswd") where id='1';

现在cacti新密码就是cactipasswd