温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Centos 7搭建Zabbix 4.0监控系统

发布时间:2020-06-23 11:52:36 来源:网络 阅读:981 作者:俊伟祺i 栏目:系统运维

要想实时地了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的途径。就目前而言,有服务器的地方必然少不了监控系统。现有的监控软件有很多,但是Zabbix可以灵活的监控服务器资源,并且集Cacti和Nagio两者的优点于一身且功能更加强大,实现企业级分布式监控,所以在市场应用更广。

一、Zabbix概述

Zabbix是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具有主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表、图表的绘制等功能。监测的对象可以是Linux或Windows服务器,也可以是路由器、交换机等网络设备,通过SNMP(简单网络管理协议)、Zabbix、Agent、PING、端口监视等方法提供对远程网络服务器等监控、数据收集等功能,并提供通知机制使系统管理员可以快速定位、解决系统中存在的各种问题。目前Zabbix最新版本为Zabbix 3.4.官方网站是http://www.zabbix.com 。

Zabbix是免费的。Zabbix遵循GPL(通用公共许可证)版本2,这意味着它的源代码是可以自由分布的。Zabbix的商业版本是由Zabbix公司提供支持的。世界上很多大小不同的组织机构都依懒于Zabbix作为自己的一个主要的监控平台。尤其是现在很多互联网企业都在使用它。
Zabbix是一个高度集成的网络监控解决方案,具体描述如图:
Centos 7搭建Zabbix 4.0监控系统

1、Zabbix重要组件

zabbix主要由以下几个重要的组件构成,具体作用如下:

  • Zabbix Server:负责接收Agent发送报告信息的核心组件,所有的配置、数据统计、数据操作都由它组织进行;

  • Database strongage:负责存储所有的配置信息以及收集的数据;

  • Web interface:是zabbix的GUI接口,通常强开下与Zabbix Server运行在同一台主机上;

  • Proxy:属于可选组件,常用于分布式监控环境中,代理Server收集部分数据,然后转发到Server,可以减轻Server的压力;

*Agent:部署在被监控的主机(客户端)上,负责收集被监控端主机的数据,如CPU、内存、数据库等数据,然后发送到Server端或Proxy端;

2、Zabbix进程

默认情况下,Zabbix包含五个程序:zabbix_agentd、zabbix_get、zabbix_sender、zabbix_server、zabbix_proxy,另外有一个zabbix_java_gateway是可选的,需要另外安装。下面来分别介绍它们各自的作用:

  • zabbix_agentd:客户端守护进程,此进程用于收集被监控端的数据,如CPU负载、内存、硬盘使用情况等;

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

  • zabbix_sender:用于发送数据给server或者Proxy,通常用于耗时比较常的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,可以使用sender主动提交数据;

  • zabbix_server:zabbix服务器端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、
    zabbix_java_gateway的数据最终都是提交到server。数据并不都是主动提交给zabbix_server的,也有被动提交数据的,及server主动去获取数据;

  • zabbix_proxy:zabbix代理守护进程。功能类似于server,唯一不同的是它只是一个中转站,需要把收集到的数据主动(或被动)地提交到server上;

  • zabbix_java_gateway:在zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但目前只用于Java方面,需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会提交到server或者proxy;

3、Zabbix监控架构

在实际生产环境中,Zabbix根据网络环境,监控规模等外界因素分为三种架构:server-client(直接连接)、master-node-client(Node架构)、server-proxy-client(Proxy架构),如下图所示:
Centos 7搭建Zabbix 4.0监控系统

1)server-client架构(直接连接)

server-client架构是Zabbix的最简单的架构,监控机和被监控机之间不经过任何代理,直接在zabbix server和zabbix agentd之间进行数据交互,适用于网络比较简单,设备比较少的监控环境。

2)master-node-client架构(node架构)

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

3)server-proxy-client架构(proxy架构)

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

4、YUM安装Zabbix

Zabbix提供两种安装方式:YUM安装与编译安装。需要注意的是,由于Centos官方YUM源中并不提供Zabbix软件包以及相关依赖包,因此,如果想用YUM安装Zabbix需要通过Zabbix官方源或第三方的YUM源实现。Zabbix服务器需要LAMP环境或LNMP环境,以下实验部署环境采用YUM安装的LAMP环境为例,详细介绍Zabbix监控服务器的部署方法。

