1、Zabbix是什么:
- zabbix是一个个基于web界而的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.
- zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让理员快速定位/解决存在的各种问题.
- zabbix由2部分构成。zabbix server 与可选组件zabbix agent 通过C/S模式采集数据,通过B/S模式在web端展示和配置.
- zabbix server可以通过SNMP(简单网络管理协议), zabbix agent(监控端),ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能
- 他可以运行在Linux等平台上.
- zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集.
2、Zabbix监控原理:
zabbix agent安装在被监控的主机上,zabbixagent负责定期收集客户端本地各项数据,并发送至zabbix server端,
zabbixserver 收到数据后,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,
该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、
短信)、发送命令(shell命令、reboot、restart、install等)
3、Zabbix的缺点:
- 需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
- 项目批量修改不方便。
- 社区虽然成熟,但是中文资料相对较少,服务支持有限。
- 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大。
- 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;且自定义的项目报警需要自己设置,过程比较繁琐。
- 缺少数据汇 总功能,如无法查看-组服务器平均值, 需进行二次开发;
4、Zabbix的监控方式:
a)主动模式
主动检测: 相对于agent而言; agent(active),agent向server请求与自己相关监控项配置, 主动地将server配置的监控项相关的数据发送给server;
主动监控能极大节约监控server的资源。
b)被动模式
被动检测:相对于agent而言 ; agent, server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server;
5、Zabbix程序组件:
- Zabbix_ server:服务端守护进程
- Zabbix_ agentd:agent守 护进程
- zabbix_ proxy: 代理服务器
- zabbix database: 存储系统,mysql, pgsq|
- Zabbix_ web:web GUI图形化界面
- Zabbix_ get:命令行工具,测试向agent发起数据采集请求
- Zabbix_ sender:命令行工具,测试向server发 送数据
- Zabbix_ java_ gateway: java网关
6、Zabbix部署:
注意事项:服务端之前不能已安装 mysql
---------- 部署 zabbix 服务端 ---------- zabbix-server 内存至少 2G,推荐 4G; systemctl disable --now firewalld setenforce 0 hostnamectl set-hostname zbx-server //获取 zabbix 的下载源 rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm //更换 zabbix.repo 为阿里源 cd /etc/yum.repos.d sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo yum clean all && yum makecache yum install -y zabbix-server-mysql zabbix-agent //安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。 yum install -y centos-release-scl //修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下 vim zabbix.repo ...... [zabbix-frontend] ...... enabled=1 #开启安装源 ...... yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl //安装 zabbix 所需的数据库 yum install -y mariadb-server mariadb systemctl enable --now mariadb mysql_secure_installation #初始化数据库,并设置密码,如 abc123 //添加数据库用户,以及 zabbix 所需的数据库信息 mysql -u root -pabc123 CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix'; flush privileges; //导入数据库信息 rpm -ql zabbix-server-mysql #查询 sql 文件的位置 zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix //修改 zabbix server 配置文件,修改数据库的密码 vim /etc/zabbix/zabbix_server.conf ...... DBPassword=zabbix #124行,指定 zabbix 数据库的密码 //修改 zabbix 的 php 配置文件 vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf ...... php_value[date.timezone] = Asia/Shanghai #24行,取消注释,修改时区 //启动 zabbix 相关服务 systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm 浏览器访问:http://192.168.80.20/zabbix 点击下一步,设置数据库的密码 zabbix 安装完成后,默认的登录账号和密码为:Admin/zabbix 设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。 //解决 zabbix-server Web页面中文乱码问题 yum install -y wqy-microhei-fonts \cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf