另一篇zabbix部署区分开了服务端和客户端:https://blog.youkuaiyun.com/rujianxuezha/article/details/79842998
1. 环境搭建LAMP
前提Centos系统安装完成: 确认一下:
1
2
|
cat
/
etc
/
redhat
-
release
# 查看CentOS版本
cat
/
proc
/
version
#查看存放与内核相关的文件
|
1.1 搭建之前的操作
1.1.1 升级系统组件到最新的版本
1
|
yum
-
y update
|
1.1.2 关闭selinux
1
|
vi
/
etc
/
selinux
/
config
#将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效
|
1
|
setenforce
0
#临时关闭命令
|
1
|
getenforce
#检测selinux是否关闭,Disabled 为关闭
|
1.1.3 关闭防火墙
1
|
firewall
-
cmd
-
-
state
#查看默认防火墙状态,关闭后显示not running,开启后显示running
|
1
2
|
systemctl stop firewalld.service
#临时关闭firewall
systemctl disable firewalld.service
#禁止firewall开机启动
|
1.2 搭建LAMP环境
1.2.1 安装所需所有软体仓库
Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。
1
|
yum install
-
y httpd mariadb
-
server mariadb php php
-
mysql php
-
gd libjpeg
*
php
-
ldap php
-
odbc php
-
pear php
-
xml php
-
xmlrpc php
-
mhash
|
1
|
rpm
-
qa httpd php mariadb
#安装完成后检查应用版本
|
1.2.2 编辑httpd
1
|
vi
/
etc
/
httpd
/
conf
/
httpd.conf
|
1
2
|
ServerName www.zabbixyk.com
#修改为主机名
DirectoryIndex index.html index.php
# 添加首页支持格式
|
1.2.3 编辑配置php,配置中国时区
1
|
vi
/
etc
/
php.ini
|
1
|
date.timezone
=
PRC
# 配置时区
|
1.2.4 启动httpd,mysqld
1
2
3
4
|
systemctl start httpd
#启动并加入开机自启动httpd
systemctl enable httpd
systemctl start mariadb
#启动并加入开机自启动mysqld
systemctl enable mariadb
|
1
2
|
ss
-
anplt | grep httpd
#查看httpd启动情况,80端口监控表示httpd已启动
ss
-
naplt | grep mysqld
#查看mysqld启动情况,3306端口监控表示mysqld已启动
|
1.2.5 创建一个测试页,测试LAMP是否搭建成功
1
|
vi
/
var
/
www
/
html
/
index.php
#创建一个测试页,并编辑
|
1
2
3
|
<?php
phpinfo()
?>
|
本地测试:
1
|
curl http:
/
/
127.0
.
0.1
-
I
#本地测试
|
1.2.6 初始化mysql数据库,并配置root用户密码
1
|
mysqladmin
-
u root password ykadmin123
#设置数据库root密码
|
1
2
3
4
5
|
mysql
-
u root
-
p
#root用户登陆数据库
CREATE DATABASE zabbix character
set
utf8 collate utf8_bin;
#创建zabbix数据库(中文编码格式)
GRANT
all
ON zabbix.
*
TO
'zabbix'
@
'%'
IDENTIFIED BY
'ykadmin123'
;
#授予zabbix用户zabbix数据库的所有权限,密码ykadmin123
flush privileges;
#刷新权限
quit
#退出数据库
|
1
|
vi
/
var
/
www
/
html
/
index.php
#修改测试页内容,测试zabbix用户是否能够登陆数据库,这个环节很重要
|
1
2
3
4
5
6
|
<?php
$link
=
mysql_connect(
'172.18.20.224'
,
'zabbix'
,
'ykadmin123'
);
if
($link) echo
"<h1>Success!!</h1>"
;
#显示Success表示连接数据库成功
else
echo
"Fail!!"
;
mysql_close();
?>
|
出现上图则PHP连通数据库完成。
为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:
1
2
3
|
mysql
-
u root
-
p
#使用root账户登录数据库;
select user,host
from
mysql.user;
#有空用户名称占用导致本地无法登录远程可登录
drop user ''@localhost;
#删除空用户
|
2. 安装zabbix
2.1 安装依赖包 + 组件
1
|
yum
-
y install net
-
snmp net
-
snmp
-
devel curl curl
-
devel libxml2 libxml2
-
devel libevent
-
devel.x86_64 javacc.noarch javacc
-
javadoc.noarch javacc
-
maven
-
plugin.noarch javacc
*
|
1
2
3
4
5
6
7
|
yum install php
-
bcmath php
-
mbstring
-
y
#安装php支持zabbix组件
rpm
-
ivh http:
/
/
repo.zabbix.com
/
zabbix
/
4.0
/
rhel
/
7
/
x86_64
/
zabbix
-
release
-
4.0
-
1.el7
.noarch.rpm
#会自动生成yum源文件,保证系统可以上网
yum install zabbix
-
server
-
mysql zabbix
-
web
-
mysql
-
y
#安装zabbix组件
zcat
/
usr
/
share
/
doc
/
zabbix
-
server
-
mysql
-
4.0
.
0
/
create.sql.gz | mysql
-
uzabbix
-
p
-
h
172.18
.
20.224
zabbix
#导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 172.18.20.224),密码是用户zabbix登陆密码ykadmin123
|
1
2
|
vi
/
etc
/
zabbix
/
zabbix_server.conf
#配置数据库用户及密码
grep
-
n
'^'
[a
-
Z]
/
etc
/
zabbix
/
zabbix_server.conf
#确认数据库用户及密码
|
1
|
vi
/
etc
/
httpd
/
conf.d
/
zabbix.conf
/
/
修改时区
|
1
|
将
# php_value date.timezone Europe/Riga 变更成php_value date.timezone Asia/Shanghai
|
1
2
|
systemctl enable zabbix
-
server
# #启动并加入开机自启动zabbix-server
systemctl start zabbix
-
server
|
1
|
netstat
-
anpt | grep zabbix
/
/
监听在
10051
端口上,如果没监听成功,可重启zabbix
-
server服务试试
|
建议重启服务器,再继续。
2.2 web界面安装zabbix
如果以上步骤无误,现在可以使用web打开
1
|
http:
/
/
172.18
.
20.224
/
zabbix
/
/
注意这里IE浏览器打不开,本次测试使用chrome浏览器
|
....