Zabbix4.2版本部署及使用

mac2026-05-10  1

Zabbix监控部署应用

第1章 zabbix简介

Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。 官方网站:http://www.zabbix.com Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。 被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据 Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。 Zabbix运行条件: Server: Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低 Agent: 目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows SNMP:

Zabbix优点

zabbix易于部署,运行稳定。对于基础监控例如,内存,cpu,磁盘等基础监控项还是很准确。报警机制较为方便,对比prometheus的报警配置,个人感觉zabbix的报警配置更加方便。方便管理,适用于大规模集群。本人在之前使用并管理300台以上机器,对于这种中型架构完全没压力。

缺点 5. 功能不够完善,对于容器,云等架构的监控还不是很完善。在此不如prometheus监控。 6. 监控界面简单,适合运维人员管理,不适于给客户观看。当然可以结合grafana使用,grafana是目前一款不错的作图软件,本身支持zabbix,prometheus等数据源。 7. 数据存贮方面。zabbix默认一般是Mysql,对于大数据量级别不适于应用。相较而言prometheus本身就是TSDB时序性数据库,不管是时序性,还是大数据存贮,或是秒及处理速度,都更占优势。

第2章 zabbix安装(内网环境)

本部署文档基于centos6系统

2.1 环境准备(基于4.2版本)

资源下载地址: https://opsx.alibaba.com/mirror ##阿里源 https://mirrors.tuna.tsinghua.edu.cn/ ##清华源 mysql下载: https://www.mysql.com/

Zabbix的两种架构,直接与代理,前者适用于小集群,后者适用于中大集群

 一种为server端直接对agent端进行监控方式。这种方式又分为主动模式和被动模式,主动模式为agent端定期主动向server端提交监控数据,被动模式为server端定期找agent端索要数据。少量机器时可用被动模式,大量机器时用主动模式。  另一种为proxy代理模式。此模式用于大集群,异地机房监控。可实现分布式跨网段监控,每地机房一个proxy代理节点,分担server端压力同时,实现跨网段监控。

两种架构节点部署准备

2.2 搭建本地yum仓库

少量机器可通过手动部署,机器较多是使用本地源部署较为方便。本人部署集群为300+

启动http的服务 # `service httpd start` 创建zabbix源 # cd /etc/yum.repos.d/ # vim zabbix.repo [zabbix] #自定义名字 name=Zabbix baseurl=http://192.168.x.x/zabbix/zabbix_rpm #http地址及rpm包存放路径 enabled=1 #设置此源是否可用,1为可用 gpgcheck=0 #设置此源是否校验,0为否 将所用的安装包放到httpd站点目录 /var/www/html/ 下,对应zabbix源中的存放路径 用rpm方式安装需createrepo,该软件用来生成rpm依赖及分组信息 # cd /var/www/html/ # createrepo ./ #此步骤需在html每个子目录下均执行

5. 访问http网址查看 6. 将自己创建的源文件,发送到各个节点。 集群数量多,使用ansible

scp /etc/yum.repos.d/ zabbix.repo

2.3 server端安装中间件

yum clean all yum -y --nogpgcheck -C install httpd mysql-server php55w php55w-mysql php55w-common php55w-gd php55w-mbstring php55w-mcrypt php55w-devel php55w-xml php55w-bcmath

 注意事项:mysql安装失败查看大小写  如有组件安装失败,检查是否有自带版本,先卸载再安装。

2.4 服务端zabbix安装及配置

yum -y --nogpgcheck -C install zabbix-web zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-java-gateway wqy-microhei-fonts net-snmp net-snmp-utils

1. 配置mysql

复制mysql配置文件

\cp /usr/share/mysql/my-medium.cnf /etc/my.cnf # vim /etc/security/limits.conf * soft nofile 4096 * hard nofile 4096 # vim /etc/my.cnf [mysqld] connect_timeout=60 wait_timeout=5000 max_connections=1000 #最大连接数 max_allowed_packet=50M max_connect_errors=500

启动MySQL

/etc/init.d/mysqld start

创建用户并授权

create database zabbix character set utf8 collate utf8_bin; grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; flush privileges; exit

导入zabbix中sql

zcat /usr/share/doc/zabbix-server-mysql-4.2.0/create.sql.gz|mysql -uzabbix -pzabbix zabbix

2. 修改php配置文件

sed -i.ori 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /etc/php.ini

3. 配置zabbix-server配置文件

# vim /etc/zabbix/zabbix_server.conf DBName=zabbix #数据库名称 DBPassword=zabbix #数据库密码 DBUser=zabbix #用户名 StartPollers=5 #填写范围0-100,默认5 。轮询处理监控项的进程数,增加太大会影响服务器本身性能,保持此参数的值尽可能低,20000个监控项大概控制在80左右即可。 StartTrappers=5 #负责处理agents和proxy推送过来的数据的进程数,默认为5,如果zabbix-agent监控类型较多需要加大此参数 StartDiscoverers=200 #自动发现子进程实例数,默认为1,范围0-250 StartHTTPPollers=1 #HTTP进程轮询实例个数,默认1,范围0-1000,web监控不多选择默认即可 CacheSize=8G #缓存大小,单位字节。用于存储主机、监控项、触发器数据的共享内存大小,默认8M最大8G。根据自身zabbix业务需求配置合理的参数。 CacheUpdateFrequency=60 #zabbix缓存更新频率,单位秒。设置范围1-3600 HistoryCacheSize=2G #历史数据缓存大小,单位字节 TrendCacheSize=2G #趋势数据缓存大小,单位字节。用于存储趋势数据的共享内存大小

