使用nginx在Debian 10(Buster)上安装Cacti监控服务器

时间:2020-02-23 14:32:43  来源:igfitidea点击:

在本教程中,我们将学习使用ngian 10(Buster)在Debian 10(Buster)上安装Cacti。
CACTI是一个完整的网络图形解决方案,旨在利用RRDTool数据存储和图形函数的功率。
CACTI提供快速轮询,高级图形模板,多个数据采集方法和用户管理函数。
所有这些都以直观的,易于使用的界面包装,这对于LAN大小的安装有意义,该装置最多可与成千上万的设备进行复杂的网络。

按照以下步骤获取Debian 10(Buster)中运行的 Cacti 。

第1步:安装所需的包

安装需要依赖性包。
确保它们已安装。

sudo apt update
sudo apt install software-properties-common
sudo apt install nginx
sudo apt install curl vim acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full python-memcache python-mysqldb snmp snmpd whois php-snmp rrdtool librrds-perl

第2步:安装PHP

在Debian 10终端上运行以下命令以安装PHP 7.3.

sudo apt -y install php php-common

添加PHP扩展

sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath php-gmp php-ldap

第3步:数据库配置

我们在步骤1中安装了MariaDB。
让我们继续为Cacti创建一个数据库。

登录数据库

sudo systemctl enable mysql
sudo systemctl restart mysql
sudo mysql -u root -p

创建数据库和CACTI用户

我们将导入的默认CACTI数据库数据稍后使用名为Cacti的数据库。
因此,使用该名称创建一个数据库将是谨慎的,以使工作更轻松。

CREATE DATABASE cacti;
 CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'SafePassWord'; ## Make it strong
 GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';
 FLUSH PRIVILEGES;
 EXIT

授予数据库用户访问MySQL时区数据库并选择权限

CACTI数据库登录帐户(此示例中的CACCIUSER)必须可以访问MySQL TimeZone数据库。
提供Cacti数据库帐户"选择"访问"MySQL"数据库中的"Time_Zone_Name"表,并在继续之前填充MySQL的时区信息。

sudo mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql

之后,登录MariaDB。

sudo mysql -u root -p

在此示例中授予用户的许可e.g cactiuser

GRANT SELECT ON mysql.time_zone_name TO Hyman@theitroad;
ALTER DATABASE cacti CHARACTER SET = 'utf8mb4'  COLLATE = 'utf8mb4_unicode_ci'
flush privileges;
exit

打开MariaDB文件并在[MySQLD]部分下添加下面的行以获取优化的数据库

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

在[mysqld]下添加以下内容

[mysqld]
........
collation-server = utf8mb4_unicode_ci
character-set-server  = utf8mb4
max_heap_table_size = 128M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1GB
innodb_buffer_pool_instances = 10
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000

重新启动MariaDB.

sudo systemctl restart mysql

步骤4:配置PHP-FPM

让我们确保DateZone在PHP.ini中设置为首选时区。

sudo vim /etc/php/7.3/fpm/php.ini

根据[日期]未取消日期.TimeZone行并添加时区。

[Date]
 ; Defines the default timezone used by the date functions
 ; http://php.net/date.timezone
 date.timezone = Africa/Nairobi ## Input your Time zone
 max_execution_time = 70        ## Increase max_execution_time
sudo vim /etc/php/7.3/cli/php.ini

如上,在[日期]下不再符合DateZone线并添加时区。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Africa/Nairobi ## Input your Time zone
memory_limit = 512M            ## Increase memory_limit

重新启动PHP-FPM

sudo systemctl restart php7.3-fpm

步骤5:配置nginx web服务器

由于我们选择了nginx作为我们的首选Web服务器,因此是时候添加配置,以便我们可以为我们的CACTI页面提供服务。

删除在nginx新安装后加载的默认页面

sudo rm /etc/nginx/sites-enabled/default

如下所示创建文件并添加以下内容

sudo vim /etc/nginx/conf.d/cacticonfig.conf

粘贴并修改以下数据。

server {
 listen      80;
 server_name example.com;
 root        /var/www/html;
 index       index.php;
 access_log  /var/www/html/log/cactiacess.log;
 error_log   /var/www/html/log/cacti.log;
 charset utf-8;
 gzip on;
 gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
 location/{
   try_files $uri $uri//index.php?$query_string;
  }
  location /api/v0 {
   try_files $uri $uri//api_v0.php?$query_string;
  }
  location ~ .php {
   include fastcgi.conf;
   fastcgi_split_path_info ^(.+.php)(/.+)$;
   fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

重新启动nginx.

sudo systemctl restart nginx

第6步:安装 Cacti

我们现在需要下载最新版本的cacti包。

curl -O https://www.cacti.net/downloads/cacti-latest.tar.gz

完成下载后,提取CACTI存档

tar -zxvf cacti-latest.tar.gz

将文件移动到Web根目录并更改目录的名称

sudo mv cacti-1* /var/www/html/
sudo mv /var/www/html/cacti-*//var/www/html/cacti

更改CACTI文件的所有权

sudo chown -R www-data:www-data /var/www/html/

将默认CACTI数据库数据导入CACTI数据库。

sudo mysql -u root -p cacti < /var/www/html/cacti/cacti.sql

打开CACTI配置文件以输入数据库信息。

sudo vim /var/www/html/cacti/include/config.php
$database_type = "mysql";
 $database_default = "cacti";
 $database_hostname = "localhost";
 $database_username = "cactiuser";
 $database_password = "SafePassWord"; 
 $database_port = "3306";
 $database_ssl = false;

重新启动nginx.

完成配置后,重新启动WebServer。

sudo systemctl restart nginx

第7步:编辑CRONTAB文件。

为了让 Cacti 每隔几分钟进行调查,我们可能需要在CRONTAB中添加以下内容

$sudo vim /etc/cron.d/cacti
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

这将导致 Cacti 每五分钟投票。

第8步:Web安装程序

现在将前往Web安装程序,然后按照屏幕上的说明进行操作。

http://ip或者fqdn/cacti

应该加载类似于下面的安装程序。
输入默认的用户名和密码,它是admin和admin

更改默认密码。
使用具有一个大写和小写的混合字符以及特殊字符输入长密码。

接受许可协议,然后单击"开始"

我喜欢一定的暗模式,所以我必须更改默认主题。
如果我们更喜欢默认值,则不必该操作。
单击"开始"开始安装。

它将检查PHP和MySQL配置是否符合其需要的要求。
如果一切都给出绿色竖起大拇指,请单击"下一步"。

选择所需的安装类型。
主服务器它是针对此示例。
此后单击"下一步"。

目录权限检查。
点击下一步"

它会建议将其关键二进制文件放置的目录。
只需单击"下一步"

仔细阅读声明并在理解它后检查单选按钮。
这很重要,因为它触及了服务器的安全性。
此后单击"下一步"。

选择刷子和网络详细信息的默认配置文件

设置所需的模板,然后单击"下一步"继续前进

向导将执行配置检查。
完成后,单击"下一步"

通过检查单选按钮确认安装,然后单击"安装"以开始安装过程。

拨打时间来完成安装

完成后,刷新页面,应使用登录页面呈现。
输入Adimin和我们创建的新密码。