Ubuntu2004/1804安装Cacti服务器

Posted Mend。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu2004/1804安装Cacti服务器相关的知识,希望对你有一定的参考价值。

什么是Cacti?

Cacti 是一个完全开源的网络监控和绘图工具,被设计为行业标准数据记录工具 RRDtool 的前端应用程序。Cacti 利用 RRDTool 的数据存储和图形功能的强大功能。Cacti 的一些优秀功能包括:

  • 快速轮询指标
  • 支持多种数据采集方式
  • 支持高级图形模板
  • 使用 ACL 的用户管理功能
  • Cacti 提供直观且易于使用的 Web 界面,可用于小型 LAN 安装到具有数千台服务器和网络设备的复杂网络。

在 Ubuntu 20.04/18.04 上安装 Cacti 服务器

Cacti 有许多依赖项需要安装和配置,然后才能部署 Cacti 服务器本身。本指南将一一介绍这些依赖项的安装:

步骤 1:更新系统并升级所有软件包

更新服务器包,以避免任何依赖问题:

sudo apt update
#设置时区
timedatectl set-timezone "Asia/Shanghai"
echo "LC_TIME=en_DK.UTF-8" >> /etc/default/locale
步骤2:安装 php 和所需的模块**

我们现在需要安装 php 和 cacti 所需的一些 php 模块。运行以下命令以获取并安装所有内容。

sudo apt -y install apache2 php php-mysql,curl,net-socket,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,snmp,mbstring,gmp,json,xml,common,ldap
sudo apt -y install libapache2-mod-php

####没有 gmp 的解决,本文为PHP 7.4
sudo apt install php7.4-gmp
再运行
extension=php_gmp.so
或者您也可以使用以下方式安装bcmath扩展程序
sudo apt install php7.4-bcmath

最重要的模块是 php-snmp 和 php-mysql。确保它们已安装。您可以使用以下命令检查您的 php 版本:

php -v


更新PHP参数

sudo vim /etc/php/*/apache2/php.ini
sudo vim /etc/php/*/cli/php.ini
#两个文件中同时修改如下的内容
设置正确的时区:
date.timezone = Asia/Shanghai

更新内存限制:
memory_limit = 512M

还要调整每个脚本的最大执行时间:
max_execution_time = 300

步骤 3:配置 Apache Web 服务器

安装 Apache Web 服务器:

sudo apt -y install apache2

如果需要设置域名需配置/etc/apache2/apache2.conf,具体详情:链接。此处默认为ip地址访问

重启Apache Web服务器

systemctl restart apache2.service
systemctl enable apache2.service

如果您启用了 ufw,请在防火墙上打开 http 和 https 端口。

sudo ufw allow http
sudo ufw allow https
步骤4:安装和配置MariaDB 数据库

安装 MariaDB 服务器:

 sudo apt install mariadb-server -y

在[mysqld]下添加以下设置:

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
innodb_file_format=Barracuda
innodb_large_prefix=1
collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
innodb_doublewrite=OFF
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=128M
innodb_buffer_pool_size=1G
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
innodb_buffer_pool_instances=9
#注释掉以下配置
#character-set-server  = utf8mb4
#collation-server      = utf8mb4_general_ci

重启 mariadb 服务

sudo systemctl restart mariadb

创建cacti数据库

sudo mysql -u root -p
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
GRANT ALL PRIVILEGES ON cacti.* TO \'cacti_user\'@\'localhost\' IDENTIFIED BY \'strongpassword\';
#GRANT ALL PRIVILEGES ON cacti.* TO \'cacti的用户名\'@\'localhost\' IDENTIFIED BY \'你的数据库用户名密码\';
GRANT SELECT ON mysql.time_zone_name TO cacti_user@localhost;
ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
FLUSH PRIVILEGES;
EXIT;

测试数据库连接:

mysql -u cacti_user -p


如果连接失败,报错ERROR 1698 (28000): Access denied for user ‘cacti_user‘@‘localhost‘,请转至mysql如何修改用户名密码
为 cacti 数据库用户设置 mysql 时区

sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
步骤5:在 Ubuntu 20.04/18.04 上安装 SNMP 和 Cacti

最后一个包安装步骤适用于 Cacti 和 snmp 包。Cacti 的功能依赖于 Snmp 和 rrdtool 工具。使用以下命令安装这些软件包:

sudo apt -y install snmp snmpd snmp-mibs-downloader rrdtool
#安装cacti最新版本
git clone -b 1.2.x https://github.com/Cacti/cacti.git
#克隆 Cacti 存储库后,将文件移动到/var/www/html目录:
sudo mv cacti /var/www/html
#现在让我们预先填充 cacti 使用的数据库:
sudo mysql -u root cacti < /var/www/html/cacti/cacti.sql
#填充数据库后,我们可以继续在/var/www/html/cacti/include中创建config.php文件:
sudo mv /var/www/html/cacti/include/config.php.dist /var/www/html/cacti/include/config.php

修改 Cacti 配置文件并确保根据需要更改数据库设置:

sudo vim /var/www/html/cacti/include/config.php
$database_type     = \'mysql\';
$database_default  = \'cacti\';
$database_hostname = \'localhost\';
$database_username = \'cacti_user\';
$database_password = \'strongpassword\';
$database_port     = \'3306\';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = \'\';
$database_ssl_cert = \'\';
$database_ssl_ca   = \'\';
$database_persist  = false;
#其他配置不变