5. html文件配置

cp -R /usr/share/zabbix/ /var/www/html/

6. 文件授权

chmod -R 755 /etc/zabbix/web # 修改目录权限 chown -R apache.apache /etc/zabbix/web # 修改属组

7. 启动服务

echo "ServerName 127.0.0.1:80">>/etc/httpd/conf/httpd.conf # 配置用户名 /etc/init.d/httpd start /etc/init.d/zabbix-server start

8. 加入开机自启动

# vim /etc/rc.local /etc/init.d/mysqld start /etc/init.d/httpd start /etc/init.d/zabbix-server start

2.5 网页配置

浏览器登陆网页管理地址 # http://192.168.x.x/zabbix/ 检查php、mysql完整性填写用户名、密码 zabbix 默认用户名: Admin #注意首位大写 密码:zabbix

2.6 Zabbix客户端安装配置

下载agent客户端 yum install -y zabbix-agent-4.2.0-1.el6.x86_64.rpm 修改agent配置 # vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 #被动模式,修改为server端ip ServerActive= #主动模式,修改为server端ip 启动agent端 /etc/init.d/zabbix-agent start echo "/etc/init.d/zabbix-agent start" >> /etc/rc.local

2.7 自动发现与自动注册(推荐使用)

自动发现:服务端server自动发现局域网中的所有客户端agent 优点:方便找到所有客户端,不会遗漏 缺点:一旦agent过多,server压力山大,每隔一段时间,server都会扫描一遍局域网的所有机器。 自动注册:所有客户端Agent主动去服务端server登记注册一下(在本文章就不写了复制图片太麻烦了) 优点:对服务端的压力最低 缺点:配置过程稍微复杂

2.7.1 自动发现配置(推荐使用自动发现,配置改动少)

客户端agent配置 不需要任何配置,只要沿用前面的配置即可。 服务端server配置 不需要任何配置,只要沿用前面的配置即可。

1. 配置自动发现规则—发现主机

2. 配置添加主机动作—添加主机

2.8 查看监控数据

1. 最新数据

2. 图形监控

解决中文乱码 查看监控数据时,出现乱码的解决办法(server端操作)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum -y install wqy-microhei-fonts \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

2.9 自定义监控模板

1. 创建模板

模板的功能:一处创建,处处使用 自定义名称

2. 创建应用集

搜索自己创建的模板

3. 创建监控项

自定义名称

4. 添加触发器

自定义名称,添加表达式 表达式

5. 图形

6. 给主机添加自定义模板

7. 监测查看图形

8. 聚合图形

9. 添加到仪表盘

10. 创建幻灯片

2.10 web监测

3.3 分布式监控

1. 功能:

能够减轻服务端的压力,zabbix proxy可以分担压力。zabbix server只能在同一个局域网监控,zabbix proxy可以实现跨网段监控。

2. 安装准备

3. 所需安装包

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm yum -y install zabbix-proxy-mysql

4. 安装配置数据库

zabbix proxy需要数据库存储相关的配置信息,但是不存储监控数据(只存在server上)

[root@m01 ~]# mysql # 创建proxy用的数据库 create database zabbix_proxy character set utf8 collate utf8_bin; # 创建proxy用的账户 grant all privileges on zabbix_proxy.* to zabbix@'172.16.1.%' identified by 'zabbix'; # 退出mysql命令行

5. 导入proxy使用sql文件

[root@web01 ~]# ls /usr/share/doc/zabbix-proxy-mysql-3.0.9/ AUTHORS ChangeLog COPYING NEWS README schema.sql.gz [root@m01 ~]# zcat /server/schema.sql.gz|mysql -uzabbix_proxy –pzabbix zabbix_proxy

6. 配置zabbix proxy

# vim /etc/zabbix/zabbix_proxy.conf Server=127.0.0.1 #配置server端ip地址 Hostname=bj-proxy #此名称需要与将来在server端web页面上代理程序名称一致,名称自定义。 DBHost=localhost #指向proxy数据库地址 DBUser=zabbix #数据库用户 DBPassword= #数据库密码 ConfigFrequency=600 #配置文件同步server端间隔时间 DataSenderFrequency=1 #数据同步间隔 开启进程 /etc/init.d/zabbix-proxy start

7. zabbix Agent配置

使用proxy代理,将agent端配置文件地址修改为相应的proxy端地址 sed -i 's#172.16.1.61#172.16.1.8#g' /etc/zabbix/zabbix_agentd.conf 重启 /etc/init.d/zabbix-agent restart

8. 网页操作

将proxy代理节点注册到zabbix server

[参考文档]

https://blog.csdn.net/zzhlinux911218/article/details/85127444 https://blog.csdn.net/AtlanSI/article/details/82154610

最新回复(0)