Cacti1.2.16最新版安装和配置(Shell一键安装)

一、Cacti一键安装脚本介绍

如果你对系统操作不是很熟悉,刚开始安装这种软件可能会比较麻烦,手动安装各个步骤一不小心经常出错,但是出于为了熟悉环境,还是建议手动安装一次两次,这样可以熟悉各个组件的安装和配置。

二、环境要求

  • Centos 7.x以上,网络正常
  • PHP 7.x以上
  • MariaDB或者Mysql5.7版本以上

三、使用

脚本下载(左下角扫码公众号回复:Cacti安装脚本  获取下载密码)

本站下载:https://cloud.mefj.com.cn/#/s/EjfE

天翼云盘:天翼云盘 珍藏美好生活 家庭云|网盘|文件备份|资源分享

下载解压缩到root根目录-----赋权和执行,如下:

[root@brace ~]# chmod +x auto.sh
[root@brace ~]# ./ auto.sh

参考shell
#!/bin/bash
#
# OS:CENTOS 7 X86_64
#
version=1.2.16
std_dir=$(pwd)
function Idendify()
{
    
    if [ $UID -ne 0 ];then
        echo "Must run as root!"
        cd
        rm -rf $std_dir
        exit 1
    fi
}
#禁用selinux
function Disable_selinux()
{
    setenforce 0
#
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#
}
#建立mariadb10源
function Rebuild_repo()
{
    echo -e "[mariadb]nname = MariaDBnbaseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64ngpgkey = https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDBngpgcheck = 1" >/etc/yum.repos.d/CentOS-MariaDB.repo
#重建软件源缓存
    yum clean all
    yum makecache
}
#安装依赖
function Install_base_env()
{
    yum -y install gcc make automake httpd php php-mysql php-snmp php-xml php-gd php-ldap php-mbstring php-posix MariaDB-client MariaDB-server MariaDB-devel MariaDB-compat MariaDB-common pcre-devel pango pango-devel  cairo-devel libxml2-devel pixman-devel perl-devel fontconfig-devel freetype libpng-devel binutils cpp net-snmp net-snmp-utils net-snmp-devel  openssl-devel autoconf binutils dos2unix libtool glibc-devel glibc-headers kernel-headers wget patch fontconfig ttmkfdir
}
#
#安装rrdtool
function Install_rrdtool()
{
    tar -xzvf rrdtool-1.7.2.tar.gz
    cd rrdtool-1.7.2/
    sed -i 's/RRDTOOL / TOBI OETIKER/YUNWEI PASSWD / Based on cacti/' src/rrd_graph.c
    ./configure
    make && make install
    cd ../
    cp /opt/rrdtool-1.7.2/bin/* /usr/bin/
}
#
#启动SNMP
function Start_snmp()
{
    systemctl enable snmpd
    systemctl start snmpd
}
#安装cacti-spine
function Install_spine()
{
    tar zxvf cacti-spine-$version.tar.gz
    cd cacti-spine-$version/
    ./bootstrap
    ./configure
    make
    cp spine /usr/bin/spine
    cp spine.conf.dist /etc/spine.conf
    cd ../
    chown apache.apache /etc/spine.conf
    sed -i '/^DB_Pass/cDB_Pass    am9pbmRhdGEubmV0Cg' /etc/spine.conf
}
#
#启动数据库
#
function Start_mariadb()
{
    systemctl enable mariadb
    systemctl start mariadb
}
#
function Create_db()
{
    mysqladmin -uroot password 'am9pbmRhdGEubmV0Cg'
#
    mysql -uroot -pam9pbmRhdGEubmV0Cg -e "create database cacti;"
#
    mysql -uroot -pam9pbmRhdGEubmV0Cg -e "grant all on cacti.* to cactiuser@'localhost' identified by 'am9pbmRhdGEubmV0Cg';"
#
    mysql -uroot -pam9pbmRhdGEubmV0Cg -e "flush privileges;"
#
    mysql -uroot -pam9pbmRhdGEubmV0Cg -e "ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
}
#
#安装cacti
function Install_cacti()
{
    tar zxvf cacti-$version.tar.gz
    mv cacti-$version /var/www/html/cacti
#
    chmod -R a-w /var/www/html/cacti/
    chown -R apache /var/www/html/cacti/resource/snmp_queries/
    chown -R apache /var/www/html/cacti/resource/script_server/
    chown -R apache /var/www/html/cacti/resource/script_queries/
    chown -R apache /var/www/html/cacti/scripts/
    chown -R apache /var/www/html/cacti/cache/boost/
    chown -R apache /var/www/html/cacti/cache/mibcache/
    chown -R apache /var/www/html/cacti/cache/realtime/
    chown -R apache /var/www/html/cacti/cache/spikekill/
#
    chmod -R u+w /var/www/html/cacti/resource/snmp_queries/
    chmod -R u+w /var/www/html/cacti/resource/script_server/
    chmod -R u+w /var/www/html/cacti/resource/script_queries/
    chmod -R u+w /var/www/html/cacti/scripts/
    chmod -R u+w /var/www/html/cacti/cache/boost/
    chmod -R u+w /var/www/html/cacti/cache/mibcache/
    chmod -R u+w /var/www/html/cacti/cache/realtime/
    chmod -R u+w /var/www/html/cacti/cache/spikekill/

#
#导入数据库
#
    mysql -u cactiuser -pam9pbmRhdGEubmV0Cg cacti</var/www/html/cacti/cacti.sql
#
    chmod -R 777 /var/www/html/cacti/rra
    chmod -R 777 /var/www/html/cacti/log
    chown -R apache.apache /var/www/html/cacti/rra
    chown -R apache.apache /var/www/html/cacti/log
#
}
#测试一下spine
#
function Test_spine()
{
    /usr/bin/spine
#
}
#修改cacti全局配置文件
#
function Config_cacti()
{
    sed -i '/^$database_default/c$database_default = '''cacti''';' /var/www/html/cacti/include/config.php
#
    sed -i '/^$database_username/c$database_username = '''cactiuser''';' /var/www/html/cacti/include/config.php
#
    sed -i '/^$database_password/c$database_password = '''am9pbmRhdGEubmV0Cg''';' /var/www/html/cacti/include/config.php
#
#修改时区
    sed -i '24adate_default_timezone_set('''Asia/Shanghai''');' /var/www/html/cacti/include/global.php
#
}
#添加计划任务
#
function Add_cron()
{
    echo "*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php >> /tmp/cacti_rrdtool.log 2>&1" |crontab
#
}
#修改php.ini
#
function Config_php()
{
    sed -i '/memory_limit/cmemory_limit = 1536M' /etc/php.ini
#
    sed -i '/max_execution_time/cmax_execution_time = 100' /etc/php.ini
#
    sed -i '/date.timezone =/cdate.timezone = "Asia/Shanghai"' /etc/php.ini
}
#
#配置数据库特性
#
function config_mariadb()
{
    sed -i '/[mysqld]/acharacter_set_server=utf8mb4' /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/acharacter_set_client=utf8mb4'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/acollation_server=utf8mb4_unicode_ci'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/amax_heap_table_size=768M'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/atmp_table_size=768M'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ajoin_buffer_size=1024M'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_file_format=Barracuda'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_large_prefix=1'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_buffer_pool_size=8192M'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_flush_log_at_timeout=3'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_read_io_threads=32'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_write_io_threads=16'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_buffer_pool_instances=64'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_io_capacity=400'  /etc/my.cnf.d/server.cnf
    sed -i '/[mysqld]/ainnodb_io_capacity_max=4000'  /etc/my.cnf.d/server.cnf
#

#导入mysql时区
#

    cd /bin
    mysql_tzinfo_to_sql /usr/share/zoneinfo |mysql -uroot -pam9pbmRhdGEubmV0Cg mysql
#
    mysql -uroot -pam9pbmRhdGEubmV0Cg -e "grant select on mysql.time_zone_name to cactiuser@'localhost';"
#
    systemctl restart mariadb
}
#上传字体
#
function config_font()
{
    cd /usr/share/fonts/
    mkdir chinese
#
    cp $std_dir/FZHTK.TTF chinese/
#
    ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
#
    fc-cache
#
}
function Install_plugins()
{
    cd $std_dir
    tar xzvf plugin_monitor-2.3.6.tar.gz
    tar xzvf plugin_thold-1.3.2.tar.gz
    mv plugin_monitor-2.3.6 /var/www/html/cacti/plugins/monitor
    mv plugin_thold-develop /var/www/html/cacti/plugins/thold
}
#启动httpd
#
function Start_httpd()
{
    systemctl enable httpd
    systemctl start httpd
#
}
#
function Config_firewall()
{
    firewall-cmd --permanent --add-service http
    firewall-cmd --add-service http
}
#
Idendify
#
Disable_selinux
#
Rebuild_repo
#
Install_base_env
#
Install_rrdtool
#
Start_snmp
#
Install_spine
#
Start_mariadb
#
Create_db
#
Install_cacti
#
Test_spine
#
Config_cacti
#
Add_cron
#
Config_php
#
config_mariadb
#
config_font
#
Install_plugins
#
Start_httpd
#
Config_firewall
#
exit 0
#

注:大家如果复制本文,请一定留下转载来源,这是对博主基本的尊重,谢谢

原著链接:Cacti1.2.16最新版安装和配置(Shell一键安装) | 运维密码

博客园原著链接:https://www.cnblogs.com/mefj/p/14089263.html

Cacti是一款基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具,通过snmpget来获取数据,使用RRDtool绘画图形,提供了非常强大的数据和用户管理功能。 Cacti 1.2.16 更新日志:2020-11-30问题#3704:生成报告时,“级联分支”功能与预期不符;问题#3859:查看图形时,会自动刷新,因此无法始终按预期工作;问题#3898:实时图形弹出计数器错误;问题#3903:创建新数据源时可能会发生未定义的变量错误;问题#3907:发生错误时,基于cli的安装程序不会以非零退出代码退出;问题#3912:导出完成后,有时进度条仍会保留;问题#3915:启用许多设备时,可以达到阈值,从而导致进程变慢;问题#3916:对设备执行操作时,复制的设备信息有时可能会丢失;问题#3917:使用API​​重命名树节点时,回溯可能显示不正确;问题#3919:搜索时,ddb4github有时可以将有效页面显示为空;问题#3920:从图形导出数据时,并未正确包含所有数据;问题#3924:由ddb4github创建的新图形后,“图形模板”过滤器未更新;问题#3926:登录页面上的用户名和密码在经典主题中不可见;问题#3929:改进并发进程和线程设置的措辞;问题#3930:位置过滤器应通过ddb4github删除空白条目;问题#3931:同步数据收集器时,可能会不必要地触发重新索引事件;问题#3932:自动化网络允许发现无效的IP地址;问题#3933:更改当前用户的权限时,它们不会立即生效;问题#3935:为设备重新编制索引时,有时会显示错误的页面;问题#3942:修复数据库时,audit_database.php不会添加缺少的列;问题#3948:Spine1.2.15-Spine遇到未处理的异常信号号:'6'[11,资源暂时不可用](Spine线程);问题#3949:如果不存在日志信息,则日志页面不应为空;问题#3953:在升级期间,有时会复制领域,从而导致SQL错误;问题#3957:使用ping.php时,hypnotoad无法正确解释UDP响应时间;问题#3960:改进了在尝试查看您无权访问的日志文件时收到的警告;问题#3962:复制文件时,脚本未标记为可执行文件;问题#3963:创建插件表时,排序规则设置不正确;功能:将c3.js更新到版本0.7.20;功能:将Chart.js更新到版本2.9.4;功能:将phpseclib更新到版本2.0.29;功能:将PHPMailer更新到版本6.1.8;功能:对CLI脚本使用LSB shebang表示法;功能:添加对基于cactid守护程序的启动器的支持;feature#3923:新增了通过datatecuk隐藏“图表向下钻取”图标的功能;feature#3943:为插件添加钩子以显示自定义图形源和自定义模板URL(列表视图)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值