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 all2.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-scl2.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 {} ;
