前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建 zabbix 监控系统详解

搭建 zabbix 监控系统详解

作者头像
小手冰凉
发布2019-10-14 15:03:02
2.2K0
发布2019-10-14 15:03:02
举报
文章被收录于专栏:小手冰凉小手冰凉小手冰凉

要想实时的了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的选择,而zabbix监控系统则在众多监控软件中脱颖而出。

zabbix是一个基于web界面的企业级开源监控软件,Zabbix服务器需要LAMP环境或LNMP环境,提供分布式系统监控与网络监视功能。具备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表、图表的绘制等功能。监测对象可以是Linux或Windows服务器,也可以是路由器、交换机等网络设备,通过SNMP、zabbix Agent、PING、端口监视等方法提供对远程网络服务器等监控、数据收集等功能。

一、zabbix监控架构:

在生产环境中,zabbix根据网络环境、监控规模等外界因素分为三种架构:server-client(直接连接)、master-node-client(Node架构)、server-proxy-client(proxy架构),如下图所示:

在这里插入图片描述
在这里插入图片描述

1、server-client架构:

server-client架构是zabbix最简单的架构,监控机和被监控机之间不经过任何代理,直接在zabbix server(监控服务器) 和zabbix agent(agent:部署在被监控端,用于采集数据)之间进行数据交互,适用于网络比较简单,设备较少的监控环境。

2、master-node-client架构:

master-node-client架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境。每个node同时也是一个server端,node下面可以接proxy,也可以直接接client。node有自己的配置文件和数据库,其要做的就是将配置信息和监控数据向master同步。当master宕机后,node可以保证架构的完整性。

3、server-proxy-client架构:

proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server。该架构经常是和master-node-client架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控。 二、搭建Zabbix监控服务器: 两种server-client架构的配置方法: 1、配置本地yum仓库,进行安装(服务器无需连接到Internet); 2、直接把互联网做yum仓库,进而安装,zabbix的官方文档就是采用这种方式; zabbix4.2 相关配置文档: https://www.zabbix.com/documentation/4.2/manual/it_services 安装zabbix服务器方法一:使用本地yum搭建Zabbix3.4 准备工作: 1、下载zabbix所需的yum源: https://pan.baidu.com/s/1O5hJ0O2OcKpeBOlzDfcGQQ 提取码: buqc zabbix客户端软件包,包含Windows和Linux的客户端程序,还有网页所需字体 https://pan.baidu.com/s/1UC9lrc0QDUdGEO5NVa1kQQ 提取码: vprm 2、配置防火墙放行流量,这里为了方便,直接给关闭了 环境如下:(这里不好意思哈,因为特殊情况,实验环境有所不同,当然只是IP变了,如要跟做的话注意一下即可)

在这里插入图片描述
在这里插入图片描述

开始搭建zabbix服务器:

[root@zabbix /]# vim /etc/yum.repos.d/a.repo        # 编写yum本地仓库
[zabbix]
baseurl=file:///media
gpgcheck=0
[root@zabbix /]# mount /dev/sr0 /media/       # 挂载zabbix yum源到本机
[root@zabbix /]# yum -y install mariadb-server mariadb     # 由于zabbix需要LAMP或LNMP环境,所以安装一个MySQL,也叫mariadb,我相信诸位大佬也明白啥意思
[root@zabbix /]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent           # 安装zabbix时会有很多依赖包,其中就包括httpd和php相关软件包,所以直接安装zabbix即可,无需单独再安装httpd和php
[root@zabbix /]# mysql -u root -p
Enter password:        # 输入密码
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;            # 创建zabbix的数据库,指定为utf-8
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123123';           # 创建zabbix用户,并给予所有权
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
[root@zabbix /]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix      
Enter password:       # 输入zabbix用户的密码
# 导入数据库SQL脚本到zabbix数据库
[root@zabbix /]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak       # 将主配置文件备份一份,以免改错
[root@zabbix /]# vim /etc/zabbix/zabbix_server.conf    # 修改如下几项
..............    // 省略部分内容
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123123

编辑zabbix agent的配置文件,必须指定zabbix server的IP地址,在每台安装了agent的主机上都要配置。这里要指定zabbix服务器的IP地址,现在是在同一台服务器上,所以可以不做修改:

[root@zabbix /]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
[root@zabbix /]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1           // 客户端被动等待指定服务器来查询数据
ServerActive=127.0.0.1      // 客户端主动提交数据到指定的服务器
Hostname=linux-server001     // 修改主机名,配置规范

配置 zabbix web接口:

[root@zabbix /]# vim /etc/httpd/conf.d/zabbix.conf       # 设置时区与当前系统时区一致 
.....................              // 省略部分
       php_value date.timezone Asia/Shanghai
[root@zabbix /]# systemctl start zabbix-server           # 启动服务
[root@zabbix /]# systemctl enable zabbix-server          #开机自启
[root@zabbix /]# systemctl start zabbix-agent
[root@zabbix /]# systemctl enable zabbix-agent
[root@zabbix /]# systemctl start httpd          
# 启动相关服务使配置生效

安装 zabbix后,当显示语言为中文时,可能会出现中文乱码的情况,主要是字体导致的问题,如果要解决,需要下载合适的字体,并将其上传到zabbix服务器上

[root@zabbix media]# cp simkai.ttf /usr/share/zabbix/fonts/      # 将字体文件复制到zabbix的字体库
[root@zabbix media]# ls /usr/share/zabbix/fonts/
graphfont.ttf  simkai.ttf
[root@zabbix media]# vim /usr/share/zabbix/include/defines.inc.php    # 修改PHP界面指定的字体文件 
....................           // 省略部分内容
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name

