2021-10-15②企业级zabbix监控 安装部署全网最细

Posted 哇咔咔明青

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-10-15②企业级zabbix监控 安装部署全网最细相关的知识,希望对你有一定的参考价值。

Zabbix 企业监控系统搭建

centos7.4 系统服务器3台、 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源、 防火墙关闭、 各节点时钟服务同步、 各节点之间可以通过主机名互相通信。 我是测试阶段 准备了 2台

步骤;所有机器关闭防火墙和selinux

systemctl stop firewalld && setenforce 0

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

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

而后更新我们的yum 仓库 yum repolist

安装

yum -y install zabbix-server-mysql zabbix-web-mysql  zabbix-agent
yum -y install  zabbix-get-3.4.0-1.el7.x86_64

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

安装设置数据库:

1、安装 mariadb.repo

yum install -y mariadb mariadb-server

这里讲一下,下载好默认没有密码可以登录,但是为了安全,要设置一个密码

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

systemctl start mariadb
systemctl enable mariadb
mysqladmin -u root password 'zabbix'    #设置root密码

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

mysql -uroot -p'zabbix'
create database zabbix character set utf8 collate utf8_bin;  # 创建zabbix数据库
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';										# 注意授权网段
flush privileges;           # 刷新授权
exit #退出

4、导入表
我们直接把表导入至我们的数据库即可:提醒一下,因为监控数据需要传送到数据库中,这里数据库里面需要传入表,这里细节认真一点,很多时候都是这里做错
方法一;导入

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix  -p'zabbix' zabbix  


方法二;导入

cd /usr/share/doc/zabbix-server-mysql-3.4.15
[root@zabbix-server zabbix-server-mysql-3.4.15]# gunzip create.sql.gz
[root@zabbix-server zabbix-server-mysql-3.4.15]# mysql -u zabbix -p zabbix < create.sql

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

[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)

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

配置 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             #数据库密码
 #这里的配置文件打开后:如果有的就不用添加了。如果是注释了的也不用取消注释。直接把内容复制粘贴过去就可以 了。


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

systemctl start zabbix-server
systemctl enable zabbix-server

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

netstat -lntp | grep 10051

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

配置 web GUI

有一个/etc/httpd/conf.d/zabbix.conf文件,这个配置文件就是帮我们做映射的文件
前面默认已经安装过了

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


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

systemctl start httpd mariadb zabbix-server
systemctl enable httpd


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

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

我们使用浏览器访问196.196.196.44/zabbix,第一次访问时需要进行一些初始化的设置,我们按照提示操作即可:
 ①
 ②




点击Finish以后,我们就会跳转到登录页面,使用我们的账号密码登录即可:

默认用户名为:Admin ,密码为:zabbix 登陆进来就可以看到我们的仪表盘了:

看到这个页面 就配置完server端拉

配置 agent 端

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

安装 zabbix

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

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum  -y install zabbix-agent zabbix-sender 

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

修改配置文件

对配置文件做一个备份,然后去修改配置文件:
cd /etc/zabbix/
cp -r zabbix_agentd.conf zabbix_agentd.conf.bak

agent端配置文件 写的是server端的 ip

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 是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.


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

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

systemctl start zabbix-agent
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

监控过程详解

修改密码及中文版
作为一只英语不好的运维,这里悄悄改成了中文版,如果大家英语好的话看英文版即可,英语不好就改了吧,毕竟中文版比较适合初学者更快的学习~


记得刷新!

按如上操作即可,选择中文以后,点击下面的update即可更新成功,更新过后是这样子的~

同样的,为了安全起见,我们把密码改掉:


修改完成后同样点击更新即可。

创建主机及主机群组

我们先来定义一个主机群组:


然后我们就可以去添加主机了:


设置完成后,点击添加。我们就可以看到,我们添加的这个主机已经出现在列表中了:

NETiBA5ZOH5ZKU5ZKU5piO6Z2S,size_20,color_FFFFFF,t_70,g_se,x_16)

监控项(items)

① 介绍

我们点击上图中none1的监控项,即可创建我们的监控项,首先,我们创建三个应用集:





然后我们来定义监控项:



