Zabbix监控原理及架构

前言:

什么是Zabbix?

Zabbix是一个用于网络,操作系统和应用程序的开源监控软件,它旨在监视和跟踪各种网络服务,

服务器和其他硬件的状态。

 

为什么需要对各类系统运行进行监控?

当系统构建时的正常流程中,通常是不允许未被监控的系统或应用上线的,因为

来被监控的系统存在不可预知性,故障未知等不确定因素,且无法及时被发现并

排除的,这时整个架构或系统来说都是非常大的风险因患,所以我们在原则上是

要对整个的架构或系统进行监控,随时监控各个方面的指标是否正常,以提高系

统的稳定性。

 

Zabbix是如何实现系统系统监控的

一个完整的监控系统所需的指标:

1、采样:周期性的获取某个被检测指标的相关数据

2、存储:将采样的数据存储在指定的存储系统中,Zabbix默认是MySQL

对于数据的监控可分为两大类:

历史数据:可理解为过去某一时间点的数据

趋势数据:可理解为过去某一段时间的数据

3、展示:采集完数据后,为了使数据能更直观的展现在用户面前,可将采集的数据

进行二次处理,做成图像,Zabbix就是使用PHP程序将采集的数据通过Web Gui直观

的展示给用户。

报警:当监控的指标出现异常时需要金控能自动的发出警报信息,甚至警报后能自动完成

修复。

 

Zabbix支持的数据采集协议:

1、SNMP(Simple Network Managerment Protocol),这是一个非常古老的且通用的

监控协议,几乎任何设备都支持用此方式进行系统的监控。

2、Agent:在监控端安装专门的监控程序,将数据采集后通过Agent发送至Server.

3、IPMI:智能平台管理接口,可在常用的服务器上看到类似的以太网口的接口。

4、JMX: Java Managerment Exlensions

 

Zabbix的常用组件:

1、Zabbix Web Gui: 提供Web界面

2、Zabbix Databases:提供数据库存储功能并用于存储配置信息。以及采集到的数据。

3、Zabbix Server : 接收来自Agent采集数据的核心组件

4、Zabbix Agent :部署在被监控的主机上,用于采集本地的数据。

5、Zabbix Proxy: 当监控节点较多时,用于减轻Server压力组件,也可用于分布式监控系统

由Proxy接收数据后统一发送给Server.

 

Zabbix架构图:
Zabbix监控原理及架构_第1张图片

 

Zabbix逻辑图:

Zabbix监控原理及架构_第2张图片

 

Zabbix逻辑组件:

主机组(host groups)    主机(hosts)    应用(application)    监控项(items)   触发器(triggers)

事件(event)        动作(actions) :   条件(conditions) 和操作(operations)    媒介(media):发送

通知的通道,短信,邮件等。             通知(notiflcation)    远程命令(remoto command)     报警升级(

escalation)      摸版(template)    图形(graph)    屏幕(screens)      幻灯(slide   show)

 

Zabbix实现监控的两种模式:

主动模式:由Agent主动建立TCP链接并向Server端发送请求。

被动模式:由Server建立TCP链接并向Agent发送请求。

 

正文:

Zabbix的安装与部署

实验环境:

server5:172.25.68.5(使用的是rhel7.3版本)作为Zabbix server

server6:172.25.68.6 (使用的是rhel7.3版本)作为Zabbix agent

 

一、在server5上进行zabbix服务端软件的安装

1、进行mariadb软件的安装

[root@server5 test]# ls
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-4.0.5-1.el7.x86_64.rpm
zabbix-get-4.0.5-1.el7.x86_64.rpm
zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-sender-4.0.5-1.el7.x86_64.rpm
zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-web-4.0.5-1.el7.noarch.rpm
zabbix-web-mysql-4.0.5-1.el7.noarch.rpm

Zabbix监控原理及架构_第3张图片

Zabbix监控原理及架构_第4张图片

 

2、进行数据库的初始化

mysql_secure_installation             ###进行数据库的初始化

Zabbix监控原理及架构_第5张图片

Zabbix监控原理及架构_第6张图片

Zabbix监控原理及架构_第7张图片

 

3、进行用户的授权

