1 zabbix简介
想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构。
zabbix由以下几个组件部分构成:
1、Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
2、Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;
3、Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;
4、Proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
5、Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;
1.1 相关术语
主机(host):要监控的网络设备,可由IP或DNS名称指定;
主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;
监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;
触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";
事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;
动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;
报警媒介类型(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;
模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;
前端(frontend):Zabbix的web接口;
1.2 监控流程
一个监控系统运行的大概的流程是这样的:
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。
这里agentd收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy;
被动:server向agent请求获取监控项的数据,agent返回数据。
2 Zabbix部署
操作系统 |
主机ip |
角色 |
版本信息 |
Centos7.7 |
10.88.8.122 |
Zabbix-server |
zabbix4.4.0 |
Centos7.7 |
10.88.8.120 |
Zabbbix-agent |
zabbix4.4.0 |
2.1 Zabbix-server安装
1.下载zabbix包
#关闭防火墙、selinux,配置/etc/hosts,配置本地源 #配置阿里源 #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #yum clean all #yum makecache #安装包下载地址: https://repo.zabbix.com/zabbix/4.4/ #安装Zabbix server,Web前端,agent(zabbix包已提前下载到本地) #yum -y install zabbix-web zabbix-web-mysql zabbix-agent zabbix-get zabbix-server-mysql httpd mariadb-server
2.创建初始数据库
#systemctl start mariadb #systemctl enable mariadb #systemctl status mariadb
设置root密码为123 #mysqladmin -uroot password
#mysql -uroot -p123 mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> quit; #导入初始架构和数据 #zcat /usr/share/doc/zabbix-server-mysql-4.4.0/create.sql.gz | mysql -uroot -pintest zabbix
3.为Zabbix server配置数据库
#vim /etc/zabbix/zabbix_server.conf DBPassword=zabbix #grep -Ev '^#|^$' /etc/zabbix/zabbix_server.conf
4.为Zabbix前端配置PHP
#vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai #grep -Ev '^#|^$' /etc/httpd/conf.d/zabbix.conf
5.启动服务,并设置开机自启:
# systemctl restart zabbix-server zabbix-agent httpd #systemctl enable zabbix-server #systemctl enable zabbix-agent #systemctl enable httpd # netstat -tanp | egrep '3306|80|10051'
#浏览器输入zabbix-server服务器ip
账号密码:Admin/zabbix
#选择中文
-----------------------------------------------------------------------------------------------------------------------------
参考链接:
https://www.zabbix.com/cn/download?zabbix=4.4&os_distribution=centos&os_version=7&db=mysql&ws=apache