zabbix架构以及组件结构
- zabbix-server:整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。
- Database:所有配置信息和zabbix收集到的数据都存储在数据库中。
- zabbix-proxy:用于分布式系统中,可以代理zabbix-server的功能,减轻server的压力。
- zabbix-agent:客户端软件,装在被监控主机上,用于采集监控数据,并把采集到的的数据发送给proxy或者server。
- web界面:web界面可以让用户随时随地都能够轻松的访问到zabbix,是zabbix-server的一部分,通常跟server运行在同一台物理机上。
监控方式
zabbix有两种监控方式——主动模式和被动模式
- 主动模式
- agent主动向zabbix-server请求与自己相关的监控项配置,主动将监控数据发送给server(有proxy情况下发送给proxy)
- 被动模式
- server向agent请求获取监控数据,agent收到请求,之后获取数据并响应给server
这两个方式的区别在于主动模式能够极大地节约server的资源,不需要server自己去找agent要,一般生产环境里面大多都是设置成主动模式。
zabbix-server部署
介绍完zabbix的一些基础知识后,我们少说多做——搭建一个简单分布式集群并使用zabbix对集群进行监控。
有三台虚拟机,一台为zabbix-server,另外两台为zabbix-agent
server:192.168.244.141
agent1:192.168.244.128
agent2:192.168.244.129
架构图如下:
- 首先下载Zabbix-server所需组件
[root@server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86\_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@server ~]# yum clean all
[root@server ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
- 接着下载数据库,实现数据存储的功能
[root@server ~]# yum install mariadb-server -y
#启动数据库并设置成开机自启动
[root@server ~]# systemctl start mariadb
[root@server ~]# systemctl enable mariadb
- 初始化数据库
[root@server ~]# # mysql -uroot -p
password :#回车即可
#创建一个名为zabbix的库并设置为utf8的字符编码格式
mysql> create database zabbix character set utf8 collate utf8_bin;
#创建用户并授权设置密码
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> flush privileges;
mysql> quit;
all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”xianyu”@”192.168.0.%”,表示xianyu这个用户只能在192.168.0IP段登录
identified by:指定用户的登录密码
- 导入表
[root@server ~]# zcat /usr/share/doc/zabbix-server-mysql\*/create.sql.gz | mysql -uzabbix -p zabbix
导入之后验证一下
- 我们对zabbix-server进行配置数据库密码
配置文件路径:
/etc/zabbix/zabbix_server.conf
[root@server ~]# vim /etc/zabbix/zabbix\_server.conf
DBPassword=password
[root@server ~]# systemctl start zabbix-server.service
[root@server ~]# systemctl enable zabbix-server.service
- 进行前端php配置
[root@server ~]# vim /etc/httpd/conf.d/zabbix.conf
#这里我们修改时区为亚洲上海即可
php_value date.timezone Asia/Shanghai
#启动服务
[root@node1 ~]# systemctl start httpd
[root@node1 ~]# systemctl enable httpd
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/1546bf6981775129ef6d46cbe5de41ae.png)
![img](https://img-blog.csdnimg.cn/img_convert/16bf3c480d4c479ec72236566299fc0d.png)
![img](https://img-blog.csdnimg.cn/img_convert/137c4ab7015c01cbd34b3e1a2d164cf7.png)
![img](https://img-blog.csdnimg.cn/img_convert/cdfc7e4a750abe26d866740e617a80c9.png)
![img](https://img-blog.csdnimg.cn/img_convert/7bb771ec371611ab8c63fb5da9545557.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/0d1ac6b203d7dcafe18c60c6ca292f19.jpeg)
运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
[外链图片转存中...(img-sihYL8R4-1712888064912)]