zabbix 安装

注意事项:

已知zabbix  4.4  目前所有组件都具备

 

zabbix-server-mysql zabbix-web-mysql  proxy...

重新安装新的版本需要重新导入数据和表
        

Zabbix server概述

Zabbix server 是整个 Zabbix 软件的核心程序。

Zabbix Server 负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是 Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server 自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将被发出通知给管理员。

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

Zabbix 的所有配置信息都存储在 Server 和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因

zabbix 组件

zabbix agent:部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。

zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。

zabbix database:用于存储所有zabbix的配置信息、监控数据的数据库。

zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。

zabbix proxy:可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。

主动监控与被动监控介绍

1、主动和被动都是对被监控端主机而言的

2、zabbix默认采用的是被动监控

  • 被动监控:Server向Agent发起连接
  • 主动监控:Agent向Server发起连接

主动与被动区别

被动模式:被动模式就是由zabbix server向zabbix agent发出指令获取数据, 即zabbix agent被动的去获取数据并返回给zabbix server, zabbix server周期性的向agent 索取数据, 这总模式的最大问题就是会加大zabbix server的工作量, 在数百台服务器的环境下zabbix server不能及时获取到最新数据, 但这也是默认的工作方式。
主动模式:是有zabbix agent主动采集数据并返回给zabbix server, 不再需要zabbix server进行干预, 因此主动模式在一定程度上可减轻zabbix server的压力。
4、在被监控主机数量过多的场景下,主动模式可以大大较少zabbix server的压力

        被动模式就是zabbix-sevrer主动向zabbix-agent索要数据,好几千台服务器每次都要索要的话会非常的慢,从而影响监控值的刷新,主动模式就是zabbix-agent主动向zabbix-sever汇报数据,也就好比发了个通知,大家来这里集合一样,这样可以大大减轻zabbix server的压力,被动模式每次刷新监控项几乎都是一秒一个,而主动模式则是一秒全部刷新。

5、zabbix也支持分布式监控
 

zabbinx 主动模式监控主机过多出现性能问题

当zabbix-server监控主机过多时候,由于server端去搜集信息,zabbix会出现严重的性能问题,比如:

1,当监控端到一个量级的时候,web操作界面很卡,容易出现502

2,图层断裂

3,开启的进程太多,即使item数量减少,以后加一定量的机器也会出现问题

所以主要往2个优化方面考虑:

1,添加proxy节点或者node模式做分布式监控

2,调整agentd为主动模式

由于第一个方案需要加物理机器,所以尝试第二个方案。

主动模式流程:主动模式一定要记得设置ServerActive=ServerIP

Agent向Server建立一个TCP连接

Agent请求需要检测的数据列表

Server响应Agent,发送一个Items列表

Agent允许响应

TCP连接完成本次会话关闭

Agent开始周期性地收集数据

一.被监控端zabbix_agentd.conf的配置调整

$ sudo vim /etc/zabbix/zabbix_agentd.conf

StartAgents=0 #客户端的anent的模式,0表示关闭被动模式,zabbix-agentd不监控本地端口,所以看不到zabbix_agentd进程。

ProxyMode=0 #0为主动, 1为被动

#Server=127.0.0.1 #如果设置纯被动模式,应该注释掉这行

ServerActive=127.0.0.1 #主动模式的serverip地址

Hostname=127.0.0.1 #客户端的hostname,不配置则使用主机名

RefreshActiveChecks=120 #被监控端到服务器获取监控项的周期,默认120S

BufferSize=200 #被监控端存储监控信息的空间大小

Timeout=3 #超时时间

纯主动监控模式下的zabbix agent,只能支持zabbix agent (active)类型的监控项

二、调整监控模板

克隆一个temple linux模版来修改

1、进入模版列表找到刚到添加的模版,并点击监控项

2、类型打勾,选择主动式,然后更新

3、添加完成之后,你会发现zabbix的Z灯不亮,因为服务器是基于被动模式的。

4、最新数据可以查看主动模式自动提交的item

zabbix 监控那些东西?

主机相关:CPU、内存、Processes、磁盘IO、根目录空间

异常bash进程、存在空密码用户、可登录用户数

zabbix官方的rpm包仓库。

https://repo.zabbix.com/zabbix/

这个是官方模板仓库

https://git.zabbix.com/projects

一、搭建之前的操作

升级系统组件至最新版本

yum -y update

临时关闭seLinux

setenforce 0

永久关闭selinux 需编辑配置文件/etc/selinux/config,设置SELINUX=disabled,重启系统后生效。

vi /etc/selinux/config

设置防火墙开放80端口。

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

firewall-cmd --query-port=80/tcp

二、yum安装zabbix-server

1、从zabbix官方的源码库https://repo.zabbix.com下载、安装部署包文件。

wget -c -t 0 https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

rpm -ivh zabbix-release-4.4-1.el7.noarch.rpm

2、安装zabbix-server-mysql,启动服务并设置为开机启动

yum install -y zabbix-server-mysql

systemctl start zabbix-server

systemctl enable zabbix-server

3、安装zabbix-web-mysql。

yum install -y zabbix-web-mysql

4、安装客户端zabbix-agent,启动服务并设置为开机启动。

yum install -y zabbix-agent

systemctl start zabbix-agent

systemctl enable zabbix-agent

5、安装数据库mysql,启动服务并设置为开机启动,设置数据库账户root密码。

yum install -y mariadb-server

systemctl start mariadb.service 

systemctl enable mariadb.service 

mysqladmin -uroot password '密码'

