Skip to content

zabbix搭建

一、背景

nginx表面是一种反向代理和负载均衡的中间件,但是对外来说都是无法察觉它的状态的,需要通过一定的外部手段去监控其状态,禁用连接的ip等等

Zabbix是市面上比较流行的一款监控软件,它能从以下来源采集数据,包括但不限于:

  • 网络设备

  • 云服务、容器、虚拟机

  • 操作系统级监控

  • 日志文件

  • 数据库

  • 应用程序

  • 服务

  • 物联网传感器

  • 网页监控

  • HTTP/HTTPS端点监控

  • 支持各种行业标准协议

  • 从外部API端点采集数据

zabbix分为几个部分,

  • zabbix-server:zabbix服务端,用来连接各个客户端

  • zabbix-agent:zabbix客户端,即需要查看的状态的服务器上需要安装

  • zabbix-web:zabbix前端界面

二、安装zabbix

安装zabbix 5.0 LTS。这里有官方的安装教程,根据以下官网可以直接去选择指定的zabbix版本和安装服务器的版本。这里用的数据库是mysql,并且mysql已经安装在别的服务器或者本地上

https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

由于官方源比较慢,这里使用阿里云的源下载,步骤请参考官网的步骤,每个版本不一

2.1 Zabbix 存储库

#Zabbix 存储库
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all

2.2 安装Zabbix服务

这里client和server是一个服务器上面,如果是分开的,zabbix-agent需要安装到指定服务器上

#安装 Zabbix 服务器和代理
yum install zabbix-server-mysql zabbix-agent
#安装 Zabbix 前端
yum install centos-release-scl

修改仓库的一个配置

vi /etc/yum.repos.d/zabbix.repo

将[zabbix-frontend]下的enabled改为1

[zabbix-frontend]
...
enabled=1
...

继续执行安装步骤

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

2.3 创建初始数据库

mysql -uroot -p
#输入密码
#创建数据库
create database zabbix character set utf8 collate utf8_bin;
#localhost这里要对应服务器的ip,如果是本机填localhost
create user zabbix@localhost identified by 'password';
#如果是8.0的mysql需要执行下面的语句,不是则不需要
ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#授权
grant all privileges on zabbix.* to zabbix@localhost;
#刷新权限
flush privileges;
quit;

2.4 配置数据库

导入数据文件,如果是本机要指定本机的ip地址,如:

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -h 192.168.1.22 -P 3306 -p  zabbix

配置数据库:vi /etc/zabbix/zabbix_server.conf

修改以下几个配置

ListenPort=10051  # zabbix的端口10051
DBHost=192.168.7.100  # 数据库对外提供的IP地址
DBName=zabbix  # 默认即可
DBUser=zabbix  # 默认即可
DBPassword=123456 # 数据库密码
DBPort=3306   # 数据库服务端口

Zabbix前端配置PHP:vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

修改时区,要把前面的注释符号去掉

php_value[date.timezone] = Asia/Shanghai

注:如果是5.0版本,下面的配置不需要手动修改,直接跳到2.5,在前端页面即可配置。如果是4.x版本则需要

修改前端web的配置文件,主要检查数据库的配置是否正确

#备份文件
cp   /usr/share/zabbix/conf/zabbix.conf.php.example /usr/share/zabbix/conf/zabbix.conf.php
vim  /usr/share/zabbix/conf/zabbix.conf.php

检查下面的配置是否正确

$DB['TYPE']                             = 'MYSQL';
$DB['SERVER']                   = 'localhost';
$DB['PORT']                             = '3306';
$DB['DATABASE']                 = 'zabbix';
$DB['USER']                             = 'zabbix';
$DB['PASSWORD']                 = 'password';

$ZBX_SERVER                             = 'localhost';
$ZBX_SERVER_PORT                = '10051';
$ZBX_SERVER_NAME                = '';

2.5 配置服务

#启动服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
#设置开机自启
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

访问地址:http://ip/zabbix。默认用户名**Admin**和密码**zabbix**

三、配置nginx

四、卸载zabbix

删除上面的依赖:yum remove zabbix-server-mysql zabbix-agent centos-release-scl zabbix-web-mysql-scl zabbix-apache-conf-scl

查找安装的包:rpm -qa | grep -i zabbix

循环删除所遍历的包,如:yum remove 包名

彻底删除相关文件

查找:whereis zabbix

删除查找出来的目录:rm -rf 目录

删除名称为zabbix的文件:find / -name zabbix -exec rm -rf {} ;