zoukankan      html  css  js  c++  java
  • Cacti1.2.16最新版安装和配置(Shell一键安装)

    一、Cacati一键安装脚本介绍

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

    二、环境要求

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

    三、使用

    脚本下载: https://cloud.mefj.com.cn/#/s/EjfE 密码:QWERTY

    下载解压缩到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
    #

    来源:https://mefj.com.cn/lur2873.html

  • 相关阅读:
    unity c# 获取系统时间
    如果你想让继承MonoBehaviour的类变成Singleten
    关于程序员
    开始养成记录的习惯吧
    关于结构体的赋值问题
    数学中的集合,群,环,域
    励志
    [编程题] 进制均值
    javaEE 入门
    jsp内置对象2
  • 原文地址:https://www.cnblogs.com/mefj/p/14089263.html
Copyright © 2011-2022 走看看