zabbix监控体系概述
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 等信息的搜集。
zabbix的主要特点
- 装置与装备简略,学习成本低
- 支撑多语言(包含中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监督以及WEB会集管理功用
- 能够无agent监督
- 用户安全认证和柔软的授权方式
- 经过WEB界面设置或查看监督结果
- email等告诉功用
zabbix的主要功用
- CPU负荷
- 内存运用
- 磁盘运用
- 网络情况
- 端口监督
- 日志监督
zabbix 监控原理:
zabbix agent装置在被监控的主机上,zabbix agent负责定期搜集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 能够看到数据在前端展现图画。当 zabbix 监控某个详细的项目, 该项目会设置一个触发器阈值,当被监控的指标超越该触发器设定的阈值,会进行一些必要的动作,动作包含:发送信息(邮件、微信、短信)、发送指令(shell 指令、reboot、restart、install 等)。
zabbix常见的五个体系
-
zabbix 监控布置在体系中,包含常见的五个程序: zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。
-
zabbix server:zabbix 服务端看护进程,其间 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据终究都提交给 zabbix server;
-
zabbix agent:客户端看护进程,负责搜集客户端数据,例如:搜集 CPU 负载、内存、硬盘运用情况等;
-
zabbix proxy:zabbix 分布式代理看护进程,一般大于 500 台主机,需要进行分布式监控架构布置;
-
zabbix get:zabbix 数据接收东西,单独运用的指令,一般在 server 或许 proxy 端履行获取长途客户端信息的指令;
-
zabbix sender:zabbix 数据发送东西,用户发送数据给 server 或 proxy 端,一般用户耗时比较长的检查。
-
zabbix端口号
- zabbix服务端zabbix_server 默许运用10051 端口。
- 客户端zabbix_agent2 默许运用10050 端口。
装置zabbix
zabbix-server 192.168.50.105 zabbix-server-mysql、zabbix-agent
zabbix-agent 192.168.50.110 zabbix-agent2
布置 zabbix 服务端(端口号10051)
zabbix-server内存至少2G,引荐4G。
zabbix 服务端一起装置zabbix-server-mysql和zabbix-agent,因为服务端地点主机自己也要被监控。
封闭防火墙
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 能够使得在同一台机器上运用多个版别的软件,而又不会影响整个体系的依赖环境。软件包会装置在 /etc/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.50.105/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
布置zabbix 客户端(端口号10050)
zabbix 5.0版别采用golang 语言开发的新版别客户端agent2 。
zabbix 服务端 zabbix_server 默许运用 10051 端口,客户端 zabbix_agent2 默许运用 10050 端口。
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
//服务端和客户端都装备时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com
//客户端装备时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
//设置 zabbix 的下载源,装置 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2
//修正 agent2 装备文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.50.105
#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.50.105
#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01
#131行,指定当前 zabbix 客户端的主机名
//发动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
netstat -natp | grep zabbix
tcp6 0 0 :::10050 :::* LISTEN 43654/zabbix_agent2
//在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get #装置 zabbix 主动获取数据的指令
zabbix_get -s '192.168.50.110' -p 10050 -k 'agent.ping'
1
zabbix_get -s '192.168.50.110' -p 10050 -k 'system.hostname'
zbx-agent01