任何一个被监控项,如果想要能够被监控,一定要在zabbix-server端定义了能够连接至zabbix-agent端,并且能够获取命令。或者在agent端定义了能够让server端获取命令。一般都是内建的命令,都对应的有其名字,被我们称之为key

下面监控的是cpu的每秒中断次数

in 每秒CPU的中断次数,包括时间中断

关于key值,我们可以直接在网页上设置(服务器自动执行),也可以使用命令行命令(手动执行)来获取:

[root@zabbix-server zabbix]# zabbix_get -s 192.168.246.226 -p 10050 -k “system.cpu.intr”

在我们的agent端,也可以使用命令来查看intr的速率变化:

我们继续来看我们的监控项:

 [zabbix]会收集历史数据(所有的数据都成为过去,O(∩_∩)O哈!),以及还会收集每小时的平均数据作为趋势数据,每小时才收集一次,所以trends(趋势)暂用的资源很小,说了这么多,我们来简单定义一个:

② 定义一个不带参数的监控项


这里解释一下,每秒更改


设置完以后,点击更新,即可加入,并会自动跳转至下图页面:

定义完成,我们回到所有主机,等待5秒,我们可以看到,我们none1节点后面的选项已经有变成绿色的了:如果不亮记得刷新

我们也可以回到我们的仪表盘,可以看到,我们的监控项有一个处于启用状态:

那么,我们的数据在哪里呢?可以点击最新数据,把我们的node1节点添加至主机,应用一下,就可以看到下面的状态了:

可以看到,我们还有一个图形页面,点进去则可以看图形的分布:

事实上,我们关注的指标有很多种,我们一一添加进来即可。
  刚刚我们定义的监控项是很简单的,指定一个key即可,但是有些监控项是带有参数的,这样一来,我们的监控项就有更多的灵活性。接下来,我们来简单说明一个需要带参数的监控项:

③ 定义一个带参数的监控项

图中的[]就是需要参数的意思,里面的值即为参数,带<>为不可省略的。我们就以这个例子来说明:
  if表示是接口名;<mode>表示是哪种模式,包括但不限于:packets(包)、bytes(字节)、errors(错误)、dropped(丢包)(上述内容通过ifconfig查看)
  我们来设置一下这个监控值:






同样的,我们也可以通过命令行来查看

zabbix_get -s 196.196.196.55 -p 10050 -k "net.if.in[ens33,packets]"

我们来看看网页的显示情况:检测中 —> 最新数据 —> Network Interface Stats(图形),等待一会,或者刷新一下

④ 快速定义类似指标

如果我们想要定义一个类似的指标,我们可以直接选择克隆,然后简单的修改一点点参数即可。
  就以我们刚刚定义的net.if.in[ens33,packets]为例,如果我们想要在定义一个out的进行如下操作即可:


如果我们要以字节为单位也要定义的话,进行同样的操作:


如果有需要的话也可以把byte再克隆成out。就不一一演示了~
  可以看一下,我们现在已经定义的指标:

我们来到 检测中 —> 最新数据,可以看到,我们定义的监控项都已经有值了:

⑤ 删除监控项

如果有一个监控项,我们用不上了,就可以删除掉。但是如果你直接删除的话,默认数据是会留下的,所以我们要先清除数据,然后再删除,具体操作步骤如下:

触发器(trigger)

① 简介

当我们的采集的值定义完了以后,就可以来定义触发器了。
我们触发器的定义是:界定某特定的item采集到的数据的非合理区间或非合理状态。通常为逻辑表达式。
一般,我们评定采样数值是否为合理区间的比较稳妥的方法是——根据最后N次的平均值来判定结果;这个最后N次通常有两种定义方式:

  1. 最近N分钟所得结果的平均值
  2. 最近N次所得结果的平均值
      注:能用数值保存的就不要使用字符串
② 触发器表达式

基本的触发器表达式格式如下所示

以上是关于2021-10-15②企业级zabbix监控 安装部署全网最细的主要内容,如果未能解决你的问题,请参考以下文章

Linux企业级监控---zabbix安装及监控Linux服务器

企业级分布式监控Zabbix部署+安装排错解决本地无法登录问题+测试邮件报警

监控服务zabbix部署

Zabbix企业级分布式监控系统

zabbix监控安装部署文档

Zabbix 安装