• zabbbix4.0升级到4.2


     

    一、添加Zabbix存储库

    1.安装存储库配置包。

    rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

    2.在将运行Zabbix前端的系统中启用可选rpms的存储库

    yum-config-manager --enable rhel-7-server-optional-rpms

    3.安装支持MySQL的Zabbix服务

    yum install zabbix-server-mysql

    4.安装支持MySQL的Zabbix前端

    yum install zabbix-web-mysql

    二、安装MySQL5.7数据库

    1.卸载mariadb包

    rpm -qa |grep mariadb    #查看当前安装的mariadb的包
    rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 #卸载mariadb的包

    2.下载并解压MySQL源码包

    wget https://dev.mysql.com/get/archives/mysql-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz  #从官网下载源码包
    tar -xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz #解压源码包
    mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql

    3.创建MySQL用户并对MySQL文件进行授权

    groupadd mysql                   --创建mysql用户组组
    useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中
    chown -R mysql.mysql mysql/ --将mysql目录访问权限赋为myql用户

    4.创建MySQL配置文件

    cat >>/etc/my.cnf  <<EOF     #写入配置文件
    [client]
    port = 3306
    socket = /tmp/mysql.sock
    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    #不区分大小写
    lower_case_table_names = 1
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    max_connections=5000
    default-time_zone = '+8:00'
    EOF

    5.初始化数据库

    touch /var/log/mysqld.log    #创建日志文件并授权
    chmod 777 /var/log/mysqld.log
    chown mysql.mysql mysqld.log
    /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    6.查看初始化密码

    cat /var/log/mysqld.log|grep root@localhost

    7.执行如下操作开启MySQL服务,并设置相应权限

    mkdir /var/run/mysqld
    touch /var/run/mysqld/mysqld.pid
    chmod -R 777 /var/run/mysqld
    chown -R mysql.mysql /var/run/mysqld
    /usr/local/mysql/support-files/mysql.server start #启动MySQL

    8.修改MySQL密码

    vim /etc/my.cnf   #修改配置文件
    skip-grant-tables #跳过密码认证
    default_password_lifetime=360 #修改密码超时时间
    不然修改密码之后密码会过期,会提示让你重新设置密码
    You must reset your password using ALTER USER statement before executing this statement.
    /usr/local/mysql/bin/mysql -uroot -p #登录MySQL
    use mysql #切换MySql数据库
    update mysql.user set authentication_string =password('root'), host = '%' where user = 'root'; #修改MySQL密码
    flush privileges;

    9.将MySQL加入环境变量

    echo 'PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile      #将MySQL二进制文件加入环境变量
    ln -s usr/local/mysql/support-files/mysql.server /usr/local/mysql/bin/ 将MySQL的启动文件软连接到MySQL的环境变量中

    10.进入数据库并创建zabbix数据库以及创建授权用户

    mysql>  create database zabbix character set utf8 collate utf8_bin;
    mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
    mysql> flush privileges;

    11.编辑zabbix-server配置文件,修改以下参数为创建数据库时的信息,并重启zabbix-server

    vim /etc/zabbix/zabbix_server.conf
    DBName=zabbix
    DBHost=192.168.179.132
    DBUser=zabbix
    DBPassword=zabbix

    创建pid文件

    touch /var/run/zabbix/zabbix_server.pid
    chmod 777 /var/run/zabbix/zabbix_server.pid

    启动zabbix-server

    systemctl enable zabbix-server
    systemctl start zabbix-server

    12.将初始数据导入MySQL中

    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

    三、安装Nginx

    1.关掉防火墙和selinux

    systemctl stop firewalld
    systemctl disable firewalld
    sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config

    2.安装依赖

    yum -y install wget vim lsof lrzsz pcre-devel zlib-devel make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel libmcrypt libmcrypt-devel mcrypt mhash net-snmp-devel
    yum -y install gcc bison bison-devel openssl-devel readline-devel libedit-devel sqlite-devel freetype freetype-devel libevent-devel mysql-devel

    3.配置Nginx的yum仓库

    cat >>/etc/yum.repos.d/nginx.repo <<EOF
    [nginx]
    name=nginx.repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1
    skip_if_unavailable = 1
    keepcache = 0
    EOF

    4.安装并启动Nginx

    yum install nginx -y
    systemctl start nginx
    systemctl enable nginx

    四、安装PHP

    1.添加PHP用户

    useradd -s /sbin/nologin php-fpm

    2.安装PHP依赖库

    yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

    3.编译安装php

    wget http://mirrors.sohu.com/php/php-7.2.6.tar.gz
    tar zxvf php-7.2.6.tar.gz
    cd php-7.2.6
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --enable-bcmath --enable-mbstring --enable-sockets --with-gd --with-libxml-dir=/usr/local --with-gettext
    make && make install
    echo $? #每执行完上条命令就运行一下,如果返回0,则执行成功
    cp php.ini-production /usr/local/php/etc/php.ini

    4.更改PHP配置文件

    sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /usr/local/php/etc/php.ini
    sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini
    sed -i 's/;date.timezone =/date.timezone =PRC/' /usr/local/php/etc/php.ini
    sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /usr/local/php/etc/php.ini
    sed -i 's/max_input_time = 60/max_input_time = 600/g' /usr/local/php/etc/php.ini
    sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /usr/local/php/etc/php.ini
    sed -i 's/; max_input_vars = 1000/max_input_vars = 10000/g' /usr/local/php/etc/php.ini

    5.启动php-fpm

    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

    五、安装zabbix-agent

    yum install zabbix-agent
    vim /etc/zabbix/zabbix-agentd.conf

    Server和ServerActive分别代表zabbix的被动模式和主动模式,这里都填server端的IP
    最后一行是开启脚本采集数据

    六、安装zabbix-web

    1.将zabbix的php源文件拷贝到网站目录上

    cp -r /usr/share/zabbix/.* /usr/share/nginx/html/

    2.修改nginx配置

    egrep -v '(^.*#|^$)' /etc/nginx/conf.d/default.conf
    server {
    listen 80;
    server_name 192.168.179.133;
    access_log /var/log/nginx/host.access.log main;
    location / {
    root /usr/share/nginx/html;
    index index.html index.htm index.php;
    }
    location /zabbix {
    root /usr/share/nginx/html;
    index index.html index.htm index.php;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }
    location ~ .php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
    include fastcgi_params;
    }
    }

    3.授予zabbix-web目录权限并重启nginx

    chmod -R 777 /etc/zabbix/web.
    chmod -R 777 /usr/share/nginx/html/zabbix
    systemctl restart nginx

    4.在浏览器上访问192.168.179.133/zabbix开始安装zabbix-web

     

    七、升级zabbix

    1.停止zabbix-server和zabbix-proxy

    由于我是本地测试环境,没装proxy,所以只停server

    systemctl stop zabbix-server

    2.备份4.0配置数据

    mysqldump -uzabbix -p --single-transaction --master-data=2 --databases zabbix > olddata.sql

    3.更新存储库配置包

    rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

    4.升级Zabbix组件

    yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

    5.启动Zabbix-server进程

    systemctl start zabbix-server

    6.授予zabbix-web权限

    chmod 777 -R /etc/zabbic/web

    7.将生成的前端文件放在网站目录下

    当时这里做了三次才想到,之前一直以为是数据库的问题,后来一想数据库是4020000,而前端是4000000,说明数据库是4.2的了,有问题的应该是前端,又想到前端已经生成好了,只不过没拷贝到网站目录下而已

    cp -r /usr/share/zabbix/.* /usr/share/nginx/html/

    至此,zabbix4.0升级到4.2完成

    记录零碎的记忆,最后汇成一片属于自己的知识的星海
  • 相关阅读:
    MVP模式与MVVM模式
    webpack的配置处理
    leetcode 287 Find the Duplicate Number
    leetcode 152 Maximum Product Subarray
    leetcode 76 Minimum Window Substring
    感知器算法初探
    leetcode 179 Largest Number
    leetcode 33 Search in Rotated Sorted Array
    leetcode 334 Increasing Triplet Subsequence
    朴素贝叶斯分类器初探
  • 原文地址:https://www.cnblogs.com/yylyu/p/10665172.html
Copyright © 2020-2023  润新知