使用nginx在Debian 10(Buster)上安装Cacti监控服务器
在本教程中,我们将学习使用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和我们创建的新密码。