小白到运维工程师自学之路 第五十五集 (zabbix的安装)

一、概述

Zabbix是一种开源的网络监控和管理解决方案。它可以提供实时监控、警报和可视化,用于跟踪和管理网络设备、服务器、应用程序和服务的性能和可用性。

Zabbix能够收集各种不同类型的监控数据,包括网络流量、CPU使用率、内存使用率、数据库性能等。它还可以根据预定义的规则和触发条件发送警报,以帮助管理员快速发现和解决问题。Zabbix提供了灵活的报表和图形功能,可以帮助用户可视化监控数据,并进行趋势分析和故障排除。

Zabbix使用客户端-服务器架构,其中Zabbix服务器负责数据收集、处理和存储,而Zabbix代理程序负责在监控目标上收集和发送数据。此外,Zabbix还提供了用于配置和管理监控的Web界面,使用户可以方便地进行设置和管理。

总的来说,Zabbix是一个功能强大、灵活且可扩展的网络监控解决方案,被广泛用于企业、组织和服务提供商等各种环境中。它帮助管理员实时监控和管理他们的基础设施,以提高性能和可靠性,并及时解决问题。

二、工作原理

1、数据收集:Zabbix使用代理程序或直接与被监控设备进行通信,从各种来源收集监控数据。这些数据可以是服务器的性能指标、网络流量、日志文件、数据库查询结果等。

2、数据处理:收集到的监控数据被发送到Zabbix服务器进行处理。服务器将数据存储在数据库中,并执行一系列的预定义操作,例如数据解析、计算指标的平均值或最大值,以及应用用户定义的触发器和阈值。

3、触发器与警报:Zabbix服务器通过监控数据与预定义的触发器进行比较,以确定是否触发警报。触发器可以根据特定的条件,如数值的上下限、趋势变化等进行配置。当触发器被激活时,Zabbix服务器会发送警报通知给管理员或其他相关人员。

4、可视化和报告:Zabbix提供了一个用户界面,管理员可以通过该界面查看监控数据的可视化图表和报告。用户可以自定义仪表盘、图形和报告,以便更好地观察和分析监控数据,并进行故障排除和性能优化。

5、自动化和扩展:Zabbix还提供了一系列的自动化功能和API,使用户可以进行自动化操作和集成其他系统。用户可以通过API与Zabbix进行集成,并根据自己的需求扩展Zabbix的功能。

三、监控原理

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第1张图片

1、组件说明

1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;

2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;

3)web interface:zabbix的GUI接口;

4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;

5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;

2、监控流程

  agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:

  主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

  被动:server向agent请求获取监控项的数据,agent返回数据。

3、客户端守护进程

此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。

4、zabbix_get

  zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

5、zabbix_sender

  zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

6、zabbix_server

  zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server

备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

7、zabbix_proxy

  zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

8、zabbix_java_gateway

  zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

四、准备工作

1、一台zabbix主服务器

2、可以上网

3、关闭防火墙

4、需要配置java环境

5、一台zabbix从服务器

五、安装部署

hostname server.zabbix.com 修改主机名
hostname agent.zabbix.com  从的主机名
bash	

在/etc/hosts 中添加两个主机名与ip

wget http://mirrors.aliyun.com/repo/Centos-7.repo   下载阿里源

安装依赖包(因为zabbix是基于lamp架构实现的所以这里也有lamp依赖包)
yum install -y httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel ntpdate curl-devel
ntpdate time.windows.com     //同步时间 清华大学时间服务器

启动lamp架构中的a和m,并设置为开机自启
systemctl start mariadb
systemctl enable mariadb
systemctl start httpd
systemctl enable httpd
修改mariadb的密码
mysqladmin -u root password 123456
 javac -version   查看本地的java版本

如果有不会配置的可以看我之前的第四十三集

 

tar xf zabbix-3.4.11.tar.gz -C /usr/src/    解压zabbix压缩包到/usr/src/下
cd /usr/src/zabbix-3.4.11/                  进入解压目录
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java && make -j2 && make install                                进行编译安装
授权数据库
mysql -u root -p123456
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
grant all on zabbix.* to zabbix@'192.168.77.111' identified by 'zabbix';
flush privileges;

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第2张图片

cd /usr/src/zabbix-3.4.11/    //导入zabbix需要的mysql数据
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
登录mysql查看
mysql -u root -p123456
use zabbix;
show tables;

一共140个

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第3张图片

useradd -M -s /sbin/nologin zabbix    创建程序用户zabbix
cd /usr/local/zabbix                  进入到zabbix安装目录
mkdir logs                            创建日志目录
chown -R zabbix:zabbix ../zabbix/     修改目录下的所有文件属主和属组为zabbix

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第4张图片

vim /usr/local/zabbix/etc/zabbix_server.conf              #修改主配置文件
LogFile=/usr/local/zabbix/logs/zabbix_server.log    	  #指定zabbix日志位置
PidFile=/tmp/zabbix_server.pid						      #指定zabbix pid文件位置
DBHost=192.168.200.111							          #指定数据库主机
DBName=zabbix		   							          #指定数据库名为zabbix
DBUser=zabbix                                             #指定用户为zabbix
DBPassword=zabbix								          #指定密码为zabbix
DBSocket=/var/lib/mysql/mysql.sock					      #指定mariadb数据库的sock文件
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf #指定启动路径

使用末行模式
g/^#/d     删除#开头的行
g/^$/d     删除空行

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第5张图片

vim /usr/local/zabbix/etc/zabbix_agentd.conf               修改从配置文件
PidFile=/tmp/zabbix_agentd.pid
Server=127.0.0.1,192.168.77.111
ServerActive=192.168.77.111
Hostname=server.zabbix.com                                 #指定zabbixserver主机名
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第6张图片

ln -s /usr/local/zabbix/sbin/* /usr/local/bin     创建硬连接
zabbix_server                                     启动服务
zabbix_agentd                                     启动从服务

 配置php

mv /usr/src/zabbix-3.4.11/frontends/php/ /var/www/html/zabbix    将php移动到zabbix的首页目录
chown -R apache:apache /var/www/html/zabbix                      更改属主和属组为zabbix
vim /etc/php.ini                                                 修改php配置文件
878行 date.timezone = Asia/Shanghai	   ##时区
384行 max_execution_time = 300		   ##单位秒,通过POST、GET以及PUT方式接收数据时间进行限制
394行 max_input_time = 300			   ##php程序上传文件解析数据时的时间限制
672行 post_max_size = 32M		       ##POST 方式请求数据所允许的最大大小
405行 memory_limit = 128M			   ##设置php程序的内存限制
854行 extension=bcmath.so	           ##加载zabbix程序需要加载的扩展模块bcmath.so 

systemctl start httpd                  启动apache
netstat -anptl | egrep ':10050|:10051|:80'

 访问http://服务器IP/zabbix

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第7张图片

 小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第8张图片

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第9张图片 小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第10张图片

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第11张图片 

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第12张图片

 小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第13张图片

此时我们的界面是英文的

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第14张图片

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第15张图片

 小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第16张图片

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第17张图片

 完成后按下F5刷新就会变成中文了

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第18张图片

zabbix监控主机

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第19张图片

 

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第20张图片

小白到运维工程师自学之路 第五十五集 (zabbix的安装)_第21张图片

 

以上就是zabbix监控的安装,后续还会更新监控windows系统、监控服务等。

如有错误欢迎各位大佬批评指正,我们共同进步

你可能感兴趣的:(运维,zabbix,服务器)