一、安装虚拟机

1.1 安装一台CentOS 7虚拟机

具体操作方式参考博客1
【注意】:在博客1的第三节第11步时,我们需要配置虚拟机网络主机名我们ip设置静态ip。我的参考过程如下
1)Win+R打开运行输入cmd回车打开终端,输入ipconfig查看当前windows主机IP地址,如下图所示
在这里插入图片描述
2)可以看到本机VMnet8 IP是192.168.134.1
为了能让虚拟机上网,所以我们使用VMNet8(NAT模式)IP
3)所以,我们虚拟机的IPv4地址设置192.168.134.3,如下图所示:
加粗样式

1.2 复制虚拟机得到第二台虚拟机,并命名为CentOS 7_02

  1. 提前创建一个文件夹用于存放复制后的虚拟机
  2. 打开VMpro,点击要复制的虚拟机右键选择管理,再依次选择克隆选择复制当前状态创建完整虚拟机演示如下
    在这里插入图片描述3. 定义虚拟机的名字和存放位置
    在这里插入图片描述

等待克隆完成
4. 克隆后的虚拟设置和原虚拟机完全一样。因为原虚拟机我们之前设置的是静态ip,所以系统不会自动给克隆后的虚拟机分配新的IP地址,而是和原虚拟机一样,也是静态ip我们可以打开虚拟机终端,输入ifconfig(或者ip addr),看到ip也为192.168.134.3:在这里插入图片描述

1.3 修改第二台虚拟机(CentOS 7_02)的主机名和IP地址

出于监控需求我们要对两台虚拟机做区分,一台作为服务机(server),一台作为客户机agent),IP地址也要保持不同。安排如下

虚拟机 主机 主机IP
CentOS 7 server 192.168.134.3
CentOS 7_02 agent 192.168.134.4

【注】:这些名称自定义,不是一定要像我这里命名

  1. 修改CentOS 7_02主机名:
    1)方法1(图形操作
    设置找到共享,可以看到计算机名,直接修改agent即可演示如下
    在这里插入图片描述
    2)方法2(命令行操作
  1. 修改CentOS 7_02 IP:
  1. 虚拟机和windows主机之间互相ping以下,验证是否都可以互相通信
    命令:ping 目的主机的ip地址
    1)windows主机和两台虚拟机ping在这里插入图片描述
    如上图没有问题

2)CentOS 7和windows、CentOS 7_02 ping

在这里插入图片描述如上图:CentOS 7_02和CentOS 7 能互相ping通,但是不能和windows的VM8 IP地址ping通。

3)同理:CentOS 7_02和windows、CentOS 7 ping
CentOS 7_02和CentOS 7 能互相ping通,但是不能和windows的VM8 IP地址ping通。

出现问题】:虚拟机不能和windows的VM8 IP地址ping通,但是可以和VM5 IP地址ping
原因在于】:windows防火墙阻拦了虚拟机和VM8的通信关闭防火墙即可
解决方法】:参考博客3,如下图所示:在win10搜索栏中搜索防火墙关闭防火墙即可
在这里插入图片描述
由于这里虚拟机和windows暂时不需要ping,所以先把windows防火墙打开,后面有需要再按照此方法关闭即可

一些细节可补充参考博客2

1.4 Reference

  1. CentOS:(30条消息) CentOS7(Linux)详细安装教程(图文详解)_centos7安装教程_缄默.ńī給の傷的博客-CSDN博客
    其中手动分区部分选择标准分区而不是LVM
    /boot:设置为300M,/swap:设置为3.5GB

    Kdump开启状态
    在这里插入图片描述
  2. VMware 复制虚拟机、克隆虚拟机_虚拟机克隆_蚩尤后裔的博客-CSDN博客
  3. 主机可以ping通vmnet8,虚拟机不能ping通vmnet8

二、CentOS 7下安装部署zabbix

2.1 Web环境构建

Web环境解释:LAMP和LNMP是常见的Web环境,本例采用LAMP

root用户登录,下面所有的操作都是以root用户的身份进行的

2.1.1 配置防火墙和SELinux服务

(1)按顺序在CentOS 7(server)虚拟机终端键入如下命令并执行