使用浏览器配置zabbix:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如图下所示,为zabbix首页,默认是英文的:

在这里插入图片描述
在这里插入图片描述

可以通过如下操作修改为中文:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改完毕后,刷新一下界面,即可修改为中文 zabbix 添加被监控设备: 配置交换机:

R1#conf t
sw1(config)#int vlan 1
sw1(config-if)#ip address 192.168.1.40 255.255.255.0
sw1(config-if)#no shutdown 
sw1(config-if)#exit
sw1(config)#no ip routing
sw1(config)#snmp-server community centos RO              // 设置被服务器轮询的只读共同体
sw1(config)#snmp-server enable traps                  // 允许发送trap消息
% Cannot enable both sham-link state-change interface traps.
% New sham link interface trap not enabled.
sw1(config)#snmp-server host 192.168.1.20 centos          // 设置发送trap消息的共同体

路由器的配置和交换机基本相似,只不过路由器配置IP需要在接口上面配置 Linux 服务器配置:

[root@localhost media]# rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm 
[root@localhost /]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak                  # 备份文件以免该错
[root@localhost /]# vim /etc/zabbix/zabbix_agentd.conf       # 编辑配置文件
................
Server=192.168.1.20                      
ServerActive=192.168.1.20
Hostname=linux-server002
[root@localhost /]# systemctl start zabbix-agent.service         # 启动服务
[root@localhost /]# systemctl enable zabbix-agent.service 
[root@localhost /]# netstat -anpt | grep agent       # 确认端口已经启动
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      4114/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      4114/zabbix_agentd  

Windows 服务器配置: 将下载的agent代理软件包解压后,会看到下面这两个文件,其中“bin”目录中有两个子目录,“win32”和“win64”,分别对应不同的系统版本,根据自己系统的版本来看自己所需要的:

在这里插入图片描述
在这里插入图片描述

复制出来就是如下图所示的几个文件,修改zabbix_agentd.win.conf 文件:

在这里插入图片描述
在这里插入图片描述

修改如下三项:

Server=192.168.1.20
ServerActive=192.168.1.20
Hostname=windows-server001

使用cmd命令进行安装启动 agent(常用的参数有-c:指定配置文件;-i:安装;-s:启动;-x:停止;-d:卸载):

c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -i
zabbix_agentd.exe [2576]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [2576]: event source [Zabbix Agent] installed successfully

c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -s
zabbix_agentd.exe [2300]: service [Zabbix Agent] started successfully

配置zabbix web端,添加被监控设备: 添加交换机:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加Linux服务器:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加Windows 服务器:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当所有监控主机连接成功后如下图所示:

在这里插入图片描述
在这里插入图片描述

安装zabbix服务器方法二:使用Internet作为yum源,搭建zabbix 4.2版本:

1、配置前准备:

1、配置zabbix服务器可连接Internet; 2、系统自带的/etc/yum.repo/ 目录下的文件必须要有。

2、开始搭建:

[root@zabbix ~]# rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
#安装存储库配置包
[root@zabbix ~]# yum-config-manager --enable rhel-7-server-optional-rpms
#启用可选rpms的存储库
[root@zabbix ~]# yum -y install mariadb-server mariadb
#安装mariadb数据库
[root@zabbix ~]# systemctl start mariadb         #启动数据库
[root@zabbix ~]# systemctl enable mariadb         #设置为开机自启动
[root@zabbix ~]# mysqladmin -u root password "pwd123"         #设置数据库root用户密码
[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#安装zabbix服务器及agent代理,若要使用代理,可以把zabbix-proxy-mysql也yum安装上
[root@zabbix ~]# mysql -u root -ppwd123               #登录数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#创建数据库
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'pwd456';
#创建zabbix服务连接数据库的用户,并设置密码。
MariaDB [(none)]> exit           #退出数据库
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.2.4/create.sql.gz | mysql -uzabbix -p zabbix  
#导入数据库SQL脚本
Enter password:                          #输入数据库用户zabbix密码
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf            #编辑zabbix服务端配置文件
#注意删除注释符号
DBHost=localhost         #去掉注释符号
DBName=zabbix          #数据库名称,根据实际修改,默认不用修改
DBUser=zabbix            #数据库用户名,默认不用修改
DBPassword=pwd456          #数据库密码,修改此行
#修改完毕保存,保存退出即可。

接下来编辑zabbix agent的配置文件,必须指定zabbix server的IP地址,在每台安装了agent的主机上都要配置。这里要指定zabbix服务器的IP地址,现在是在同一台服务器上,所以可以不做修改:

[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf    #编辑agentd配置文件
#编辑此配置文件的目的是可以监控该Zabbix服务器。
Server=127.0.0.1            #客户端被动等待指定服务器来查询数据
ServerActive=127.0.0.1           #客户端主动提交数据到指定的服务器
Hostname=linux-server001         #建议修改此行,配置规范的主机名

配置zabbix web接口并启动相关服务:

[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf           #编辑http配置文件
php_value date.timezone Asia/Shanghai     #设置为上海时区,并该行删除注释符号
[root@zabbix ~]# systemctl start httpd              #启动httpd服务
[root@zabbix ~]# systemctl enable httpd         #设置开机自启动
[root@zabbix ~]# systemctl start zabbix-server            #启动zabbix服务端
[root@zabbix ~]# systemctl enable zabbix-server          #设置开机自启动
[root@zabbix ~]# systemctl start zabbix-agent       #启动agent代理
[root@zabbix ~]# systemctl enable zabbix-agent          #设置开机自启动

若访问web页面出现部分中文乱码的话,可以参考上面的安装方法一,有解决中文乱码的方法。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MariaDB
腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档