Zabbix---部署

  • 一、Zabbix简介
  • 1、Zabbix
  • 2、作用
  • 3、组成
  • 4、特点
  • 5、主要功能:
  • 二、Zabbix具体部署步骤
  • 1、安装nginx1.14(yum安装)
  • ①、创建nginx的yum仓库
  • ②、安装、开机自启动
  • 2、安装mysql5.7
  • ①、安装mariadb
  • ②、初始化
  • ③、登录验证
  • 3、安装PHP
  • ①、安装PHP源
  • ②、yum仓库的生成
  • ③、安装软件包
  • ④、查看PHP版本
  • 4、修改php-fpm配置文件
  • 5、修改nginx配置文件支持PHP并修改php配置文件
  • 6、开启服务
  • 7、测试网页
  • 8、测试连接数据库
  • 9、建立数据库及用户并且授权
  • 10、测试连接zabbix数据库
  • 11、zabbix server部署
  • ①、下载zabbix源并安装
  • ②、导入数据库脚本并验证
  • ③、修改zabbix配置文件
  • ④、授权
  • ⑤、开启服务
  • ⑥、安装(打开一个web页面)
  • 12、zabbix-agent端
  • ①、部署zabbix-agent
  • ②、修改配置文件
  • ③、开启服务并检查端口
  • 13、启动监控


一、Zabbix简介

zabbix 离线部署 zabbix部署教程_php

1、Zabbix

zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

2、作用

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

3、组成

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

4、特点

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能

5、主要功能:

  • CPU负荷
  • 内存使用
  • 磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视

二、Zabbix具体部署步骤

常规操作

systemctl stop firewalld 
systemctl disable firewalld
setenforce 0

1、安装nginx1.14(yum安装)

①、创建nginx的yum仓库

vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

zabbix 离线部署 zabbix部署教程_zabbix_02

②、安装、开机自启动

yum install -y nginx
systemctl start nginx
systemctl enable nginx
netstat -natp | grep 80

zabbix 离线部署 zabbix部署教程_nginx_03

验证:(做一步验证一步)

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_04

2、安装mysql5.7

①、安装mariadb

yum -y install mariadb-server mariadb
systemctl start mariadb.service
systemctl enable mariadb.service
netstat -natp | grep 3306

②、初始化

mysql_secure_installation
Enter current password for root (enter for none):			#回车
Set root password? [Y/n]									#y
New password:												#abc123
Re-enter new password:										#abc123
Remove anonymous users?										#n
Disallow root login remotely?								#n
Remove test database and access to it?						#n
Reload privilege tables now?								#y

zabbix 离线部署 zabbix部署教程_mysql_05

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_06

③、登录验证

mysql -u root -p123123

数据库正常登录,就没问题

zabbix 离线部署 zabbix部署教程_mysql_07

3、安装PHP

①、安装PHP源

