我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Zabbix 6.0 图文安装部署讲解---LNMP环境

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Zabbix 6.0 图文安装部署讲解---LNMP环境

Zabbix 6.0 图文安装部署讲解---LNMP环境

简介

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/configSELINUX=disabled

一、Mysql8.0.30 部署

下载安装捆绑包,解决依赖相关问题,避免麻烦,CentOS7可以选择红帽企业版7的包–>下载地址

[root@zabbix-40 ~]# cd /usr/local/class="lazy" data-src/[root@zabbix-40 /usr/local/class="lazy" data-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/class="lazy" data-src]# tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar# 忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的[root@zabbix-40 /usr/local/class="lazy" data-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/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidcharacter-set-server=utf8mb4collation-server=utf8mb4_general_ciport=3306lower_case_table_names=1max_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 password2022-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.7mysql> alter user 'root'@'localhost' identified by 'Oyst@655';mysql> flush privileges;#由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件# 密码检查等级,0/LOW、1/MEDIUM、2/STRONGmysql> 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#修改nginx的配置文件,要修改的主要是server{} ,也可以复制过去直接覆盖原来的配置文件[root@zabbix-40 /etc/nginx]# vim /etc/nginx/nginx.conf user  nginx;worker_processes  auto;error_log  /var/log/nginx/error.log notice;pid        /var/run/nginx.pid;events {    worker_connections  1024;}http {    include       /etc/nginx/mime.types;    default_type  application/octet-stream;    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';    access_log  /var/log/nginx/access.log  main;    sendfile        on;    #tcp_nopush     on;    keepalive_timeout  65;    #gzip  on;    server {      listen       80;      server_name  localhost;      root         /data/web;      location / {        index  index.php index.html index.htm;      }      location ~ \.php$ {        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 #验证端口(能看到nginx的 80 端口开始监听了)[root@zabbix-40 ~]# netstat -ntlpProto Recv-Q  Send-Q   Local Address   Foreign Address      State        PID/Program nametcp    0       0       0.0.0.0:80      0.0.0.0:*            LISTEN      2507/nginx: master  

三、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 = 300378:max_input_time = 300656:post_max_size = 16M[root@zabbix-40 ~]# cd /data/web/[root@zabbix-40 ~]# vim index.php   #创建php测试页面<?phpphpinfo();?>[root@zabbix-40 ~]# systemctl  enable php-fpm[root@zabbix-40 ~]# systemctl  start php-fpm#验证端口(能看到php的 9000 端口开始监听了)[root@zabbix-40 ~]# netstat -ntlpProto Recv-Q  Send-Q   Local Address      Foreign Address      State        PID/Program nametcp    0      0        127.0.0.1:9000       0.0.0.0:*          LISTEN      8450/php-fpm: maste

