Zabbix 监控的简单使用

1、zabbix 监控

1、zabbix 监控架构

zabbix的监控架构在实际监控架构中,zabbix根据网络环境、监控规模等架构: server-client 、server-proxy-client。

1、server-client架构也是zabbix的最简单的架构,监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。
2、server-proxy-client架构其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。一般适用于跨机房、跨网络的中型网络架构的监控
master-node-client

普通监控:

在这里插入图片描述

分布式监控:

在这里插入图片描述

2、Zabbix 优点

开源,无软件成本投入
Server 对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控
当监控的 item 比较多,服务器队列比较大时可以采用被动状态,被监控客户端主动 从server 端去下载需要监控的item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。
Api 的支持,方便与其他系统结合

3、Zabbix 缺点

​ 需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据很大,瓶颈主要在数据库。

4、Zabbix 监控系统监控对象

在这里插入图片描述

IPMI:智能平台管理接口(Intelligent Platform Management Interface)IPMI 能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器系统成本。

SNMP:网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点服务器工作站路由器交换机等)的一种标准协议,它是一种应用层协议。

5、监控区别

​ 1.nagios图形不是特别好,也可以安装图形插件,但是也不怎么好看
​ 2.nagios一般情况下如果需要图形可以和cacti配合使用
​ 3.cacti的监控是轮询监控,效率低,图形相对nagios比较好看
​ 4.zabbix和nagios因为是并发监控,对cpu的要求更高
​ 5.zabbix在性能和功能上都强大很多
​ 6.zabbix的图形相当漂亮
​ 7.支持多种监控方式 zabbix-agent snmp 等等
​ 8.支持分布式监控,能监控的agent非常多
​ 9.zabbix有图形的web配置界面,配置简洁
​ 10.zabbix支持自动发现功能

6、Zabbix监控方式

被动模式
主动模式

1、Server

Zabbix server 是agent程序报告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。

2、数据库存储

所有配置信息和Zabbix收集到的数据都被存储在数据库中。

3、Web界面

为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上。

4、Proxy 代理服务器

Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。

Zabbix Proxy是一个可以从一个或多个受监控设备收集监控数据,并将信息发送到Zabbix sever,基本上是代server工作的。所有收集的数据都在本地进行缓存,然后传送到proxy所属的Zabbix sever。
部署Proxy是可选的,但是可能非常有益于分散单个Zabbix sever的负载。 如果只有proxy收集数据,sever上的进程就会减少CPU消耗和磁盘I / O负载。 
Zabbix proxy是完成远程区域、分支机构、没有本地管理员的网络的集中监控的理想解决方案.
Zabbix proxy需要使用独立的数据库。
5、Agent监控代理

Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。

6、数据流

监控方面,为了创建一个监控项(item)用于采集数据,必须先创建一个主机(host)。告警方面,在监控项里创建触发器(trigger),通过触发器(trigger)来触发告警动作(action)。 因此,如果你想收到Server XCPU负载过高的告警,你必须: 1. 为Server 创建一个host并关联一个用于对CPU进行监控的监控项(Item)。 2. 创建一个触发器Trigger,设置成当CPU负载过高时会触发 3. Trigger被触发,发送告警邮件 。

4、Zabbix常用术语的含义

1、主机 (host)
  • 一台你想监控的网络设备,用IP或域名表示
2、主机组 (host group)
  • 主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。
3、监控项 (item)
  • 你想要接收的主机的特定数据,一个度量数据。
4、触发器 (trigger)
  • 一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式
    当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态。当接收到的数据低于阈值时,触发器保留/返回一个“OK”的状态。
5、动作 (action)
  • 一个对事件做出反应的预定义的操作。
    一个动作由操作(例如发出通知)和条件(当时操作正在发生)组成
6、媒介 (media)
  • 发送告警通知的手段;告警通知的途径
7、远程命令 (remote command)
  • 一个预定义好的,满足一些条件的情况下,可以在被监控主机上自动执行的命令
8、模版 (template)
  • 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,应用,Web场景等)的集合
    模版的任务就是加快对主机监控任务的实施;也可以使监控任务的批量修改更简单。模版是直接关联到每台单独的主机上。
9、web 场景 (web scenario)
  • 利用一个或多个HTTP请求来检查网站的可用性
10、前端 (frontend)
  • Zabbix提供的web界面
11、Zabbix server
  • Zabbix软件实现监控的核心程序,主要功能是与Zabbix server和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等
12、Zabbix agent

Zabbix agent部署在监控的目标上,主动监测本地的资源和应用(硬件,内存,处理器统计等)。
Zabbix agent收集本地的操作信息并将数据报告给Zabbix server用于进一步处理。一旦出现异常 (比如硬盘空间已满或者有崩溃的服务进程), Zabbix server会主动警告管理员指定机器上的异常。

5、Zabbix 企业监控系统搭建

1、实验准备

centos7.5 系统服务器3台、 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源、 防火墙关闭、 各节点时钟服务同步、 各节点之间可以通过主机名互相通信。
1)所有机器关闭防火墙和selinux

setenforing 0 (修改配置文件关闭)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
systemctl stop firewalld.service

2)根据架构图,实验基本设置如下:

机器名称IP配置服务角色备注
server192.168.246.228zabbix-server开启监控功能
node1192.168.246.226zabbix-agent-none1开启
node2192.168.246.227zabbix-agent-none2开启

2、Zabbix的安装,安装server端

1)更新yum仓库

我们去官网下载一个包zabbix-release-3.4-2.el7.noarch.rpm,本地安装至我们的虚拟机,这样,我们本地就有了新的yum源,可以直接安装zabbix服务:

