【新手教程】Centos7下部署zabbix


前言

本文记录centos7环境下安装zabbix3.4.10的过程,供大家参考,欢迎讨论和指正。


一、zabbix部署操作

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1.关闭SELinux和防火墙

1.1关SELinux

SELinux:安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
SELinux的三种状态:
Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系
Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正确会发出警告
Disabled:关闭模式。SELinux并没有实际运行

先查看SELinux状态
方法1:getenforce
方法2:sudo sestatus -v |grep status

关闭SELinux
方法1:setenforce 0 ,设置SELinux 成为permissive模式(拓展:setenforce 1是设置SELinux 成为enforcing模式)
方法2:vim /etc/selinux/config ,修改配置文件,将SELINUX=enforcing改为SELINUX=disabled,wq保存退出,然后重启机器,可用getenforce查看到此时状态为disabled

1.2关防火墙

查看防火墙状态
firewall-cmd --state 默认状态显示running
临时关闭防火墙
systemctl stop firewalld.service 关闭后再次查看状态 可以看到not running

2.安装LAMP平台

因为zabbix server会提供一个WEB平台来供使用者对zabbix-server进行设置和查看监控,该web是基于PHP开发,所以我们首先需要安装一个LAMP平台来运行这个PHP网站

2.1安装httpd服务并启动

yum -y install httpd安装Apache HTTP Server,(小知识:apache和httpd是一个,到apache2后就叫httpd了)
systemctl start httpd启动httpd服务
systemctl status httpd查看httpd服务此时的状态
在这里插入图片描述

2.2安装mysql社区版

yum -y install mariadb mariadb-server安装mysql社区版(免费)
systemctl enable mariadb设置开机自启动
systemctl start mariadb运行服务
systemctl status httpd查看状态
输入mysql查看Mariadb是否安装成功
在这里插入图片描述

2.3安装php环境

yum install -y php php-mysql安装php环境

3.终于到zabbix的安装了

3.1 手动wget下载到本地

mkdir zabbix-pkg新建文件夹zabbix-pkg
使用wget命令直接把所需包安装到本地(注意:wget命令默认下载到当前目录)
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-3.4.10-1.el7.noarch.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-get-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-mysql-3.4.10-1.el7.noarch.rpm
wget 五个链接(中间记得用空格隔开) -P zabbix-pkg/下载到zabbix-pkg目录中

3.2 yum一下

yum -y localinstall zabbix-pkg/*本地安装zabbix-pkg下的所有文档
可能出现依赖问题,如下图所示:
在这里插入图片描述
缺少libiksemel.so文件,上网搜索解决方法:
yum install -y http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpm该链接是国外源,下载速度极其慢,博主尝试了三次才成功安装,网上还有朋友是先用手机下载下来,再传给电脑,电脑只需localinstall,供大家参考。
安装好后再次 yum -y localinstall zabbix-pkg/*

4.设置MariaDB

4.1 登陆mysql并且创建一个数据库

systemctl restart mariadb重启MariaDB服务(用start应该也是一样的效果)
mysql -u root -p登陆mysql,默认空密码,回车即可

此时已进入数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;创建一个名为zabbix的数据库

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '898989';建立一个zabbix用户来管理这个数据库,zabbix用户的密码为898989

MariaDB [(none)]> quit;退出数据库

4.2 将web的数据库文件导入数据库zabbix中

zabbix web运行需要数据库的支持,所以我们需要将web需要的数据库导入到MariaDB中

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p 898989 zabbix将web的数据库文件导入数据库zabbix中
zcat命令用于显示压缩包中文件的内容
linux提供管道符号“|”,作用是命令1的输出内容作为命令2的输入内容。

mysql -u zabbix -p898989 zabbix -e "show tables"查看是否有数据
在这里插入图片描述
数据导入成功

sed -i '/^# DBPassword=$/c\DBPassword=898989' /etc/zabbix/zabbix_server.conf修改zabbix serverz主配文件zabbix_server.conf,告诉其数据库用户zabbix的密码

sed -i -e '/# php_value/s/#//;s/Europe\/Riga/Asia\/Shanghai/' /etc/httpd/conf.d/zabbix.conf 修改WEB时区为亚洲/上海

systemctl start httpd zabbix-server zabbix-agent启动服务

systemctl enable httpd zabbix-server zabbix-agent mariadb并设置为开机启动

systemctl is-active httpd zabbix-server zabbix-agent mariadb确保服务为启动状态
在这里插入图片描述

5.设置web页面

在浏览器中输入http://localhost/zabbix
一路next step(第二步右边栏需要全为绿色OK)
如果是PHP选项对应的不是OK的话,可以编辑/etc/php.ini文件,这是PHP的主配置文件,可以通过查找里面对应的选项设置里面的对应的值,就按照图片中Required的值设定就好。
输入我们刚刚创建的数据库zabbix的库名,用户名和密码。
如果你的mysql不是和zabbix-server在同一台机器的话,你还需要设置mysql允许远程连接(默认情况下,mysql只允许本地连接)。需要修改Database host 对应的值为mysql服务器的IP地址。
在这里插入图片描述

最后登陆,默认登陆账号为Admin,密码为zabbix。

到此部署完毕!

可尝试监测自己的电脑
在这里插入图片描述

二、部署过程中遇到的问题

1. [ Errno14 ] 和 [ Errno 256 ]

[ Errno 14 ] transfer closed with 37456 bytes remaining to read
[ Errno 256 ] No more mirrors to try
如下图所示:
在这里插入图片描述

1.1 问题描述

参考资料[2]进行zabbix安装时,执行命令yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender --nogpgcheck,出现了该问题。

1.2 尝试解决(未成功的方案)

尝试1:
通过配置yum源(阿里云,网易和epel都加了)解决,仍然显示没有可用包

尝试2:
wget下载官网的链接,官网的链接是国外源,下载速度异常缓慢,放弃,ctrl c强行中断下载,并删除未下载完全的rpm包
在这里插入图片描述

1.3 最终处理

参考资料[1] wget阿里云的rpm包,然后本地安装yum localinstall

需要注意:
wget会默认下载到当前路径下,最好提前创建(mkdir)一个文件夹,wget所有包到该文件夹中,参考命令:wget 文件名 -P zabbix-pkg(文件夹名)

2. 依赖问题libiksemel.so

2.1 最终处理

yum install -y http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpmyum了3次才成功,前两次由于网速太慢直接显示失败。

2.2 存疑

下载速度太慢了,一度到了0B/s,如果要从手机端先下载咋下啊

3. 浏览器遇到404 NOT FOUND

3.1 问题描述

在浏览器中输入url:http://localhost/zabbix去设置web,遇到问题,显示404 NOT FOUND和The requested URL /zabbix was not found on this server.

3.2 问题解决

查看此时是否启动了httpd服务
可能是80端口被占用
若被占用,netstat -ntlp|grep 80 用该命令查看此时在用80端口的服务,kill -9 该服务进程号kill该进程,并再次启动httpd服务

三、参考文档

[1]《部署zabbix企业监控平台》——路飞学城
[2]《Centos7下zabbix安装与部署》——Tse先生 https://www.cnblogs.com/Sungeek/p/9069999.html
[3]《CentOS7系统配置国内yum源和epel源》——KingDragon_Baron https://blog.csdn.net/fy_long/article/details/86573445


总结

补充一下吧
zabbix-server:监控者
zabbix-agent:被监控者
zabbix-proxy:监控代理者
zabbix_get:zabbix的数据接收工具
zabbix_sender:zabbix的数据发送工具

猜你喜欢

转载自blog.csdn.net/weixin_47128888/article/details/108597119