6、登录mysql,创建zabbix数据库,授权用户zabbix使用密码zabbix访问本地zabbix数据库时拥有所有权限。

mysql -uroot -p

create database zabbix character set utf8 collate utf8_bin;

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

quit;

7、向数据库zabbix中导入初始架构和数据。

find / -name "zabbix-server-mysql*"

cd /usr/share/doc/zabbix-server-mysql-4.4.10

zcat create.sql.gz | mysql -uroot -pserver zabbix

8、在配置文件zabbix_server.conf中编辑数据库配置。

vi /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

9、安装zabbix-web 。

yum install -y zabbix-web

10、安装apache服务,启动服务并设置为开机启动。

yum install -y httpd

systemctl start httpd

systemctl enable httpd

11、安装php。

yum install -y php

12、安装时间同步ntp服务,修改系统时间为亚洲上海时区。

yum install -y ntpdate

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ntpdate us.pool.ntp.org

date

13、修改配置文件/etc/httpd/conf.d/zabbix.conf,时区改成 Asia/Shanghai。

vi /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/ShangHai

14、重启apache,zabbix-server服务。

systemctl restart httpd

systemctl restart zabbix-server

三、配置zabbinx-server

1、浏览器输入http://IP/zabbix,进入如下界面。点击Next step

2、点击下一步,进入先决条件检查界面,确保状态都是OK。

3、点击下一步,进入配置数据库连接界面。密码是zabbix数据库的密码

4、点击下一步,进入zabbix服务配置界面。

 5、点击下一步,进入安装前总结界面。

6、点击下一步,进入安装界面,点击finish,完成安装。

四、登陆zabbix-server,设置中文语言

1、进入登陆界面,使用默认用户名/密码(Admin / zabbix)登陆,A是大写字母。

2、zabbinx监控界面如下。

3、设置中文语言

五、被监控客户端部署zabbix-agent 

1、从zabbix官方的源码库https://repo.zabbix.com下载、安装部署包文件。

 wget -c -t 0 https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

rpm -ivh zabbix-release-4.4-1.el7.noarch.rpm

2、安装zabbix-agent,启动服务并设置为开机启动。

yum install -y zabbix-agent

systemctl start zabbix-agent

systemctl enable zabbix-agent

systemctl status zabbix-agent

3、编辑配置文件/etc/zabbix/zabbix_agentd.conf,设置zabbix服务器ip,重启zabbix-agent服务。

vi /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1,192.168.139.141,

ServerActive=127.0.0.1,192.168.139.141,

systemctl restart zabbix-agent

zabbix proxy

支持代理(proxy),收集zabbinx-agent的监控数据然后由zabbinx-proxy把数据发送给zabbinx-server.也就是说zabbinx-proxy 代理zabbix-server收集agent端的数据,然后把数据汇报给zabbinx-server,所以zabbinx-proxy在一定程度上分担了zabbinx-server的数据收集压力

zabbix proxy区分主动模式和被动模式

zabbin-proxy主动模式会向zabbix-server 申请zabbix-agent 的监控项信息而zabbix proxy在被动模式下也是等待zabbix server的连接并接受zabbix server发送的监控项指令,然后zabbix proxy再向zabbix agent发起请求获取数据

可以独立采集数据并存储 ,即数据采集、存储、分析、展示和为一体 维护 易维护,配置完后基本不需要管理 维护也不是很难 独立数据库 保留最近的少量数据 保留指定时间内的所有数据 报警通知 否,代理服务器是不发送邮件通知的 支持邮件、短信等告警机制

独立数据库

安装组件mysql-proxy  zabbix-agent

zabbix-proxy-mysql zabbix-agent

创建zabbix proxy数据库

Enter password:
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> create user proxy@'192.168.190.%' identified by 'proxy';
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to proxy@'1192.168.190.%';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

zabbix proxy 配置

agent代理程序的名称要和zabbix proxy的配置文件中的HostName一致

vim /etc/zabbix/zabbix_proxy.conf

ProxyMode=0  #0为主动模式,1为被动模式
Server=127.0.0.1  #zabbix server服务器的IP地址或主机名
ServerPort=10051  #主动模式下需设置端口,允许Zabbix server端打开随机端口与proxy服务器进行连接以获取数据
Hostname=zabbix_proxy #代理服务器名称,需要与zabbix server添加代理时的proxy name一致
ListenPort=10051  #zabbix proxy监听端口
EnableRemoteCommands=1  #允许zabbix server执行远程命令
DBHost=127.0.0.1  #数据库服务器IP地址
DBName=zabbix_proxy #数据库名称
DBUser=proxy  #数据库用户名
DBPassword=proxy  #数据库密码
DBPort=3306  #数据库端

EnableRemoteCommands:设置1表示允许server端执行远程命令,0表示拒绝;

DB开头:数据库服务器相关信息;

ProxyLocalBuffer和ProxyOfflineBuffer:已经获取到的和尚未获取到的数据保存时间;

HeartbeatFrequency:心跳检测时间间隔,被动代理无需设置;

ConfigFrequency:间隔多长时间从server端获取监控项信息;

DataSenderFrequency:数据发送时间间隔,单位秒,被动模式无需设置;

StartPollers:启动数据采集器的数量。
 

zabbix-agent 配置

vim /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=server,proxy                                                     (Zabbix server与zabbix proxy代理的地址)
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=5
#ServerActive=127.0.0.1                                             (proxy代理) 
Hostname= zabbix_proxy                                               ()
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/*.conf

自定义监控项

vim /etc/zabbix/zabbix_agentd.conf

自定义监控项,格式为:UserParameter=<键值>,<命令>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值