这里可以使用浏览器验证一下Nginx和PHP(内网中直接输入IP)
![在这里插入图片描述](https://img-blog.csdnimg.cn/262b36c094ae475f90b976bbacb4eb86.png
#到这里能访问到这个PHP的页面的话就代表你的nginx和php配置都是正常的,离胜利只差一丢丢了
nginx的配置我是直接配在 nginx.conf 中,需要配置在conf.d中的话可以自行研究哈

四、zabbix-server 部署

#创建用户[root@zabbix-40 ~]# groupadd zabbix[root@zabbix-40 ~]# useradd -g zabbix -M -s /sbin/nologin zabbix#下载安装[root@zabbix-40 ~]# cd /usr/local/class="lazy" data-src[root@zabbix-40 /usr/local/class="lazy" data-src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.1.tar.gz[root@zabbix-40 /usr/local/class="lazy" data-src]# tar -xf zabbix-6.0.1.tar.gz[root@zabbix-40 /usr/local/class="lazy" data-src]# cd zabbix-6.0.1/#安装依赖[root@zabbix-40 /usr/local/class="lazy" data-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/class="lazy" data-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/class="lazy" data-src/zabbix-6.0.1]# make install#修改配置文件(前面的数字代表的是要修改属性字段的行数 例如 12:)[root@zabbix-40 ~]# vim /etc/zabbix/zabbix_server.conf[root@zabbix-40 ~]# grep -n '^[a-Z]' /etc/zabbix/zabbix_server.conf12:ListenPort=1005138:LogFile=/tmp/zabbix_server.log87:DBHost=localhost99:DBName=zabbix115:DBUser=zabbix123:DBPassword=123123507:Timeout=4593:LogSlowQueries=3000708:StatsAllowedIP=127.0.0.1#向数据库中导入zabbix的库表及数据(注意导入的顺序)[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/schema.sql[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/images.sql[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/data.sql#移动zabbix前端页面到网站根目录[root@zabbix-40 ~]# cp -rp /usr/local/class="lazy" data-src/zabbix-6.0.1/ui/* /data/web/cp:是否覆盖"/data/web/index.php"? y#配置zabbix系统启停命令(注意这个文件是新增的)[root@zabbix-40 ~]# vim /usr/lib/systemd/system/zabbix-server.service[Unit]Description=Zabbix Server with MySQL DBAfter=syslog.target network.target mysqld.service[Service]Type=simpleExecStart=/usr/local/sbin/zabbix_server -fUser=zabbix[Install]WantedBy=multi-user.target#重新加载system文件[root@Zabbix mysql]# systemctl daemon-reload[root@Zabbix mysql]# systemctl enable zabbix-serverCreated symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix.service.[root@Zabbix mysql]# systemctl start zabbix-server

五、Web端初始化

  1. 输入IP直接跳转至zabbix网页端
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/2d3ce5ec1a2d4909983060905f60f545.png
    1.1 这一步如果无法跳转到zabbix的ui界面可以去查看 /etc/nginx/ 和 /etc/nginx/conf.d/ 目录下 .conf 结尾的配置文件配置的转发地址以及端口80是否启动与被占用
  2. 这里已经调整过PHP的配置文件,如果还有问题的可以编辑/etc/php.ini ,调整对应字段的值即可
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/48e0d7b4275e4f13aafdcc007f4c3728.png
  3. 配置DB连接
    在这里插入图片描述

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;

2 无法确定当前 Zabbix 数据库版本: 找不到表“ dbversion”。
在这里插入图片描述
原因:没有将zabbix需要的表导入到mysql中

#解决办法[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/schema.sql[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/images.sql[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/data.sql

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/class="lazy" data-src/zabbix-6.0.1/database/mysql/schema.sql[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/images.sql[root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/class="lazy" data-src/zabbix-6.0.1/database/mysql/data.sql
  1. 这里自定义Zabbix主机名称即可
    在这里插入图片描述
    在这里插入图片描述
  2. 安装
    在这里插入图片描述
    要么就下载配置文件然后上传然后授权给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 228 2022 DejaVuSans.ttf-rw-r--r-- 1 root   root   11787328 1219 16:57 simkai.ttf#替换配置文件中的默认字体[root@zabbix-40 ~]# sed -i 's/DejaVuSans/simkai/g' /data/web/include/defines.inc.php#如果这里之前是修改了网页路径的话,到自己的路径下找include/defines.inc.php即可

记录一下还有一个可能发送的乱码问题(主机重命名时带有中文的时候无法生效)
Zabbix不支持主机名中存在中文字符的,要让zabbix主机名支持中文,需要修改zabbix的php配置文件

[root@zabbix-40 ~]# vim /data/web/include/defines.inc.php#将下面的字段(大概在1198 行)define('ZBX_PREG_INTERNAL_NAMES', '([0-9a-zA-Z_\. \-]+)');改成define('ZBX_PREG_INTERNAL_NAMES', '([0-9a-zA-Z_\. \-\x{80}-\x{ff}]+)');#改完重启一些zabbix-server[root@zabbix-40 ~]# systemctl restart zabbix-server

阿里云的源可以查看个人主页中的zabbix-agent 快速部署文章–>链接

来源地址:https://blog.csdn.net/weixin_52906737/article/details/128331225

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Zabbix 6.0 图文安装部署讲解---LNMP环境

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux怎么安装及部署lnmp环境

要安装和部署LNMP环境(Linux + Nginx + MySQL + PHP),可以按照以下步骤进行操作:安装Linux操作系统:根据需求选择适合的Linux发行版,如Ubuntu、CentOS等,并进行安装。安装Nginx:使用包管理
2023-10-27

Python实现一键安装部署LNMP环境

最近一直在学Python,东西比较多,时间持续的也比较长,为了能够学以致用,想到了原来写过的shell一键安装部署LNMP脚本,既然shell能写,Python也一定能写,就用学到的知识写了下面这个版本,这可能并不是最优版本,等学到更多东西
2023-01-31

VirtualBox软件下载安装及Linux环境安装部署图文教程详解

一、VirtualBox软件下载及安装 首先进入VirtualBox官方网站进行软件下载, https://www.virtualbox.org/,目前VirtualBox最新的版本为6.1,详细如下图:点击“Downloads”按钮,即跳
2022-06-04

pytorch环境配置及安装图文详解(包括anaconda的安装)

这篇文章主要介绍了pytorch环境配置及安装图文详解(包括anaconda的安装),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-14

window系统nodejs安装opencv环境配置图文详解

这篇文章主要介绍了window系统nodejs安装opencv环境配置,结合图文形式详细分析了window环境下nodejs安装opencv的具体步骤、注意事项
2023-05-15

Win7下搭建python开发环境图文教程(安装Python、pip、解释器)

安装Python 1.下载适合系统版本的Python先到网址(http://www.python.org/getit/)下载适合自己windows的python版本,32位win7下载 Python 3.3.2 Windows x86 MS
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录