mysql  -p            ###进行数据库的登陆

Zabbix监控原理及架构_第8张图片

 

4、进行zabbix进行软件的安装

Zabbix监控原理及架构_第9张图片Zabbix监控原理及架构_第10张图片

 

5、进行数据库的导入

zcat /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz | mysql -u zabbix -p zabbix   ###进行数据库的导入

 

6、在zabbix配置文件进行密码的开启

vim /etc/zabbix/zabbix_server.conf       ###进行配置文件的编辑

Zabbix监控原理及架构_第11张图片

 

7、在配置文件中进行时区的修改

vim /etc/httpd/conf.d/zabbix.conf       ###进行配置文件的编辑

Zabbix监控原理及架构_第12张图片

 

8、进行服务的启动

systemctl start zabbix-server   ###进行zabbix-server服务的启动
systemctl start zabbix-agent    ###进行数据采集服务的开启
systemctl start httpd           ###进行httpd服务的开启

 

进行浏览器的访问:

Zabbix监控原理及架构_第13张图片

Zabbix监控原理及架构_第14张图片

 

进行数据库的连接

Zabbix监控原理及架构_第15张图片

Zabbix监控原理及架构_第16张图片

 

Zabbix监控原理及架构_第17张图片

 

进行安装

Zabbix监控原理及架构_第18张图片

 

进行网页检测语言和密码的修改

Zabbix监控原理及架构_第19张图片

Zabbix监控原理及架构_第20张图片

Zabbix监控原理及架构_第21张图片

 

二、在srever2上进行软件的安装和配置文件的修改

监听主机:

1、进行软件的安装

yum isntall zabbix-agent-4.0.5-1 el7.x86_64.rpm  -y  ###进行软件的安装

Zabbix监控原理及架构_第22张图片

Zabbix监控原理及架构_第23张图片

 

2、进行配置文件的修改

 vim /etc/zabbix/zabbix_agentd.conf   ###进行配置文件的编辑

Zabbix监控原理及架构_第24张图片

Zabbix监控原理及架构_第25张图片

Zabbix监控原理及架构_第26张图片

 

3、进行服务的启动和端口的查看

systemctl start zabbix-agent        ###进行服务的启动
netstat -antlp |  grep zabbix_agentd  ###进行端口的查看

 

三、在浏览器上进行主机的添加

方法一:

使用手动进行设备主机的添加(这里我们开启了server2的agent)

进行server2主机的添加

Zabbix监控原理及架构_第27张图片

 

进行模版的添加

Zabbix监控原理及架构_第28张图片

 

进行网页的刷新:

Zabbix监控原理及架构_第29张图片

 

方法二:

使用自动发现规则进行设备主机的添加(这里我们开启了server3的agent)

 

进行自动发现规则的编辑

Zabbix监控原理及架构_第30张图片

Zabbix监控原理及架构_第31张图片

 

进行动作的添加:

Zabbix监控原理及架构_第32张图片

Zabbix监控原理及架构_第33张图片

 

进行自动发现状态的查看:

Zabbix监控原理及架构_第34张图片

 

进行网页的刷新:

Zabbix监控原理及架构_第35张图片

 

方法三:

使用自动注册进行设备主机的添加(我们将自动发现规则进行停用)

我们将server3主机进行删除,使用server3作为自动注册的实验的主机

 

进行自动发现规则的停用

Zabbix监控原理及架构_第36张图片

 

进行server3主机设备的删除

Zabbix监控原理及架构_第37张图片

 

进行自动注册规则地添加:

Zabbix监控原理及架构_第38张图片

 

进行动作地添加

Zabbix监控原理及架构_第39张图片

 

在server3上进行agent服务地重启和日志地查看

systemctl restart zabbix-agent    ###进行服务地重启
cat /var/log/zabbix/zabbix_agentd.log  ###进行日志地查看

Zabbix监控原理及架构_第40张图片

 

进行网页的刷新:

Zabbix监控原理及架构_第41张图片

 

区别:

自动发现和手动添加是主动将发现的客户端,然后将客户端登记在自己的

管理群组中,缺点是zabbix server压力比较大,客户端越多,时间消耗越多.