sudo systemctl stop firewalld.service    # 1.关闭Linux防火墙
firewall-cmd --state                     # 2.查看防火墙状态,确认关闭关闭显示notrunning开启显示running
sudo systemctl disable firewalld.service # 3.禁止防火墙自启动
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux     
                                         # 4.通过修改配置文件方式关闭SELinux,可以通过cat /etc/sysconfig/selinux命令查看当前SELinux的状态

2.1.1 更换YUM源:

顺序在CentOS 7(server)虚拟机终端键入如下命令并执行:

yum -y install wget                      # 1.安装wget                     
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  
                                         # 2.通过将CentOS-Base.repo文件复制另存的方式默认repo文件备份
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
                                         # 3.换成阿里
yum clean all                            # 4.清理缓存
yum makecache fast                       # 5.生成新的缓存

2.1.3 使用YUM命令安装MariaDB、PHP以及httpd

yum install -y mariadb mariadb-server php php-mysql httpd
出现以下结果则安装成功:
在这里插入图片描述

2.1.4 测试Apache

1)依次执行以下两条命令:

systemctl start httpd                      # 1.启动HTTP服务(通过Apache访问服务器时,需要启动HTTP服务)
systemctl enable httpd                     # 2.将httpd设置为自启动
systemctl status httpd                     # 查看当前状态,可以不执行此条命令

2) 打开虚拟机中的Firefox浏览器,输入此虚拟机(server)的IP地址(可通过ifconfig 或 ip addr命令查看)并回车,可以得到如下结果,则说明Apache配置成功。
在这里插入图片描述 【注】:可通过命令查看版本rpm -qa|grep httpd 查看路径rpm -ql httpd,如下图示:
在这里插入图片描述

2.1.5 数据库(MariaDB)的配置

1)设置自启动

systemctl start mariadb                   # 1.启动数据库
systemctl enable mariadb                  # 2.设置自启

可以通过systemctl status mariadb命令查看数据库状态
在这里插入图片描述
2)使用如下mysqladmin命令来修改root密码

一般mysqlroot默认密码为空,如果你之前并没有设置过root密码使用mysqladmin命令。

mysqladmin -u root password 'mima'        # 注意这里的密码你自己定义,我这里以“mima”为例 

上面这条命令定义了root用户的默认密码,之后可以用这条命令访问数据库,如下图示:在这里插入图片描述
3)为当前Zabbix服务器创建数据库普通用户

zabbix服务器采集到的数据要保存数据库中,因此需要在MariaDB中创建一个用于保存Zabbix数据数据库,以及在当前系统创建一个普通用户,赋予其操作Zabbix数据库权限

依次执行以下命令:

[root@server ~]# mysql -uroot -pmima        # 1.root用户访问数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;                           
                                            # 2.创建名为zabbix的数据库,并设置数据库zabbix的字符编码格式utf8
MariaDB [(none)]> show databases;           # 3.查看当前数据库中有没有我们刚刚创建的zabbix数据库(注意该命令的database后面有s和分号)
MariaDB [(none)]> create user zabbix@'192.168.134.%' identified by 'mima';                           
                                            # 4.在主机192.168.134.%上创建新用户zabbix,且密码为mima
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'%' identified by 'mima';                           
                                            # 5.赋予密码为”mima“的用户zabbix在任意主机(%)上操作数据库zabbix中任意一张表(.*) 的全部权限(all)。因而,依次出现的2个zabbix分别表示数据库名和用户名
MariaDB [(none)]> flush privileges;         # 6.刷新权限
MariaDB [(none)]> exit                      # 7.退出数据

【注】第三步中创建zabbix用户的另一个方法为:

useradd 用户名
passwd  密码

下图所示:
在这里插入图片描述
4)测试zabbix用户在这里插入图片描述
如上图配置成功!~

至此,LAMP环境搭建以及Zabbix前置配置全部完成,之后方可在Linux系统中安装配置Zabbix。

2.2 Zabbix-Server端配置

2.2.1 zabbix安装

2.2.1.1 通过YUM源获取Zabbix5.0安装包
cd /etc/yum.repos.d/                        # 1.进入etc/yum.repos.d目录,/etc/yum.repos.d/目录下存放默认的配置文件
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
                                            # 2.通过阿里镜像下载zabbix5.0

