Zabbix4.2版本部署及使用

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优点

  1. zabbix易于部署,运行稳定。
  2. 对于基础监控例如,内存,cpu,磁盘等基础监控项还是很准确。
  3. 报警机制较为方便,对比prometheus的报警配置,个人感觉zabbix的报警配置更加方便。
  4. 方便管理,适用于大规模集群。本人在之前使用并管理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/ ##清华源Zabbix4.2版本部署及使用_第1张图片
Zabbix4.2版本部署及使用_第2张图片
mysql下载:
https://www.mysql.com/
Zabbix4.2版本部署及使用_第3张图片
Zabbix4.2版本部署及使用_第4张图片
Zabbix4.2版本部署及使用_第5张图片
Zabbix4.2版本部署及使用_第6张图片

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

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

两种架构节点部署准备

Zabbix4.2版本部署及使用_第7张图片
Zabbix4.2版本部署及使用_第8张图片

2.2 搭建本地yum仓库

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

  1. 启动http的服务
# `service httpd start`
  1. 创建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为否
  1. 将所用的安装包放到httpd站点目录 /var/www/html/ 下,对应zabbix源中的存放路径
    Zabbix4.2版本部署及使用_第9张图片
  2. 用rpm方式安装需createrepo,该软件用来生成rpm依赖及分组信息
# cd /var/www/html/
# createrepo ./   #此步骤需在html每个子目录下均执行

Zabbix4.2版本部署及使用_第10张图片
5. 访问http网址查看
Zabbix4.2版本部署及使用_第11张图片
Zabbix4.2版本部署及使用_第12张图片
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 网页配置

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

2.6 Zabbix客户端安装配置

  1. 下载agent客户端
yum install -y zabbix-agent-4.2.0-1.el6.x86_64.rpm
  1. 修改agent配置
# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1         #被动模式,修改为server端ip
ServerActive=            #主动模式,修改为server端ip
  1. 启动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. 配置自动发现规则—发现主机

Zabbix4.2版本部署及使用_第13张图片
Zabbix4.2版本部署及使用_第14张图片
Zabbix4.2版本部署及使用_第15张图片
Zabbix4.2版本部署及使用_第16张图片

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

Zabbix4.2版本部署及使用_第17张图片
Zabbix4.2版本部署及使用_第18张图片
Zabbix4.2版本部署及使用_第19张图片
在这里插入图片描述

2.8 查看监控数据

1. 最新数据

Zabbix4.2版本部署及使用_第20张图片
Zabbix4.2版本部署及使用_第21张图片
Zabbix4.2版本部署及使用_第22张图片

2. 图形监控

Zabbix4.2版本部署及使用_第23张图片
Zabbix4.2版本部署及使用_第24张图片
解决中文乱码
查看监控数据时,出现乱码的解决办法(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. 创建模板

模板的功能:一处创建,处处使用
Zabbix4.2版本部署及使用_第25张图片
自定义名称
Zabbix4.2版本部署及使用_第26张图片

2. 创建应用集

搜索自己创建的模板
Zabbix4.2版本部署及使用_第27张图片
在这里插入图片描述
Zabbix4.2版本部署及使用_第28张图片

3. 创建监控项

Zabbix4.2版本部署及使用_第29张图片
自定义名称
Zabbix4.2版本部署及使用_第30张图片

4. 添加触发器

Zabbix4.2版本部署及使用_第31张图片
自定义名称,添加表达式
Zabbix4.2版本部署及使用_第32张图片
表达式
Zabbix4.2版本部署及使用_第33张图片
Zabbix4.2版本部署及使用_第34张图片

5. 图形

在这里插入图片描述
Zabbix4.2版本部署及使用_第35张图片
Zabbix4.2版本部署及使用_第36张图片

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

Zabbix4.2版本部署及使用_第37张图片
Zabbix4.2版本部署及使用_第38张图片
Zabbix4.2版本部署及使用_第39张图片
Zabbix4.2版本部署及使用_第40张图片

7. 监测查看图形

Zabbix4.2版本部署及使用_第41张图片

8. 聚合图形

Zabbix4.2版本部署及使用_第42张图片
Zabbix4.2版本部署及使用_第43张图片
Zabbix4.2版本部署及使用_第44张图片
Zabbix4.2版本部署及使用_第45张图片
Zabbix4.2版本部署及使用_第46张图片
Zabbix4.2版本部署及使用_第47张图片
Zabbix4.2版本部署及使用_第48张图片
Zabbix4.2版本部署及使用_第49张图片

9. 添加到仪表盘

Zabbix4.2版本部署及使用_第50张图片
Zabbix4.2版本部署及使用_第51张图片
Zabbix4.2版本部署及使用_第52张图片
Zabbix4.2版本部署及使用_第53张图片

10. 创建幻灯片

在这里插入图片描述
Zabbix4.2版本部署及使用_第54张图片
Zabbix4.2版本部署及使用_第55张图片
Zabbix4.2版本部署及使用_第56张图片

2.10 web监测

Zabbix4.2版本部署及使用_第57张图片
Zabbix4.2版本部署及使用_第58张图片
Zabbix4.2版本部署及使用_第59张图片
Zabbix4.2版本部署及使用_第60张图片
Zabbix4.2版本部署及使用_第61张图片
Zabbix4.2版本部署及使用_第62张图片
Zabbix4.2版本部署及使用_第63张图片

3.3 分布式监控

1. 功能:

能够减轻服务端的压力,zabbix proxy可以分担压力。zabbix server只能在同一个局域网监控,zabbix proxy可以实现跨网段监控。
Zabbix4.2版本部署及使用_第64张图片

2. 安装准备

Zabbix4.2版本部署及使用_第65张图片

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

Zabbix4.2版本部署及使用_第66张图片
Zabbix4.2版本部署及使用_第67张图片
在这里插入图片描述

[参考文档]

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

你可能感兴趣的:(linux监控,zabbix监控部署使用)