[root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
获取https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
警告:/var/tmp/rpm-tmp.uNc4OO: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:epel-release-7-12                ################################# [100%]

zabbix 离线部署 zabbix部署教程_mysql_08

②、yum仓库的生成

[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
获取https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
警告:/var/tmp/rpm-tmp.O9dfAV: 头V4 RSA/SHA1 Signature, 密钥 ID 62e74ca5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:webtatic-release-7-3             ################################# [100%]

③、安装软件包

[root@localhost ~]# yum install -y php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql

④、查看PHP版本

[root@localhost ~]# php -v
PHP 7.2.34 (cli) (built: Oct  1 2020 13:37:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

zabbix 离线部署 zabbix部署教程_mysql_09

4、修改php-fpm配置文件

vim /etc/php-fpm.d/www.conf
user = nginx	#第8行将apache改为nginx
group = nginx	#第10行将apache改为nginx

zabbix 离线部署 zabbix部署教程_mysql_10

5、修改nginx配置文件支持PHP并修改php配置文件

vim /etc/nginx/conf.d/default.conf
    index  index.php index.html index.htm;		#第10行添加index.php
配置php模块,去掉注释
location ~ \.php$ {
	root           /usr/share/nginx/html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
	include        fastcgi_params;
}

zabbix 离线部署 zabbix部署教程_php_11

zabbix 离线部署 zabbix部署教程_mysql_12

vim /etc/php.ini
expose_php  = Off 		 			#359行:隐藏php版本
short_open_tag = On    		 		 #202行:支持php短标签

#为PHP兼容zabbix进行修改,优化配置要求
max_execution_time = 300				 #368行:执行时间
max_input_time = 300					 #378行:接收数据等待时向
memory_limit = 128M 					 #389行:每个脚本占用内存
post_max_size = 16M 					 #656行:POST数据大小
upload_max_filesize = 2M 				 #799行:下载文件大小
always_populate_raw_post_data = -1   	 #800行:可以用$HTTP_RAW_POST DATA
date.timezone = Asia/Shanghai 	         #877行:时区

6、开启服务

systemctl start php-fpm
systemctl enable php-fpm
netstat -natp | grep 9000

systemctl restart nginx

7、测试网页

vim /usr/share/nginx/html/test.php
<?php
     phpinfo();
?>

zabbix 离线部署 zabbix部署教程_zabbix_13


PHP页面能展示,没问题

zabbix 离线部署 zabbix部署教程_php_14

8、测试连接数据库

vim /usr/share/nginx/html/test.php
<?php
  $link=mysqli_connect('127.0.0.1','root' ,'abc123' );
  if ($link) echo "连接成功 !";
  else echo "连接失败 !";
?>

zabbix 离线部署 zabbix部署教程_mysql_15

打开浏览器访问:http://192.168.221.10/info.php

zabbix 离线部署 zabbix部署教程_nginx_16

9、建立数据库及用户并且授权

mysql -u root -p123123
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
flush privileges;

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_17

10、测试连接zabbix数据库

vim /usr/share/nginx/html/test.php
<?php
  $link=mysqli_connect('127.0.0.1','zabbix' ,'admin123' );
  if ($link) echo "zabbix数据库连接成功 !";
  else echo "zabbix数据库连接失败 !";
?>

刷新浏览器

zabbix 离线部署 zabbix部署教程_nginx_18

这里显示连接失败了,原因是因为被空用户占用资源了
解决方法:删除空用户

mysql -u root -p123123
select user,host from mysql.user;

zabbix 离线部署 zabbix部署教程_php_19

drop user ''@localhost;
drop user ''@server;

zabbix 离线部署 zabbix部署教程_php_20

再刷新一下浏览器

zabbix 离线部署 zabbix部署教程_mysql_21

11、zabbix server部署

①、下载zabbix源并安装

rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

②、导入数据库脚本并验证

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -padmin123 zabbix

mysql -u zabbix -padmin123
use zabbix;
show tables;

zabbix 离线部署 zabbix部署教程_zabbix_22

③、修改zabbix配置文件

vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=admin123     #注释去掉,zabbix的密码
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

[root@localhost ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf 
#检查修改的配置文件是否正确

zabbix 离线部署 zabbix部署教程_zabbix_23

④、授权

cp -r /usr/share/zabbix/ /usr/share/nginx/html/
chown -R zabbix:zabbix /etc/zabbix/
chown -R zabbix:zabbix /usr/share/nginx/
chown -R zabbix:zabbix /usr/lib/zabbix/
chmod -R 755 /etc/zabbix/web/
chmod -R 777 /var/lib/php/session/

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_24

⑤、开启服务

systemctl start zabbix-server
systemctl enable zabbix-server
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
netstat -ntap | grep 10051
systemctl restart php-fpm.service
systemctl restart nginx

⑥、安装(打开一个web页面)

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_25

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_26

zabbix 离线部署 zabbix部署教程_php_27

zabbix 离线部署 zabbix部署教程_zabbix_28

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_29

zabbix 离线部署 zabbix部署教程_mysql_30

[root@localhost web]# chmod -R +x /etc/zabbix/   #赋权
[root@localhost web]# ls
maintenance.inc.php  zabbix.conf.php

zabbix 离线部署 zabbix部署教程_php_31


文件下载完成后,重新登陆:

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_32

zabbix 离线部署 zabbix部署教程_zabbix_33

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_34

12、zabbix-agent端

常规操作,关闭防火墙和核心防护

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

①、部署zabbix-agent

rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install -y zabbix-agent

②、修改配置文件

vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.221.10					# 指向监控服务器
ServerActive=192.168.221.10					# 指问监控服务器
Hostname=test1               			    #指定名称
Include=/etc/zabbix/zabbix_agentd.d/*.conf

③、开启服务并检查端口

systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -natp | grep zabbix				#查看10050端口

13、启动监控

zabbix 离线部署 zabbix部署教程_mysql_35

zabbix 离线部署 zabbix部署教程_zabbix 离线部署_36

zabbix 离线部署 zabbix部署教程_nginx_37