【注】:yum下载的包会存放在/var/cache/yum/x86_64/7/中,如zabbix:
在这里插入图片描述

2.2.1.2 yum命令安装server端软件包包含zabbix-server、zabbix-agent、zabbix-get

1)如下图示:在yum.repos.d文件夹下面找到zabbix.repo文件
在这里插入图片描述 2)用文本编辑打开,将[zabbix-frontend]下面的enabled值改为1,如下所示:

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1

或者直接vim /etc/yum.repos.d/zabbix.repo进行修改
3) 依次输入以下下载命令即可

yum -y install zabbix-server-mysql zabbix-agent zabbix-get
yum -y install centos-release-scl            # 下载红帽软件集合
yum -y install zabbix-web-mysql-scl

在这里插入图片描述
【注】:可能出现下载失败错误
解决方案】:同样是修改zabbix.repo文件,将第3行的baseurl改为如下命令,具体操作如下图示:

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1

在这里插入图片描述
再执行第3)步的yum下载命令就可以正常安装,如下图示即成功。
在这里插入图片描述在这里插入图片描述

2.2.2 配置数据

使用zabbix之前,需要先将Zabbix和数据库进行连接

2.2.2.1 导入结构

zabbix自定义数据库中表的结构,为了保证MariaDB能够以zabbix定义的形式存储数据,应先在数据库中导入zabbix的表结构

依次执行以下命令:

[root@server khalid]# cd /usr/share/doc/zabbix-server-mysql*/                                          
                                             # 1.先进入zabbix-server-mysql-5.0.34目录中
[root@zabbix-server ~]# zcat create.sql.gz | mysql -uzabbix -pmima zabbix                                       
                                             # 2.将数据导入zabbix库中                     
2.2.2.2 更改配置文件zabbix-server.conf

使用vi编辑器打开该文件,按照如下信息对其中的相应选项进行设置:

[root@server ~]# vi /etc/zabbix/zabbix_server.conf 
100 DBName=zabbix
116 DBUser=zabbix
124 DBPassword= mima

【注】:vi编辑器中的一些操作:
在这里插入图片描述
在这里插入图片描述
修改好之后shift + :,再输入wq即可保存退出