自动注册: agent主动到zabbix server上进行报道,登记,缺点是agent可能

找不到server(配置出错).

 

 

四 使用远程HTTP请求进行API的调用.为此,需要向api_jsonrpc.php位于前端目录

中的文件发送HTTP POST请求.

 

进行脚本的编辑

vim zabbix-api    ###进行脚本的编辑
chmod +x zabbix-api   ###进行脚本的执行权限的添加

Zabbix监控原理及架构_第42张图片

 

进行脚本的执行获取身份令牌

Zabbix监控原理及架构_第43张图片

 

进行脚本的编辑实现集群的查看

vim zabbix-api    ###进行脚本的编辑

Zabbix监控原理及架构_第44张图片

 

进行脚本的执行实先主机设备的查看

./zabbix-api        ###进行脚本的执行

Zabbix监控原理及架构_第45张图片

 

Zabbix监控原理及架构_第46张图片

 

 

进行脚本的编辑实现主机设备的删除

vim zabbix-api    ###进行脚本的编辑

Zabbix监控原理及架构_第47张图片

 

进行脚本的执行并在浏览器上进行zabbix主机状态的查看

Zabbix监控原理及架构_第48张图片

Zabbix监控原理及架构_第49张图片

 

 

进行主机的添加

进行脚本文件的编辑

Zabbix监控原理及架构_第50张图片

Zabbix监控原理及架构_第51张图片

 

进行脚本的执行和在浏览器上进行主机状态的查看

Zabbix监控原理及架构_第52张图片

Zabbix监控原理及架构_第53张图片

 

五 使用zabbix实现nginx的监控

里我们使用server2来进行nginx的安装

 

在server2上进行nginx的安装

这里我们使用nginx-1.16.0版本

 

进行软件包的解压

 tar zxf nginx-1.16.0.tar.gz    ###进行软件包的解压

Zabbix监控原理及架构_第54张图片

 

进行相关软件依赖性的安装

yum install -y gcc pcre-devel zlib-devel   ###进行软件依赖性的安装

Zabbix监控原理及架构_第55张图片

Zabbix监控原理及架构_第56张图片

 

进行软件的编译

./configure --prefix=/usr/local/nginx --with-http_stub_status_module
                                                           ###进行软件的编译

Zabbix监控原理及架构_第57张图片

Zabbix监控原理及架构_第58张图片

 

进行软件的进一步编译和安装

make && make isntall      ###进行软件的进一步编译和进一步安装

Zabbix监控原理及架构_第59张图片

Zabbix监控原理及架构_第60张图片

 

进行nginx配置文件的编辑

vim /var/local/nginx/conf/nginx.conf    ###进行nginx配置文件的编辑

Zabbix监控原理及架构_第61张图片

 

进行服务配置文件的检查和服务的启动

/usr/local/nginx/sbin/nginx  -t    ###进行配置文件的检查
/usr/local/nginx/sbin/nginx        ###进行服务的启动

 

进行zabbix监控项脚本的编辑

cp userparameter_mysql.conf userparameter_nginx.conf   ###进行模版的复制 
vim userparameter_nginx.conf                           ###进行模版的编辑
systemctl  restart zabbix-agent                        ###进行服务的重新启动

 

在server1上(安装有zabbix-server的主机)进行软件的安装

 yum install zabbix-get-4.0.5-1.el7.x86_64.rpm -y    ###进行软件的安装

Zabbix监控原理及架构_第62张图片

Zabbix监控原理及架构_第63张图片

 

在server1上进行监控项的获取

zabbix_get -s 172.25.68.2 -p 10050 -k "nginx.accept"   ###进行server2上监控项的获取

 

在浏览器上进行server2上nginx项目的添加

进行监控项的创建(键值要与server2中agent配置文件中的一致)

Zabbix监控原理及架构_第64张图片

 

在server2上进行模版的添加

Zabbix监控原理及架构_第65张图片

 

进行图形的创建(添加新建的监控项到图形中)

Zabbix监控原理及架构_第66张图片

 

进行网页的刷新,进行监控nginx的查看

Zabbix监控原理及架构_第67张图片

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Zabbix监控原理及架构)