步骤6:配置 SNMP

首先通过在 /etc/snmp/snmp.conf 上注释掉以下行来启用 MIB 的加载

sudo vim /etc/snmp/snmp.conf
# mibs :

将mibs 注释掉

通过编辑 /etc/snmp/snmpd.conf 配置 SNMP community 名称

sudo vim /etc/snmp/snmpd.conf
#从 localhost 启用完全访问权限:
rocommunity MyCacti localhost
#通过以下行评论禁用公共访问:
# rocommunity public default -V systemonly
# rocommunity6 public default -V systemonly

重启 snmpd 服务:

 sudo systemctl restart snmpd
 sudo systemctl enable snmpd
 #验证snmp配置
 sudo snmpwalk -v 2c -c MyCacti localhost system

步骤7:在 Ubuntu 20.04/18.04 上配置 Cacti 服务器

sudo chown -R www-data:www-data /var/www/html/cacti
#为 Cacti 创建 systemd 单元文件:
sudo tee /etc/systemd/system/cactid.service<<EOF
[Unit]
Description=Cacti Daemon Main Poller Service
After=network.target

[Service]
Type=forking
User=www-data
Group=www-data
EnvironmentFile=/etc/default/cactid
ExecStart=/var/www/html/cacti/cactid.php
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

#创建环境文件:
sudo touch /etc/default/cactid
#现在启动并启用 cacti 服务:
sudo systemctl daemon-reload
sudo systemctl enable cactid
sudo systemctl restart cactid

步骤8:在 Web 界面上启动初始 Cacti 设置

打开 Web 浏览器并从 Cacti 服务器上授权的客户端系统导航到“ http://( IP 地址)/cacti/ ”。

配置新密码
勾选接受 GPL 许可协议 
由于这是我们的第一台服务器,请选择“新的主要服务器”,然后单击 下一步

至此cacti搭建完成!!!

参考链接:https://www.linuxmi.com/ubuntu-20-04-cacti.html

在 ubuntu 16.04 server 下安装cacti

1、安装Apache Web服务器

终端:sudo apt-get install apache2  apache2-doc
测试:浏览器地址栏输入,http://localhost/

2、安装PHP7.0和Apache的php模块

终端:sudo apt-get install php7.0 libapache2-mod-php7.0
重启apache2服务使php模块生效:sudo service apache2 restart

测试php7是否安装成功:编写特征文件进行测试。sudo vi /var/www/phpinfo.php
在phpinfo.php里面输入:(标准的PHP测试页面)
<?php
 phpinfo();
?>
测试:浏览器地址栏里面输入:http://localhost/phpinfo.php;出现php7的信息,表示安装成功

3、安装MySql数据库,

终端:sudo apt-get install mysql-server mysql-client

4、安装数据库管理程序:phpmyAdmin

终端:sudo apt-get install phpmyadmin
PS:在安装过程中会提示,选择数据库、输入数据库密码、选择服务器程序
phpMyAdmin安装完成之后,并不在apache的网站路径下面(/var/www/),所以需要我们建立网站链接:sudo ln -s /usr/share/phpmyadmin /var/www ,这时/var/www/下面的phpmyadmin就是指向/usr/share/phpmyadmin的超链接

在之后也可以通过这种方式建立网站链接。

重启apache服务

浏览器输入:http://localhost/phpmyadmin/;输入安装过程中设置的密码,就可以完成登陆了。

异常:登录后提示,mcrypt错误!终端执行:sudo php5enmod mcrypt,然后重启apache,再次登录phpmyadmin正常!(PS:其实很多的步骤完成之后,需要重启apache服务器,不行的话,先重启服务器试试)

至此,我们的cacti基本的运行环境已经安装完毕

5、安装snmp、snmpd、rrdtool

sudo apt-get install snmp snmpd rrdtool
cacti,在实际上只是数据显示的一个工具,真正在进行工作的是snmp和rrdtool;snmp进行数据采集,rrdtool进行用于保存数据和整理

6、安装cacti和cacti-spine

sudo apt-get install cacti cacti-spine

安装过程中,会提示选择运行服务器(apach2)和数据库(mysql)
在选择数据数据的时候,会提示输入数据库密码,这一过程,cacti会在mysql新建一个数据库用户user,数据库cacti,并将cacti运行所需要的数据表及信息导入cacti数据库。完成mysql和cacti的关联。

查看:/usr/share/cacti/site/include/config.php文件,就会看到这些信息。
$database_type = "mysqli";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "password";
$database_port = "";
$database_ssl = false;

打开:http://ip/phpmyadmin;以cacti和password登录mysql,会发现我们的cacti数据库和表已经导进来了

7、安装完成后的版本:

NET-SNMP version:  5.7.3
apt-cache policy cacti:
       Installed: 0.8.8f+ds1-4ubuntu4.16.04.1
      Candidate: 0.8.8f+ds1-4ubuntu4.16.04.1

以上是关于Ubuntu2004/1804安装Cacti服务器的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu下安装Cacti+rrdtool监控Windows

cacti结合nagios

cacti安装

Cacti安装配置

服务器监控cacti

监控三剑客之Cacti监控服务器