Zabbix 6.0 图文安装部署讲解---LNMP环境
Zabbix 6.0 图文安装部署讲解---LNMP环境
- 简介
- 环境需求
- 部署环境
- 关闭系统防火墙
- 一、Mysql8.0.30 部署
- 二、nginx 部署
- 三、PHP 部署
- 四、zabbix-server 部署
- 五、Web端初始化
- 六、解决zabbix 6.0 中文乱码问题
简介
Zabbix 主要有以下几个组件组成:
Zabbix Server:Zabbix 服务端,是 Zabbix 的核心组件。它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中。
Zabbix Agent:Zabbix 客户端,部署在被监控设备上,负责采集监控数据,采集后的数据发送给 Zabbix Server 处理。Zabbix Agent 目前有两个版本:Zabbix agent 和 Zabbix agent 2。前者是 C 语言开发的,几乎支持所有的主流平台。而后者是 Go 开发的,优点包括:能有效降低 TCP 连接的数量;支持更高的并发;易于扩展。目标是替代 Zabbix agent ,目前只支持 Linux 和Windows 两个平台。
Zabbix Proxy:代替 Zabbix Server 接收监控数据并进行预处理,预处理后的数据批量发送给 Zabbix Server,这样可减轻 Zabbix Server 的压力。
Web 页面:可通过 Web 页面来管理和维护被监控设备的配置信息、查看监控数据、配置告警等。
数据库:负责存储被监控设备的配置信息和监控数据。支持的数据库有:MySQL(Percona,MariaDB),Oracle,PostgreSQL,TimescaleDB for PostgreSQL,SQLite
环境需求
数据库Mysql需要是8.0.x以上的版本,PHP不支持PHP8.0版本 ,详细信息可看–>官方文档
本文安装环境:Centos 7.4、 Nginx 1.20 、 Mysql 8.0.30、 PHP 7.2、 Zabbix-Server 6.0.1
部署环境
关闭系统防火墙
[root@zabbix-40 ~]# systemctl stop firewalld
[root@zabbix-40 ~]# systemctl disable firewalld
[root@zabbix-40 ~]# vim /etc/selinux/config
SELINUX=disabled
一、Mysql8.0.30 部署
下载安装捆绑包,解决依赖相关问题,避免麻烦,CentOS7可以选择红帽企业版7的包–>下载地址
[root@zabbix-40 ~]# cd /usr/local/src/
[root@zabbix-40 /usr/local/src]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
# 解压
[root@zabbix-40 /usr/local/src]# tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
# 忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的
[root@zabbix-40 /usr/local/src]# sudo rpm -ivh mysql-community-* --force --nodeps
#创建数据存储目录
[root@zabbix-40 ~]# mkdir -p /data/mysql
[root@zabbix-40 ~]# chown mysql:mysql /data/mysql
#修改配置文件
[root@zabbix-40 ~]# vim /etc/my.cnf
[root@zabbix-40 ~]# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
port=3306
lower_case_table_names=1
max_connections=500
启动数据库
#先查看libaio包是否有安装(安装了则不用管,未安装可能出现启动失败缺包的情况)
#我这里使用的是aliyun的yum源(需要的可以在文档最底部查看)
[root@zabbix-40 ~]# yum install libaio
[root@zabbix-40 ~]# systemctl enable mysqld
[root@zabbix-40 ~]# systemctl start mysqld
#启动失败的话可以查看日志 /var/log/mysqld.log
获取密码登录Mysql
[root@zabbix-40 /data]# cat /var/log/mysqld.log | grep password
2022-12-15T09:31:52.061965Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: z-Tp1q+/8J.7
[root@zabbix-40 /data]# mysql -uroot -pz-Tp1q+/8J.7
mysql> alter user 'root'@'localhost' identified by 'Oyst@655';
mysql> flush privileges;
#由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件
# 密码检查等级,0/LOW、1/MEDIUM、2/STRONG
mysql> set global validate_password.policy=0;
# 密码的最短长度
mysql> set global validate_password.length=6;
# 密码至少要包含的小写字母个数和大写字母个数
mysql> set global validate_password.mixed_case_count=0;
#创建zabbix库(这里zabbix对库的编码格式有需求)
mysql> create database zabbix character set utf8 collate utf8_bin;
#创建用户(指定使用的身份验证插件)
mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by '123123';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> flush privileges;
二、nginx 部署
[root@zabbix-40 ~]# rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.0-1.el7.ngx.x86_64.rpm[root@zabbix-40 ~]# mkdir /data/web
[root@zabbix-40 ~]# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
[root@zabbix-40 ~]# vim /etc/nginx/conf.d/zabbix.conf
server {listen 80;server_name localhost;root /data/web;location / {index index.php index.html index.htm;}location ~ \.php$ {#root /data/web;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}
[root@zabbix-40 ~]# systemctl enable nginx
[root@zabbix-40 ~]# systemctl start nginx
三、PHP 部署
[root@zabbix-40 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@zabbix-40 ~]# yum -y install epel-release
[root@zabbix-40 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@zabbix-40 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#webtatic源,一个web服务的源
#安装php7及其它依赖软件
[root@zabbix-40 ~]# yum -y install gcc gcc-c++ php72w-cli php72w-fpm php72w-gd php72w-mbstring php72w-bcmath php72w-xml php72w-ldap php72w-mysqlnd
[root@zabbix-40 ~]# vim /etc/php.ini
368:max_execution_time = 300
378:max_input_time = 300
656:post_max_size = 16M
[root@zabbix-40 ~]# cd /data/web/
[root@zabbix-40 ~]# vim index.php #创建php测试页
<?php
phpinfo();
?>
[root@zabbix-40 ~]# systemctl enable php-fpm
[root@zabbix-40 ~]# systemctl start php-fpm
这里可以使用浏览器验证一下Nginx和PHP(内网中直接输入IP)
四、zabbix-server 部署
#创建用户
[root@zabbix-40 ~]# groupadd zabbix
[root@zabbix-40 ~]# useradd -g zabbix -M -s /sbin/nologin zabbix
#下载安装
[root@zabbix-40 ~]# cd /usr/local/src
[root@zabbix-40 /usr/local/src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.1.tar.gz
[root@zabbix-40 /usr/local/src]# tar -xf zabbix-6.0.1.tar.gz
[root@zabbix-40 /usr/local/src]# cd zabbix-6.0.1/
#安装依赖
[root@zabbix-40 /usr/local/src/zabbix-6.0.1]# yum -y install mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
#编译安装
[root@zabbix-40 /usr/local/src/zabbix-6.0.1]# ./configure --sysconfdir=/etc/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
[root@zabbix-40 /usr/local/src/zabbix-6.0.1]# make install#修改配置文件
[root@zabbix-40 ~]# vim /etc/zabbix/zabbix_server.conf
[root@zabbix-40 ~]# grep -n '^[a-Z]' /etc/zabbix/zabbix_server.conf
12:ListenPort=10051
38:LogFile=/tmp/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=123123
507:Timeout=4
593:LogSlowQueries=3000
708:StatsAllowedIP=127.0.0.1#向数据库中导入zabbix的库表及数据(注意导入的顺序)
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql#移动zabbix前端页面到网站根目录
[root@zabbix-40 ~]# cp -rp /usr/local/src/zabbix-6.0.1/ui/* /data/web/
cp:是否覆盖"/data/web/index.php"? y
#配置zabbix系统启停命令(注意这个文件是新增的)
[root@zabbix-40 ~]# vim /usr/lib/systemd/system/zabbix.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target#加载system文件
[root@Zabbix mysql]# systemctl daemon-reload
[root@Zabbix mysql]# systemctl enable zabbix
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix.service to /usr/lib/systemd/system/zabbix.service.
[root@Zabbix mysql]# systemctl start zabbix
五、Web端初始化
- 输入IP直接跳转至zabbix网页端
1.1 这一步如果无法跳转到zabbix的ui界面可以去查看 /etc/nginx/ 和 /etc/nginx/conf.d/activateFramex fail! 目录下的配置文件配置的转发地址以及端口58020是否启动与被占用 - 这里已经调整过PHP的配置文件,如果还有问题的可以编辑/etc/php.ini ,调整对应字段的值即可
- 配置DB连接
3.1 服务器请求客户端未知的身份验证方法。
原因:因为Mysql 8 默认创建用户的身份验证插件是 caching_sha2_password,所以我我们在创建zabbix用户时需要指定身份验证插件为mysql_native_password。
#解决办法
mysql> drop user zabbix@localhost;
mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by '123123';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> flush privileges;
3.2 无法确定当前 Zabbix 数据库版本: 找不到表“ dbversion”。
原因:没有将zabbix需要的表导入到mysql中
#解决办法
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql
3.3 不支持表的字符集或排序规则
原因:创建zabbix库的时候需要指定编码方式(和第一个问题相似)
#解决办法
mysql> drop database zabbix;
mysql> create database zabbix character set utf8 collate utf8_bin;
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql
- 这里自定义Zabbix主机名称即可
- 安装
要么就下载配置文件然后上传然后授权给zabbix即可
要么就是如下操作:
[root@zabbix-40 ~]# cp /data/web/conf/zabbix.conf.php.example /data/web/conf/zabbix.conf.php
[root@zabbix-40 ~]# chown zabbix:zabbix /data/web/conf/zabbix.conf.php
[root@zabbix-40 ~]# vim /data/web/conf/zabbix.conf.php
#只修改PASSWORD的密码
$DB['PASSWORD'] = '123123';
默认账号密码:Admin zabbix
六、解决zabbix 6.0 中文乱码问题
将windows的 C:\Windows\Fonts 路径下将楷体的ttf文件复制到linux的 /data/web/assets/fonts 目录下,
#目录下有simkai.ttf这个新上传的文件
[root@zabbix-40 ~]# ll /data/web/assets/fonts
总用量 12252
-rw-r--r-- 1 zabbix zabbix 756072 2月 28 2022 DejaVuSans.ttf
-rw-r--r-- 1 root root 11787328 12月 19 16:57 simkai.ttf
#替换配置文件中的默认字体
[root@zabbix-40 ~]# sed -i 's/DejaVuSans/simkai/g' /data/web/include/defines.inc.php
#如果这里之前是修改了网页路径的话,到自己的路径下找include/defines.inc.php即可
阿里云的源可以查看个人主页中的zabbix-agent 快速部署文章–>链接
Zabbix 6.0 图文安装部署讲解---LNMP环境相关推荐
- Zabbix 4.2.5 安装部署实践详解
一.安装 1.安装CentOS操作系统,并配置网络 2.安装Zabbix官方源 rpm -ivh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zab ...
- linux redis-4.0,Linux Redis 4.0.2 安装部署
Linux Redis 4.0.2 安装部署 01 安装GCC yum -y install gcc gcc-c++ libstdc++-devel tcl -y 02 下载安装包 cd /expor ...
- Postgresql 12.2 + PostGIS 3.0.1 安装部署手册
Postgresql 12.2 + PostGIS 3.0.1 安装部署手册 文章目录 Postgresql 12.2 + PostGIS 3.0.1 安装部署手册 环境说明 注意事项 Postgre ...
- zabbix-3.0.4安装部署
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利,官方网站:http:/ ...
- Rocky 9.1操作系统实现zabbix6.0的安装部署实战
文章目录 前言 一. 实验环境 二. 安装zabbix过程 2.1. 安装zabbix源 2.2 安装zabbix相关的软件 2.3 安装数据库并启动 2.4 开始初始化数据库: 2.5 创建数据库实 ...
- Zabbix 6.0 TimescaleDB 安装配置
图片 张世宏(当代张思德) | Zabbix开源社区签约专家 2017-2021年连续5届Zabbix中国峰会演讲嘉宾 2020年Zabbix全球峰会演讲嘉宾 自主研发开源组件Zabbix报表系统Zb ...
- zabbix 3.0.0beta1安装-centos6.8版本
zabbix 3.0安装 zabbix最低需要mysql 5.5 php5.3 查询mysql版本 yum list installed | grep mysql ##mysql-libs.x86_6 ...
- Tez 0.9安装部署+hive on tez配置 + Tez-UI
Tez说明 将xyz替换为您正在使用的tez发行版号.例如0.5.0.对于Tez版本0.8.3和更高版本,Tez需要Apache Hadoop版本为2.6.0或更高版本.对于Tez版本0.9.0及更高 ...
- linux7.1安装教程,Debian Linux 7.1.0 图文安装教程
Debian 7.1.0 安装教程图解(--Debian系统轻量级快速安装法) 目录 一.Debian 7.1.0最新安装光盘 二.安装系统教程图解 三.DebianLNMP更多相关使用系列文章 一. ...
最新文章
- 中leetcode提示未登录_分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件...
- 七牛直播云服务技术揭秘
- Jsoup代码解读之四-parser(上)
- 看《烈火雄心》 --当大家从火里出来,我们进去
- selenium常用获取元素点
- Git学习(四)标签管理
- virtualenvwrapper安装及使用
- linux 完成量源码,Linux内核中等待队列 和完成量
- 记录一次:微信支付申请时,网站不通过/统一驳回的问题解决方法
- 【2021最新版】Linux面试题总结(48道题含答案解析)
- Script.NET 1.0版本的Tcl+Html界面编程原理
- PythonC++相互混合调用编程全面实战-24QT按钮事件的Open槽函数中调用python函数
- MSN天气不显示数据、打不开、微软商店打不开报错0x80131500
- 【科研人应该知道的网站】查阅文献+学习+代码+开发+其他——研究生必备学习网站,研究生应该知道的学习网站
- 一块自制自行车码表从B站火到GitHub,稚晖君点赞,网友催量产
- html5 中input type=‘file’实现文件图片等的上传的文件类型限制
- python中xml Excel解析编码小结
- javascript/js 判断是否安装flash player插件,提示安装方法。
- Spring 事务源码(2)—<tx:annotation-driven/>事务标签源码解析
- Python爬虫实战使用scrapy与selenium来爬取数据