[root@zabbix-server ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

修改repo源内容

[root@zabbix-server ~]#cat /etc/yum.repo.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/$basearch/   
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

yum clean all

安装:

[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-web-mysql  zabbix-agent -y
[root@zabbix-server ~]# yum install -y zabbix-get-3.4.0-1.el7.x86_64

zabbix-server-mysql数据库是用来存放采集到的数据,而zabbix-web-mysql的作用是Zabbix的web端会通过这些数据,来展示绘图

2)安装设置数据库:

1、安装 mariadb.repo

[root@zabbix-server ~]# yum install -y mariadb mariadb-server

2、重启我们的数据库服务:

[root@zabbix-server ~]# systemctl restart mariadb
[root@zabbix-server ~]# systemctl enable mariadb
[root@zabbix-server ~]# mysqladmin -u root password 'zabbix'    #设置root密码

3、创建数据库并授权账号

[root@zabbix-server ~]# mysql -uroot -p'zabbix'
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  # 创建zabbix数据库
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';										# 注意授权网段
MariaDB [(none)]> flush privileges;           # 刷新授权
MariaDB [(none)]> \q   #退出
Bye

4、导入表

我们直接把表导入至我们的数据库即可:

[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password:                   #输入密码

导入以后,我们进去数据库查看一下:

[root@zabbix-server zabbix-server-mysql-3.4.15]# mysql -uzabbix -p
Enter password: 
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
.....
| proxy_dhistory             |
| proxy_history              |
| regexps                    |
| rights                     |
| screen_user                |
+----------------------------+
140 rows in set (0.001 sec)

可以看出来,我们的数据已经导入成功了。

3、配置 server 端

我们的数据库准备好了以后,我们要去修改server端的配置文件。

[root@zabbix-server ~]# cd /etc/zabbix/
[root@zabbix-server zabbix]# ls
web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
#为了方便我们以后恢复,我们把配置文件备份一下
[root@zabbix-server zabbix]# cp zabbix_server.conf zabbix_server.conf.bak
[root@zabbix-server zabbix]# vim zabbix_server.conf
 DBHost=localhost      #数据库对外的主机
 DBName=zabbix               #数据库名称
 DBUser=zabbix              #数据库用户
 DBPassword=zabbix             #数据库密码
 #这里的配置文件打开后:如果有的就不用添加了。如果是注释了的也不用取消注释。直接把内容复制粘贴过去就可以 了。

以上,我们的基本配置已经完成,可以开启服务了:

[root@zabbix-server zabbix]# systemctl start zabbix-server
[root@zabbix-server zabbix]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.

开启服务以后,我们一定要去确认一下我们的端口有没有开启:

[root@zabbix-server zabbix]# netstat -lntp | grep 10051
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      1574/zabbix_server  
tcp6       0      0 :::10051                :::*                    LISTEN      1574/zabbix_server

如果查到的端口没有开启,我们就要去检查一下配置文件有没有出问题了。

4、配置 web GUI

有一个/etc/httpd/conf.d/zabbix.conf文件,这个配置文件就是帮我们做映射的文件

[root@zabbix-server zabbix]# vim /etc/httpd/conf.d/zabbix.conf   #设置时区
#里面基本不用动。只需要添加一行时区即可
php_value date.timezone Asia/Shanghai       ---添加如下

在这里插入图片描述

接下来,我们就可以启动我们的httpd服务了:

[root@zabbix-server zabbix]# systemctl start httpd
[root@zabbix-server zabbix]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

在这里插入图片描述

我们的服务已经开启,接着我们就可以用浏览器来访问了。

5、浏览器访问并进行初始化设置

我们使用浏览器访问192.168.246.228/zabbix,第一次访问时需要进行一些初始化的设置,我们按照提示操作即可:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
默认用户名:Admin
密码:zabbix

6、配置 agent 端

当我们把监控端配置启动以后,我们需要来设置一下我们的被监控端,我们在被监控的主机安装好agent,设置好他的server,并把他添加到server端,就能将其纳入我们的监控系统中去了。

1)安装 zabbix

同样的,我们先来安装zabbix。两台机器都操作

[root@zabbix-agent-none1 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@zabbix-agent-none1 ~]# yum install zabbix-agent zabbix-sender -y

安装完成以后,我们去修改配置文件。

2)修改配置文件

对配置文件做一个备份,然后去修改配置文件:

[root@zabbix-agent-none1 ~]# cd /etc/zabbix/
[root@zabbix-agent-none1 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@zabbix-agent-none1 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@zabbix-agent-none1 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.conf.bak  zabbix_agentd.d
[root@zabbix-agent-none1 zabbix]# vim zabbix_agentd.conf   ----修改如下
Server=192.168.246.228 zabbix服务器的地址 
ServerActive=192.168.246.228 主动模式 zabbix-server-ip 
Hostname=zabbix-agent-none1 
UnsafeUserParameters=1 是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符
EnableRemoteCommands=0 是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.

在这里插入图片描述

是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.

修改完成之后,我们保存退出。然后就可以启动服务了:

[root@zabbix-agent-none1 zabbix]# systemctl start zabbix-agent
[root@zabbix-agent-none1 zabbix]# systemctl enable zabbix-agent

照例查看端口是否已开启

[root@zabbix-agent-none1 zabbix]# netstat -lntp | grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      9369/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      9369/zabbix_agentd

已经开启成功。接着,我们就可以去server端添加了。
  none2也进行同样的操作,唯一不同的就是配置文件中的Hostname要设为zabbix-agent-none2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_c G

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值