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监控系统

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

相关内容

热门资讯

重磅消息“葫芦三娃.到底有挂吗... 重磅消息“葫芦三娃.到底有挂吗?”其实是有挂您好,葫芦三娃这个游戏其实有挂的,确实是有挂的,需要了解...
玩家最新攻略“极酷牛牛.可以开... 网上科普关于“极酷牛牛有没有挂”话题很是火热,小编也是针对极酷牛牛作*弊开挂的方法以及开挂对应的知识...
玩家攻略科普“新卡农炸金花.有... 玩家攻略科普“新卡农炸金花.有挂吗?”原来真的有挂您好,新卡农炸金花这个游戏其实有挂的,确实是有挂的...
【今日要闻】“么么棋牌.究竟有... 网上科普关于“么么棋牌有没有挂”话题很是火热,小编也是针对么么棋牌作*弊开挂的方法以及开挂对应的知识...
欧尔班质疑谁先挑起俄乌冲突:乌... 【文/观察者网 王恺雯】欧盟本周早些时候批准向乌克兰提供900亿欧元贷款,以对其提供财政援助。匈牙利...
终于了解“博雅地方棋牌.辅助开... 网上科普关于“博雅地方棋牌有没有挂”话题很是火热,小编也是针对博雅地方棋牌作*弊开挂的方法以及开挂对...
【今日要闻】“闽乐茶楼.开挂神... 您好:闽乐茶楼这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
终于懂了“上海泸乐麻将.开挂器... 您好:上海泸乐麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
玩家攻略科普“六六顺牛牛.辅助... 网上科普关于“六六顺牛牛有没有挂”话题很是火热,小编也是针对六六顺牛牛作*弊开挂的方法以及开挂对应的...
事关互联网平台价格,三部门重磅... 图片来源:CFP 据“市说新语”微信公众号12月20日消息,近日,国家发展改革委、市场监管总局、国家...