Centos 7搭建Zabbix 4.0监控系统
admin
2023-02-23 05:00:07
0

要想实时地了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的途径。就目前而言,有服务器的地方必然少不了监控系统。现有的监控软件有很多,但是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  
                                                             

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   
[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;  
    
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by  'pwd@123';      

4、安装及配置zabbix服务

[root@centos02 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 
                                        
[root@centos02 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql 
-uzabbix -ppwd@123 zabbix      
[root@centos02 ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak  
[root@centos02 ~]# vim /etc/zabbix/zabbix_server.conf     
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 
[root@centos02 ~]# vim /etc/zabbix/zabbix_agentd.conf      

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    
                       
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   
/usr/share/zabbix/assets/fonts/graphfont.ttf
[root@centos02 ~]# mv simkai.ttf /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   
         
  70 define('ZBX_GRAPH_FONT_NAME',           'simkai');   
                   
[root@centos02 ~]# systemctl start 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 
                       
[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
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log 
LogFileSize=0
Server=192.168.100.20      
ServerActive=192.168.100.20      
Hostname=192.168.100.30        
Include=/etc/zabbix/zabbix_agentd.d/*.conf 
#UnsafeUserParameters=0 
[root@centos03 ~]# systemctl start zabbix-agent.service   
[root@centos03 ~]# systemctl enable zabbix-agent.service 
[root@centos03 ~]# netstat -anptu | grep zabbix  
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,中方在联合国表态 联合国举行AI主题会议,中方呼吁深化国际合作。 5日,中国、赞比亚常驻联合国代表团和中国科学技术协会...
5年1.3万亿!Anthrop... ▲头图由AI辅助生成 智东西 作者 | 陈佳 编辑 | 漠影 智东西5月6日消息,今日,据The I...
美政府为何酝酿收紧AI监管? 据美国多家媒体日前报道,美国政府正考虑对人工智能(AI)模型在公开发布前实施安全审查,并酝酿通过行政...
从无人机到卡车,大疆第二曲线“... 【文/观察者网 张家栋 编辑/高莘】 据《南华早报》5月5日报道,大疆旗下智能驾驶品牌卓驭(ZYT...
东京审判28名甲级战犯罪行全记... 1946年5月3日远东国际军事法庭在东京开庭11国法官,818次开庭419名证人出庭4336件证据4...
男子称爷爷向天津美院捐赠40件... 近日,康先生在社交平台发布视频称,其爷爷康建章于1996年向天津美术学院捐赠的40件书画作品,自己希...
以军总参谋长:在伊朗仍有一系列... △以色列国防军总参谋长扎米尔(资料图)当地时间5月6日,以色列国防军总参谋长扎米尔表示,以军与美军的...