1)安装MariaDB

在Centos 7 系统光盘中默认提供的数据库不是MySQL而是MariaDB,因此在LAMP架构中使用MariaDB来充当“M”的角色,其余的组件还是保持原有的Apache与PHP。MariaDB是MySQL数据库源码的一个分支版本,与MySQL在大多数方面是兼容的。

2)安装Zabbix

因为安装Zabbix时会安装很多依赖包,其中包括httpd与PHP相关依赖包,所以直接安装Zabbix即可。无须在单独安装httpd与PHP。

二、搭建Zabbix监控服务器

此安装全部yum源均是通过连接公网使用网络源而配置的

Centos 7源:wget http://mirrors.aliyun.com/repo/Centos-7.repo

Zabbix 4.0源: rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

Zabbix依赖程序:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

Zabbix官方网站:Zabbix官网

Zabbix 4.0官方配置文档:Zabbix 4.0官方配置文档

1、安装Centos 7源

[root@centos02 ~]# cd /etc/yum.repos.d/
[root@centos02 yum.repos.d]# ls   
local.repo
[root@centos02 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo  
                                                             <!--安装网络Centos 7源-->

2、安装zabbix 4.0

[root@centos02 yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

3、安装mariadb数据库

[root@centos02 ~]# yum -y install mariadb mariadb-server   <!--安装mariadb数据库依赖-->
[root@centos02 ~]# systemctl start mariadb.service         <!--启动服务-->
[root@centos02 ~]# systemctl enable mariadb.service        <!--设置服务开机自启-->
[root@centos02 ~]# mysqladmin -uroot password         <!--设置数据库密码-->
[root@centos02 ~]# mysql -uroot -ppwd@123          <!--连接数据库-->
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  
    <!--创建数据库zabbix连接使用,数据库名字为zabbix,默认字符编码utf8,-->
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by  'pwd@123';      <!--授权zabbix账户访问zabbix数据库密码是pwd@123-->

4、安装及配置zabbix服务

[root@centos02 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 
                                        <!--安装zabbix依赖程序-->
[root@centos02 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql 
-uzabbix -ppwd@123 zabbix      <!--将zabbix数据导入到创建zabbix数据库中 -->
[root@centos02 ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak  <!--备份zabbix服务配置文件-->
[root@centos02 ~]# vim /etc/zabbix/zabbix_server.conf     <!--修改zabbix服务配置文件-->
91 DBHost=localhost          <!--去掉注释符号-->
100 DBName=zabbix         <!--数据库名称,根据实际修改,默认不用修改-->
116 DBUser=zabbix           <!--数据库用户名,默认不用修改-->
124 DBPassword=pwd@123     <!--数据库密码,修改此行-->
[root@centos02 ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak <!--备份zabbix agent主配置文件-->
[root@centos02 ~]# vim /etc/zabbix/zabbix_agentd.conf      
<!--编辑zabbix agent主配置文件,
(指定zabbix server的IP地址,这里要指定服务器的IP地址,现在是同一台服务器上,所有保持默认)
-->
98 Server=127.0.0.1              <!--客户端被动等待指定服务器来查询数据-->
139 ServerActive=127.0.0.1   <!--客户端主动提交数据到指定的服务器-->
150 Hostname=Zabbix server <!--建议修改此行,配置规范的主机名-->
[root@centos02 ~]# vim /etc/httpd/conf.d/zabbix.conf    
                       <!--编辑 Zabbix前端配置文件,设置时区为上海-->
21  php_value date.timezone Asia/Shanghai <!--设置为上海时区,并该行删除注释符号-->

现在服务器端基本配置完成,但是由于字体显示原因,可能使用浏览器访问时,会出现部分文字以乱码显示,所以要下载标准中文字体。可以通过网盘下载:https://pan.baidu.com/s/1iFpLZ4_5Snxry2jUmV8fCw
提取码:ao89

[root@centos02 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  simkai.ttf
[root@centos02 ~]# find / -name graphfont.ttf   <!--查看graphfont.ttf路径-->
/usr/share/zabbix/assets/fonts/graphfont.ttf
[root@centos02 ~]# mv simkai.ttf /usr/share/zabbix/assets/fonts/  
          <!--剪切中文字体到/usr/share/zabbix/assets/fonts/目录下-->
[root@centos02 ~]# cd /usr/share/zabbix/assets/fonts/   <!--进入目录-->
[root@centos02 fonts]# ls
graphfont.ttf            simkai.ttf
[root@centos02 ~]# vim /usr/share/zabbix/include/defines.inc.php   
         <!--修改PHP界面支持中文字体(如果不修改浏览器访问会出现乱码)-->
  70 define('ZBX_GRAPH_FONT_NAME',           'simkai');   
                   <!--将原有的“graphfont”更改为“simkai” -->
[root@centos02 ~]# systemctl start zabbix-server zabbix-agent httpd    
             <!--启动zabbix-server、zabbix-agent、httpd服务-->
[root@centos02 ~]# systemctl enable zabbix-server zabbix-agent httpd  <!--设置开机自动启动-->

5、通过客户端使用浏览器配置Zabbix服务器

我这里客户端使用的是火狐浏览器,如果没有可以通过上面连接提取

1)http://192.168.100.20/zabbix 访问zabbix前端安装向导,单击Next step键
Centos 7搭建Zabbix 4.0监控系统

2)环境检测界面,确保所有软件都是OK才可以继续
Centos 7搭建Zabbix 4.0监控系统

3)数据库连接配置界面,根据刚才创建好的zabbix数据库填写授权信息
Centos 7搭建Zabbix 4.0监控系统

4)数据库连接配置完成,填写zabbix服务信息
Centos 7搭建Zabbix 4.0监控系统

5)返回配置汇总信息,默认下一步
Centos 7搭建Zabbix 4.0监控系统

6)安装完成
Centos 7搭建Zabbix 4.0监控系统

7)登录界面输入默认的用户名Admin,密码zabbix即可登录到zabbix服务器
Centos 7搭建Zabbix 4.0监控系统