2.2.2.3 更改配置文件zabbix.conf(即更改前端PHP时区

Zabbix Server端的主配置文件为zabbix.conf,该文件在 /etc/httpd/conf.d/ 目录下,同样用vi编辑器打开该文件,修改选项 date.timezone,该选项用于配置Zabbix的时区,zabbix对时间精度要求很高,所以要将时区改为本地时区即Shanghai
【注】如果这个目录下没有该文件,那么在图形界面全局搜索zabbix.conf文件,如下图示:

在这里插入图片描述
可以发现我这里zabbix.conf文件在 /etc/httpd/conf.d/etc/opt/rh/rh-php72/phpfpm.d 下都有,按照以下命令修改:

[root@server ~]# vi /etc/httpd/conf.d/zabbix.conf
                                             # 根据自身情况修改
php_value[date.timezone] = Asia/Shanghai  # 将时区设置为上海
2.2.2.4 启动abbix-server

至此,Zabbix-Server端的配置基本完成使用以下命令启动:

   [root@server ~]# systemctl start zabbix-server                                 
                                                # 1.启动zabbix-server
   [root@server ~]# systemctl enable zabbix-server                                          
                                                # 2.设置自启
2.2.2.5 zabbix访问测试
[root@zabbix-server ~]#  systemctl restart httpd mariadb rh-php72-php-fpm          
[root@zabbix-server ~]#  systemctl restart zabbix-server zabbix-agent 

[root@zabbix-server yum.repos.d]# netstat -anpt  | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      17381/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      17380/zabbix_server 
tcp6       0      0 :::10050                :::*                    LISTEN      17381/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      17380/zabbix_server 

打开火狐浏览器,输入ip/zabbix,回车访问可以得到如下图示:
在这里插入图片描述

2.2.2.6 登录Zabbix监控系统

登陆方式

  • 默认账户:Admin 默认密码:zabbix
  • 创建的账户:zabbix 密码:zabbix
2.2.2.7 可能报错情况

报错1】如果报出这种错误原因可能是密码不对
在这里插入图片描述
解决方法:依次检查数据库用户密码zabbix_server.conf文件中的DBName、DBUse和DBPasswd,以及
zabbix.conf.php文件中的设置是否正确,一般是密码设置的不对。详情参考博客5,如下是我的zabbix.conf.php文件信息,可以对这里检查

// Zabbix GUI configuration file.

$DB['TYPE']				= 'MYSQL';
$DB['SERVER']			= '192.168.134.3';
$DB['PORT']				= '0';
$DB['DATABASE']			= 'zabbix';
$DB['USER']				= 'zabbix';
$DB['PASSWORD']			= 'zabbix';

【报错2】如果报出这种错误提示前端和zabbix数据库不匹配,则是因为当前数据库是5020000版本的,而要求的版本是4040000。
在这里插入图片描述
解决方法:参考博客6进入数据库,以zabbix用户身份使用命令:

mysql -uroot -pmima
use zabbix;
updata dbversion set mandatory=4040000;        #mandatory的值应该根据提示信息确定,我这里是4040000

整个过程如下图所示:
在这里插入图片描述
【报错3】长时间未登录可能出现503 Service Unabvailable
解决方法:参考博客7,查看日志,找到问题,重启服务。
日志存放路径
/var/log/zabbix/zabbix_server.log
/var/log/httpd/
/var/log/mariadb
【报错4】zabbix5.x登录页面报错SQL statement execution has failed “INSERT INTO auditlog (userid,clock,ip,action
解决方法:参考博客8

2.3 zabbix服务器前端优化

这里可以直接参考参考博客1的4.2节。
中文字体乱码部分,补充一下。
如下图,当我们将zabbix设置为中文后,有些部分出现乱码

在这里插入图片描述
【解决方法】:我们可以使用Windows中的字体替换zabbix中的默认字体来解决这个问题。
1)具体地,我们先通过命令find / -name fonts 查找虚拟机中所有的名为fontsde文件夹,如下图:
在这里插入图片描述
可以看到Zabbix的字体存放在usr/share/zabbix/assets/fonts目录。
2)然后,我们找到Windows目录C:WindowsFonts中的微软雅黑字体文件,如下图:
在这里插入图片描述
将其复制到桌面上,会产生三个文件(msyh.ttc、msyhl.ttc、msyhbd.ttc)。
3)接着把msyh.ttc上传到Zabbix服务器中的/usr/share/zabbix/assets/fonts下面,下面详细讲解上传方式
上传方式1:通过U盘连接虚拟机,以U盘为载体将微软字体msyh.ttc拷贝目标虚拟机。
上传方式2:通过xshell、xftp软件以远程控制方式连接虚拟机。

4)最后,再将微软字体msyh.ttc重命名graphfont.ttf即可。在服务器终端中输入以下命令:

cd /usr/share/zabbix/assets/fonts/
mv graphfont.ttf graphfont.ttf.bak     # 备份一下
mv ./msyh.ttc ./graphfont.ttf          # 替换

新页面完成

2.4 部署Zabbix-Agent端

这里直接参考博客1的第4.3节。

2.5 Zabbix Server端添加监控设备

这里直接参考博客1的第5节。

2.6 Reference

  1. 部署Zabbix5.0——Yum方式(附带理论)
  2. (30条消息) Zabbix的详细安装部署_zabbix安装部署_linux_yanbb的博客-CSDN博客
  3. (30条消息) Centos7下zabbix安装与部署,设置中文(保姆级图文)【网络工程】_centos7安装zabbix_发现你走远了的博客-CSDN博客
  4. (30条消息) centos7 安装部署 zabbix5.0 (超详细)_新秀后浪的博客-CSDN博客
  5. 问题解决-zabbix登录页面是显示Database:Error connecting to database: Access denied for user ‘zabbix’…
  6. zabbix 升级版本问题处理
  7. 记一次zabbix服务器重启导致的zabbix web界面503提示不可用
  8. zabbix5.x登录页面报错SQL statement execution has failed “INSERT INTO auditlog (userid,clock,ip,action…

原文地址:https://blog.csdn.net/lvyunkai0518/article/details/131616008

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39486.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注