非常成熟的监控软件.
运维人员,监控系统服务器的状态,网站流量,进程服务的运行状态。保证整个集群的工作正常。
zabbix是什么?
zabbix是基于web页面提供的一种可视化的监控服务软件。以分布式的方式涉及系统监控、网络监控、硬件监控等等开源的原件。
zabbix的架构
1、 c/s模式:客户端和服务端组成 zabbix server服务端 zabbix agent客户端
2、 通过B/S:B浏览器 S服务端 通过浏览器可以直接访问服务数据。
zabbix serber的作用
zabbix server通过一系列的组件SNMP、zabbix agent、ping通过端口远程的监控客户端的数据,把数据收集到服务端进行展示,以及提供用户分析的界面(web)
zabbix agent:就是被监控的目标主机,把需要收集的数据以及自定义的监控项数据,发送给zabbix server
zabbix的组件程序
1、 zabbix server通过一系列的组件SNMP、zabbix agent、ping通过端口远程的监控客户端的数据,把数据收集到服务端进行展示,以及提供用户分析的界面(web)
2、 zabbix agent:就是被监控的目标主机,把需要收集的数据以及自定义的监控项数据,发送给zabbix server
3、 zabbix_proxy:代理服务器,是安装在监控的目标系统上的软件组件,可以代替zabbix_server收集数据,然后由代理软件传送给服务端zabbix_server
4、 zabbix_get:可选组件。提供命令行的工具(zabbix的命令行)
5、 zabbix_sender:可选组件。提供命令行工具(可以将自定义数据发送到zabbix服务器)。对于不直接由zabbix代理监控的数据或者从脚本来的数据,比较方便的。
zabbix的工作方式
被监控对象:
1、 Agent:服务器代理的方式收集数据
2、SNMP协议:可以通过ping命令和被监控对象进行通信
3、 JMX:管理Java的扩展程序和拓展应用
4、 IPMI:监控系统的硬件信息
5、 VMware:监控虚拟机的运行情况
6、 APP:监控应用程序的运行情况例如:nginx、httpd、mysql
zabbix-server主服务器:
所有的监控收集数据都在主服务器。主服务器来监控和告警
zabbix-database数据库:
主服务器收到数据之后将信息存储到数据库
zabbix-web页面:
将database中的数据传送给web页面形成可视化的操作页面。
部署zabbix
实验准备
两台服务器
20.0.0.10 server 4核8G
20.0.0.20 agent 2核4G开始实验
关闭防火墙和安全机制
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#' zabbix.repo
yum clean all && yum makecache
#清理源数据zabbix-server-mysql:指定安装zabbix之后,使用mysql作为数据库的后端
zabbix-agent:把数据库加入后端中
yum -y install zabbix-server-mysql zabbix-agent
yum -y install centos-release-scl
#scl:SCL基于rehhat centos系统软件安装使用的一种机制,可以是一个系统运行一个进程的不同版本,可以是一个系统运行一个进程的不同版本,而且不会发生冲突,解决zabbix与其他web的兼容性
vim zabbix.repo
enable=1
yum install -y zabbix-web-mysgl-scl zabbix-apache-conf-scl
zabbix-web-mysal-sc
#可以安装zabbix的依赖环境PHP,以及MYSQL依赖环境,可以安装多个版本。
zabbix-apache-conf-scl
#安装所有的apache组件(web组件),可以安装多个版本
#apache提供了所有的可兼容性的进程,确保zabix的前端页面能够协调工作。
yum -y install mariadb-server mariadb
#安装数据库
systemctl restart mariadb.service
systemctl enable mariadb.servicemysql_secure_installation
#初始化数据库
y
123456
123456
y
y
y
mysql -u root -p123456
#登录数据库
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#给zabbix创建一个库
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.39/create.sql.gz | mysql -uroot -p123456 zabbix
#导入 Zabbix 监控系统所需的 MySQL 数据库架构
vim /etc/zabbix/zabbix_server.conf
DBPassword=zabbixvim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpmhttp://20.0.0.10/zabbix
#进入web界面
实验完成
server服务端端口:10050
agent客户端端口:10051