8)修改登录zabbix服务器的用户及密码,设置界面语言为中文
Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

9)设置完成,退出重新登陆即可
Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

10)创建bob用户,将用户加入Guests群组,设置密码、语言及主题
Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

11)检测内存,不会出现中文乱码
Centos 7搭建Zabbix 4.0监控系统

6、配置zabbix监控Linux客户端

1)安装zabbix客户端依赖程序

[root@centos03 yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm 
                       <!--网络源安装zabbix4.0版本-->
[root@centos03 ~]# yum -y install zabbix-agent   <!--安装依赖程序-->
[root@centos03 ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
                 <!--备份配置文件-->
[root@centos03 ~]# vim /etc/zabbix/zabbix_agentd.conf<!--修改zabbix客户端主配置文件-->
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log 
LogFileSize=0
Server=192.168.100.20      <!--zabbix服务器端-->
ServerActive=192.168.100.20      <!--zabbix服务器端-->
Hostname=192.168.100.30        <!--zabbix客户端计算机名或者IP地址-->
Include=/etc/zabbix/zabbix_agentd.d/*.conf 
#UnsafeUserParameters=0 
[root@centos03 ~]# systemctl start zabbix-agent.service   <!--启动zabbix-agent服务-->
[root@centos03 ~]# systemctl enable zabbix-agent.service <!--设置为开机自动启动-->
[root@centos03 ~]# netstat -anptu | grep zabbix  <!--监听agent服务是否正常启动-->
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2244/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      2244/zabbix_agentd  

2)通过客户端使用浏览器配置Zabbix服务器监控Linux

①创建主机

Centos 7搭建Zabbix 4.0监控系统

②编辑详细信息,单击提交

Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

③添加Linux主机应用集

Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

④添加监控项

Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

⑤创建图形

Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

⑥创建触发器

Centos 7搭建Zabbix 4.0监控系统

Centos 7搭建Zabbix 4.0监控系统

⑦查看图形监控图

Centos 7搭建Zabbix 4.0监控系统

—————— 本文至此结束,感谢阅读 ——————

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI