Zabbix是一个开源的网络监控和管理系统,其架构设计用于提供企业级的监控解决方案。以下是Zabbix的主要组件:
1.Zabbix Server:这是Zabbix系统的核心组件,负责接收Agent程序报告的系统可用性、系统完整性和统计数据。Zabbix Server是所有配置信息、统计信息和操作数据的核心存储器,并执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。
2.Zabbix Database Storage:Zabbix使用数据库来存储所有的配置数据、历史数据和其它相关信息。这样可以保证数据的持久性和快速查询。
3.Zabbix Agent:安装在需要监控的主机上的代理程序,用于收集系统性能和可用性数据,并发送到Zabbix Server。Agent支持多种类型的监控,包括网络服务、系统资源使用情况等。
4.WEB UI:为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。
5.PROXY:Zabbix proxy可以替 Zabbix server 收集性能和可用性数据。Zabbix proxy 是 Zabbix 环境部署的可选部分;然而,它对于单个 Zabbix server 负载的分担是非常有益的。
Linux 安装部署(以centos7为例)
1.基础环境配置
#禁止防火墙服务启动
systemctl disable firewalld
#关闭防火墙服务
systemctl stop firewalld #关闭selinux
setenforce 0
#修改将文件内ELINUX那行更改为ELINUX=disabled”,永久关闭SELINUX
vim /etc/sysconfig/config
#修改yum源更改为阿里云
cd /etc/yum.repos.d/
#备份一下
mv CentOS-Base.repo CentOS-Base.repo.bak
#下载阿里云镜像仓库
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#下载epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#清理缓存
yum clean all
2.安装 Zabbix 服务端和客户端
#安装zabbix的yum源
rpm -Uvh https://repo.zabbix.com/zabbix/4.5/rhel/7/x86_64/zabbix-release-4.5-2.el7.noarch.rpm#安装服务端
yum install zabbix-server-mysql zabbix-agent -y安装 Zabbix frontend
yum install centos-release-scl#启用
vim /etc/yum.repos.d/zabbix.repo
#找到zabbix-deprecated将enabled=0改为1
[zabbix-deprecated]
...
enabled=1
...安装 Zabbix 前端包
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
3.安装数据库(mysql也行有就可以不装)
这里安装的是MariaDB
#安装mariadb数据库
yum -y install mariadb-server mariadb#启动mariadb且开机自启动
systemctl start mariadb
systemctl enable mariadb #为root用户设置123456的密码
mysqladmin -u root password "123456" #连接数据库,输入设置的密码,测试是否成功
mysql -u root -p
4.创建和初始化zabbix数据库配置
#登录mysql
mysql -uroot -p
#然后输入之前设置的密码 123456#创建zabbix数据库
MariaDB[(none)]> create database zabbix character set utf8 collate utf8_bin;#设置用户zabbix,密码为:123456并且允许远程连接数据库,注意高版本MySQL可能命令语法有变下一句
MariaDB[(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';#刷新权限退出
MariaDB[(none)]> flush privileges;
MariaDB[(none)]> quit;#导入Zabbix数据库结构和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
#其中“-uzabbix”是前面创建的用户,“-p zabbix”是创建的数据库
5.配置Zabbix server
#进入zabbix server配置文件并找到DBPassword去掉注释,把之前的数据库密码写上去。
vim /etc/zabbix/zabbix_server.conf
DBPassword=123456 #修改zabbix前端的时区
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
去掉;然后把php_value[date.timezone] = Europe/Riga
改为php_value[date.timezone] = Asia/Shanghai
6.启动zabbix server
#启动 Zabbix 服务并且让Zabbix 随系统自动启动。
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm#如果启动报错,可能是Apache的默认端口80被占用,修改Apache默认80端口后重新启动即可。
vim /etc/httpd/conf/httpd.conf
Listen 8081
ServerName 192.168.206.10:8081
7.访问web界面
浏览器输入http://xxx.xxx.xxx.xxx:9010/zabbix/进入web界面一直下一步,数据库名字和密码要对应
port 0默认为mysql的3306端口
Zabbix初始用户名和密码为:用户名为 Admin 密码为 zabbix
8.zabbix 客户端部署
重要:记住这里也要执行第1中的步操作关闭防火墙和selinux,不然无法和server连接
#配置时间同步
yum install ntpdate -yntpdate -u ntp.aliyun.com#和上面一样下载yum源文件
rpm -Uvh https://repo.zabbix.com/zabbix/4.5/rhel/7/x86_64/zabbix-release-4.5-2.el7.noarch.rpm#安装 agent2
yum install zabbix-agent2 -y#配置文件的了解
/etc/zabbix/zabbix_agent2.conf #默认配置文件
/usr/sbin/zabbix_agent2 #默认二进制配置文件#编辑配置文件
vim /etc/zabbix/zabbix_agent2.conf
#查看一下配置改一下server的ip地址和主机名
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.206.10
ServerActive=192.168.2.6.10
Hostname=zbz-agent01
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock#启动并且开机自启动
systemctl start zabbix-agent2
systemctl enable zabbix-agent2#查看端口是不是监听状态
[root@zbz-agent01 ~]# netstat -tunlp|grep zabbix
tcp6 0 0 :::10050 :::*
9.在server上安装zabbix-get检查成功没有
yum install zabbix-get -yzabbix_get -s 192.168.206.x -k agent.ping