Zabbix4.2安装和4.0升级4.2笔记

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Zabbix4.2安装和4.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

最后一行是开启脚本采集数据


640.jpg


六、安装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;
    }
}


640.jpg


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


640.png

640.jpg

640.png


640.png

640.jpg

640.jpg


七、升级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的了,有问题的应该是前端,又想到前端已经生成好了,只不过没拷贝到网站目录下而已


640.png


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


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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
监控 关系型数据库 Linux
|
7月前
|
监控 关系型数据库 MySQL
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
|
5月前
|
存储 监控
Zabbix【问题 01】软件包 zabbix-release-6.2-3.el7.noarch (比 zabbix-release-5.0-1.el7.noarch 还要新) 已经安装
Zabbix【问题 01】软件包 zabbix-release-6.2-3.el7.noarch (比 zabbix-release-5.0-1.el7.noarch 还要新) 已经安装
58 0
|
5月前
|
监控 前端开发 应用服务中间件
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
419 0
|
10月前
|
监控 网络协议 Shell
使用脚本安装zabbix agent 6.0(新手友好)
使用脚本安装zabbix agent 6.0(新手友好)
|
5月前
|
监控 数据库连接 数据安全/隐私保护
安装Zabbix Server
安装Zabbix Server
54 1
|
5月前
|
存储 监控 前端开发
zabbix概述及简单的在centos7安装Zabbix5.0及添加监控对象
Zabbix是一种开源的企业级监控解决方案,用于实时监控网络、服务器、应用程序等各种设备和服务的性能和可用性,并提供通知和报警功能。它具有灵活可扩展、可定制化的特点,可以满足不同规模和需求的监控需求。
201 0
|
7月前
|
监控 Linux
CentOS 7安装zabbix-agent 5.0报错:依赖检测失败:libpcre.so.0(64bit)获取GPG密钥失败
CentOS 7安装zabbix-agent 5.0报错:依赖检测失败:libpcre.so.0(64bit)获取GPG密钥失败
143 0
|
7月前
|
监控 关系型数据库 MySQL
Zabbix分布式监控实战(二)——CentOS 7.5安装Zabbix-agent 5.0监控Mysql数据库
Zabbix分布式监控实战(二)——CentOS 7.5安装Zabbix-agent 5.0监控Mysql数据库
|
9月前
|
SQL 运维 监控
【运维知识进阶篇】Zabbix5.0稳定版详解11(在Grafana中使用Zabbix插件:安装Grafana+安装Zabbix插件+添加数据源+Grafana直连MySQL数据库取值)(下)
【运维知识进阶篇】Zabbix5.0稳定版详解11(在Grafana中使用Zabbix插件:安装Grafana+安装Zabbix插件+添加数据源+Grafana直连MySQL数据库取值)(下)
122 1

推荐镜像

更多