开发者学堂课程【运维监控系统第二课时:Zabbix 的安装和使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/805/detail/13880
Zabbix 的安装和使用
内容简介
一.Zabbix 的介绍
二.Zabbix 的安装
三.Zabbix 切换中文
一.Zabbix 的介绍
l Zabbix 是一个企业级的、开源的、分布式的监控套件,被用来监控T基础设施的可用性和性能。
l Zabbix 可以监控网络和服务的监控状况,Zabbix 利用灵活的告警机制,允许用户对事件发送基于邮件、短信、微信和钉钉等告警方式,这样可以保证快速的对问题作出相应。
l Zabbix 支持主动和被动两种方式,所有的Zabbix 报告都可以通过配置参数在WEB 前端进行访问。Web 前端将帮助你在任何区域都能够迅速获得你的网络及服务状况。
l Zabbix 架构不仅支持小型组织,还支持大规模的公司的部署。
Zabbix 工作架构
Zabbix 的优点
l 数据采集:可用性和性能检测,自动发现,支持agent、 snmp、 JMX、 telnet等 多种采集方式,支持主动和被动模式数据传输、支持用户自定义插件,自定义间隔收集数据;
l 高可用: server 对设备性能要求低,支持proxy 分布式监控,分布式集中管理,有自动发现功能,可以实现自动化监控;开放式接口,扩展性强插件编写容易;告警管理:支持多条件告警,支持多种告警方式,支持多组模板,模板继承。
l 告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用;图形化展示:允许自定义创建多监控项视图,网络拓扑,自定义面板展示,自定义IT服务可用性;
l 历史数据:历史数据查询可配置,内置housekeeping 数据清理机制;
l 安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。
Zabbix 的生命周期
Zabbix 监控原理
l agent 需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server 将数据存储到数据库中,zabbix web 根据数据在前端进行展现和绘图。这里agentd 收集数据分为主动和被动两种模式:
l 主动: agent 请求server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
l 被动: server 向agent 请求获取监控项的数据,agent 返回数据。
Zabbix 进程用途
Zabbix 基本概念定义
l 主机(host):在Zabbix 系统中,所有可以被监控的网络设备,包括服务器、交换机、路由器、防火墙、存储设备、各类虚拟机等都称为主机。总之,在监控网络中可以被独立配置网络IP地址或主机名且可以被监控的各类物理或逻辑设备都称为主机;
l 模板(template):可以应用到主机上的实体(包括监控项、触发器、数据图、图表、监控分类、低级的自动发现规则)的集合;
l 主机组(hostgroup):主机组是主机的逻辑集合,它可以包括主机或模板。但是,需要注意的是,在同一个主机组里的主机和模板、模板与模板之间不得有任何关联关系。也就是说,一台主机不得使用与它属于同一主机组里的模板;同时,一个模板也不得关联或被关联到处于同一主机组里的其他模板;
l 监控项(item):监控项的概念很好理解,它就是需要监控的对象。例如,系统CPU负载、已使用内存、磁盘使用量等。需要注意的是,在Zabbix 系统中,并不是所有监控项目的监控数据都是直接从主机上采集过来的。对已有监控项目的监控数据进行数学计算,所获得的数据可以作为另一个监控项目的监控数据。例如,内存使用率可以由已使用的内存量除以总的内存容量得出;
l 触发器(trigger):触发器是基于监控数据的逻辑表达式的,它定义了监控项的阈值,用以判断监控项是否出了“问题”。在Zabbix系统中,当某个监控项目的监控数据使某个触发器的表达式为“真”时,则触发触发器。只有触发器被触发,才有可能将出现“问题”的监控项目信息报警出去;
l 事件(event):是指那些需要关注的“变化”。例如,当触发器状态改变,系统自动发现了新主机或监控项,或者有新的被监控设备代理(agent)自动注册到系统时,系统都会产生相应的事件。
l 动作(action):是指对事件所预设的反应方法。动作由“行为”(例如发送报警信息等)和“条件”(例如,动作在何时执行等)所构成。
二.Zabbix 的安装
执行安装,首先安装mysql 数据库:执行dnf update 更新系统仓库,确保安装的是最新软件。更新完成后,使用dnf install mysql-server来安装mysql 数据库,并输入Y来确定相应的安装。安装完成后启动mysql服务器,此处需输入systemctl start mysqld。数据库启动完成后输入mysql secure installation 进行初始化。输入Y表示引入密码插件,并根据自己需要选择密码的难度等级,输入一个密码,并点击键盘上的Y来确定,移除默认的匿名用户,关闭远程root 登录,移除测试数据库并刷新权限表格。刷新完成后,即完成了mysql 的数据创建。
在mysql 中创建数据库以及对应的Zabbix user。执行mysql-uroot-p,并输入刚刚设置的密码。输入create database zabbix character set utf8 collate utf8-bin,创建一个名为zabbix 的数据库;接下来创建一个同名的用户,输入create user zabbix@localhost identified by ‘password’,即可创建一个名为zabbix,密码为password 的用户作为后续管理zabbix的管理用户。同时我们需要将权限授予zabbix用户,输入grant all privileges on zabbix.* to zabbix@localhost,将zabbix数据库的所有权限授予给zabbix 用户。配置完成后,输入flush privileges刷新权限。刷新完成后,输入exit 退出mysql 数据库。此时,就完成了mysql的创建。
安装zabbix。首先需要安装zabbix 的仓库,从zabbix 官网复制命令并进行相应的安装。输入dnf clean all 清空缓存。执行dnf install Zabbix-sever-mysql Zabbix-web-mysql zabbix-apache-conf Zabbix-agent 即可在一台主机上安装所有我们需要的zabbix配置信息。输入Y来确认安装,再次输入Y。安装完成后进行具体的配置,需要进行mysql的初始化,执行zcat命令,从网页粘贴命令并输入zabbix 密码,等待数据的导入。数据导入成功后,修改配置文件,配置文件位于etc 目录下的zabbix 文件,修改zabbix-sever.conf,找到DBPassword,输入密码password,保存并退出.接下来便可以启动zabbix sever,执行systemctl 进行相应的启动,启动完成后可以输入systemctl enable 进行长期的启动。此时可以访问服务器查看zabbix sever 的安装,访问服务器安装的IP地址加/zabbix/可以进入到配置的页面,点击Next Step,页面提示PHP option data.timezone 不存在,需要返回配置文件中去重新修改timezone,timezone 位于etc目录下php-fpm.d,在这里,可以看到zabbix.conf,修改zabbix.conf,找到最下方timezone配置并修改为中国对应的信息Asia/Shanghai,保存退出后重新启动相应服务,可以直接重启所有服务,重庆完成后回到浏览器前端刷新当前页面,可以看到相应信息均为OK。点击Next Step,填写信息输入刚才确认的密码并点击Next Step,配置zabbix sever 的信息,保持默认即可。点击Next Step,再次点击Next Step,点击Finish,此时可以看到zabbix 的基本信息,使用用户名admin 及密码zabbix 来登录。
三.Zabbix 切换中文
点击左下角User Settings,在个人配置中将语言修改为zh-cn并更新即完成中文配置。