一、安装虚拟机
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
等待克隆完成。
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 |
- 先右键桌面打开终端,按如下操作步骤输入命令:
hostname # 1.查看当前主机名/查看方法1 su # 2.切换为root用户,获得root权限 hostnamectl set-hostname agent # 3.修改主机名命令1,立即生效 cat /etc/hostname # 4.再次查看当前主机名是否修改成功/查看方法2 bash # 5.刷新一下bash
- 演示如下:
同理,如果CentOS 7主机名没有修改,也可以按照此方法将其改为server。
3)方法3(命令行操作/进阶)sudo vi /etc/hostname # 1.输入管理员密码之后,会进入vi文件模式。 #输盘输入字母i即可进入编辑模式,修改好之后,按 ESE 键,再同时按下 Shift 和 : 这两个键,在页面底部输入wq,再回车即可保存退出 sudo reboot # 2.重启生效 hostname # 3.开机,验证是否已经修改成功
- 修改CentOS 7_02 IP:
-
方法1:
先输入以下命令:sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
得到如下图示:将ip改为192.168.134.4(最后一位不唯一,可以自己定),输入wq回车退出。
再输入重启网络命令:sudo systemctl restart network :重启网卡服务
-
sudo systemctl restart network :重启网卡服务
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防火墙再打开,后面有需要再按照此方法关闭即可。
1.4 Reference
二、CentOS 7下安装部署zabbix
2.1 Web环境构建
以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密码:
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/php–fpm.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软件以远程控制的方式连接虚拟机。
- 首先,先下载好xshell、xftp软件
- 然后:打开xshell,点击新建会话,
- 在新建会话属性框中点击连接,输入主机名称和主机IP,如下图:
- 在新建会话属性框中点击用户身份验证,输入用户登录名和密码,可以是root用户,也可以是服务器中已创建好的其他用户,如下图:
- 成功连接后,可以点击工具栏中的Xftp图标,即可自动打开Xftp软件,并建立连接(同样的,也可以直接在Xftp中建立与服务器的连接而不用打开Xshell软件),如下图:
- 上传msyh.ttc文件,如下图示:
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
- 部署Zabbix5.0——Yum方式(附带理论)
- (30条消息) Zabbix的详细安装部署_zabbix安装部署_linux_yanbb的博客-CSDN博客
- (30条消息) Centos7下zabbix安装与部署,设置中文(保姆级图文)【网络工程】_centos7安装zabbix_发现你走远了的博客-CSDN博客
- (30条消息) centos7 安装部署 zabbix5.0 (超详细)_新秀后浪的博客-CSDN博客
- 问题解决-zabbix登录页面是显示Database:Error connecting to database: Access denied for user ‘zabbix’…
- zabbix 升级版本问题处理
- 记一次zabbix服务器重启导致的zabbix web界面503提示不可用
- 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进行投诉反馈,一经查实,立即删除!