zabbix

Zabbix性能低下的表现:(等待队列越多,server性能越差)

Zabbix队列中有太多被延迟的Item,通过菜单项查看:Administration->Queue查看

Zabbix绘图中经常出现断图,一些Item没有数据

前端页面无响应,或者相应很慢

解决方案:

不要使用默认的模板,应该定制自己的模板

数据库调优

架构优化,如使用分布式,各服务器功能独立(三个架构)

Items,trigger调优,更换更好的硬件

Zabbix中的item默认工作是被动模式,可以通过设置主动模式来提高server的性能。

 

zabbix 由以下几个组件部分构成:

agent端:主机通过安装agent方式采集数据。(Admin  zabbix)

server端:通过收集agent发送的数据,写入数据库(MySQL,ORACLE等),再通过php+nginx在web前端展示.

Proxy端:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端;(通常大于500台主机需要使用)

Database Storage:专用于存储所有配置信息,以及由 zabbix 收集的数据;

Web interface:zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上;

 

Zabbix监控原理:

Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。

Zabbix监控客户端分为主动监控与被动监控

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

zabbix agent首先向ServerActive配置的IP请求获取active items,获取并提交active items数据至server/proxy。在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器的10051端口。

Zabbix被动模式:Server向agent请求获取监控项的数据,agent返回数据。

 

zabbix的三种监控架构

1、server-client架构

zabbix的最简单的架构,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。

2、server-proxy-client架构

其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。适用于跨机房、跨网络的中型架构的监控。

3、master-node-client架构

每个node同时也是一个server端,下面可以接proxy,client 。node有自已的配置文件和数据库,主要任务是将配置信息和监控数据向master同步,适用于跨网络、跨机房、设备较多的大型环境 。

 

Zabbix监控方式

通过Zabbix被监控设备代理(agent)采集数据

在被监控设置安装并运行zabbix被监控设备代理进程,通过该进程收集监控项目的数据,并与Zabbix服务器或 Proxy通信,主动发送或被动接受服务器或服务器代理查询的数据采集方式。

通过SNMP协议采集数据:

SNMP协议其目的是简化大型网络中设备的管理和数据的获取。即通过SNMP的查询和陷入进行监控数据的采集。适合对网络设备,如防火墙、交换机、路由器等的监控数据的采集。

服务器一旦部署SNMPAgent,任何能实现SNMP协议的软件都可以对其进行监测。

简单易懂,部署的开销成本也小。缺点是,其通信协议走的UDP协议,传输为不可靠传输,所以存在丢数据的现象。

通过脚本采集数据

由Zabbix服务器端进程根据配置信息,按计划地执行指定的脚本程序或命令,然后俘获脚本程序或命令的输出内容为对应监控项目的值。

IPMI:智能平台管理接口(Intelligent Platform Management Interface,IPMI)即主要应用于设备的物理特性,包括:温度、电压、电扇工作状态,电源供应以及机箱入侵等。IPMI最大的优势在于无论OS的开机还是关机状态下,只要接通电源就可以实现对服务器的监控。

 

 

五个程序的功能如下:

zabbix server:zabbix服务端守护进程,其中zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy的数据最终都提交给zabbix server;

zabbix agentd:客户端守护进程,负责收集客户端数据,例如:收集cpu负载、内存、硬盘使用情况等;

zabbix proxy:zabbix分布式代理守护进程,通过大于500台主机,需要进行分布式监控架构部署;

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

zabbix sender:zabbix数据发送工具,用户发送数据给server或proxy端,通常用户耗时比较长的检查。

 

Zabbix监控系统包括很多监控概念,如下:

主机(host):被监控的网络设备,可以写IP或者DNS;

主机组(host group):主机组用于管理主机,可以批量设置权限;

监控项(item):具体监控项,一个特定监控指标的相关的数据;这些数据来自于被监控对象;itemzabbix进行数据收集的核心,相对某个监控对象,itemkey+参数组成

触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";            

事件(event):例如达到某个触发器,称之为一个事件;

动作(action):对于特定事件事先定义的处理方法,默认可以发送信息及发送命令;

报警升级(escalation):发送警报或执行远程命令的自定义方案,如隔5分钟发送一次警报,共发送5次等。

媒介(media):发送通知的方式,可以支持Mail、SMS、Scripts等;

通知(notification):通过设置的媒介向用户发送的有关某事件的信息;

远程命令: 预定义的命令,可在被监控主机处于某特定条件下时自动执行; 

模板(template):  可以快速监控被监控端,模块包含:item、trigger、graph、screen、application;

web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;

web前端(frontend):       Zabbix的web接口;

图形(graph)                    监控图像;

 

安装zabbix

1. 下载安装zabbix的YUM源

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

2. 安装Zabbix

[root@lnmp ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent zabbix-web

3. 安装之后进入MySQL数据库,创建Zabbix数据库

[root@lnmp ~]# mysql -p

导入zabbix数据库

[root@lnmp ~]# cd   /usr/share/doc/zabbix-server-mysql-3.4.15/

[root@lnmp zabbix-server-mysql-3.4.15]# zcat create.sql.gz | mysql -u zabbix -p zabbix

修改php配置文件的时区(在zabbix配置界面时需要)

vim /usr/local/lnmp/php/etc/php.ini

编辑zabbix_srever配置文件,修改数据库名、密码、套接字

vim /etc/zabbix/zabbix_server.conf

DBUser=zabbix

DBPassword=westos

DBSocket=/usr/local/lnmp/mysql/data/mysql.sock

 

vim /etc/httpd/conf.d/zabbix.conf #更改时区

cp -r /usr/share/zabbix/ /usr/local/lnmp/nginx/html/

[root@lnmp ~]# systemctl start zabbix-server

[root@lnmp ~]# systemctl enable zabbix-server.service

 

cp -r /usr/share/zabbix/ /usr/local/lnmp/nginx/html/

chown -R zabbix:zabbix /etc/zabbix/

chown -R zabbix:zabbix /usr/lib/zabbix/

chmod -R 755 /etc/zabbix/web/

chmod -R 777 /var/lib/php/session/

chown -R zabbix:zabbix /usr/local/lnmp/nginx/

systemctl start zabbix-agent

systemctl enable zabbix-agent

 

安装扩展bamatch

cd /root/php-5.6.38/ext/bcmath

     > phpize

     > ./configure --with-php-config=/usr/local/lnmp/php/bin/php-config

     > make

     > make install

 

vim /usr/local/lnmp/php/etc/php.ini

 

always_populate_raw_post_data = -1

post_max_size = 16M

max_input_time = 300

extension=bcmath.so

 

/etc/init.d/php-fpm restart

Mysql.sock写错导致zabbix-server不能重启

在这个过程中编译时没有安装php-bcmath

[root@lnmp ext]# cd /root/php-5.6.38/ext/gettext

[root@lnmp gettext]# phpize

[root@lnmpgettext]#./configure --with-php-config=/usr/local/lnmp/php/bin/php-config

[root@lnmp gettext]# make && make install

vim /usr/local/lnmp/php/etc/php.ini

extension=gettext.so

/etc/init.d/php-fpm restart

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值