Zabbix监控系统与部署Zabbix5.0监控(系列操作完整版)-程序员宅基地

技术标签: 分布式文件系统与运用  安全  运维  分布式  

目录

一.监控软件的作用

二.Zabbix基本介绍

1.Zabbix是什么?

2.Zabbix监控原理 

3.Zabbix的优点

4.Zabbix的缺点

5.Zabbix监控系统的监控对象

三.Zabbix的监控架构

1.server-client架构

2.server-proxy-client架构

3.master-node-client架构

四.Zabbix的程序组件

五.Zabbix的监控模式

1. 主动模式

2. 被动模式

六.Zabbix监控有哪些?

七.部署Zabbix服务端(端口:10051)

八.解决 zabbix-server Web页面中文乱码问题

九.部署zabbix客户端(端口号10050)

十.在Web页面创建自定义监控项模板

十一.设置邮件报警

十二.Zabbix自动发现与自动注册

1.zabbix自动发现(对于agent2是被动模式)

2.zabbix自动注册(对于agent2是主动模式)

十三.部署Zabbix代理服务器

十四.设置 zabbix-snmp 监控

1.SNMP协议基本介绍

2.部署zabbix-snmp监控


一.监控软件的作用

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果和网站的健康状态

利用一个优秀的监控软件,我们可以:

  • 对系统不间断实时监控
  • 实时反馈系统当前状态
  • 保证服务可靠性安全性
  • 保证业务持续稳定运行

二.Zabbix基本介绍

1.Zabbix是什么?

官方网址:Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution

  • zabbix是一个基于Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • zabbix由两部分构成,zabbix server(端口:10051)与可选组件zabbix agent(端口:10050)。通过C/S模式采集数据,通过B/S模式在Web端展示和配置
  • zabbix server 可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等平台上。
  • zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

Server

Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低

Agent

目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows等

SNMP

支持各类常见的网络设备

2.Zabbix监控原理 

  1. zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server端
  2. zabbix server收到数据后,将数据存储到数据库中
  3. 用户基于 Zabbix WEB 可以看到数据在前端展现图像
  4. 当zabbix监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,包括发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)

3.Zabbix的优点

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

4.Zabbix的缺点

  • 需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
  • 项目批量修改不方便。
  • 社区虽然成熟,但是中文资料相对较少,服务支持有限。
  • 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大。
  • 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;且自定义的项目报警需要自己设置,过程比较繁琐。
  • 缺少数据汇 总功能,如无法查看-组服务器平均值, 需进行二次开发;

5.Zabbix监控系统的监控对象

类型 典型代表服务 安装的服务
数据库 MySQL,MariaDB,Oracle,SQL Server agent
应用软件 Nginx,Apache, PHP,Tomcat agent
集群 LVS,Keepalived,HAproxy,RHCS,F5 agent
虚拟化 VMware,KVM,XEN ,docker ,k8s agent
操作系统 Linux,Unix,Windows性能参数 agent
硬件 服务器,存储,网络设备 IPMI
网络 网络环境(内网环境,外网环境) SNMP

在这里插入图片描述

三.Zabbix的监控架构

在实际监控架构中,zabbix根据网络环境、监控规模等分了三种架构: server-client 、master-node-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架构做比较的架构 ,一般适用于跨机房、跨网络的中型网络架构的监控

3.master-node-client架构

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

四.Zabbix的程序组件

  1. Zabbix agent客户端守护进程,负责部署在被监控主机上,把被监控主机的数据传送给zabbix server,例如:收集 CPU 负载、内存、硬盘使用情况等;
  2. Zabbix server服务端守护进程,负责接收agent发送的信息,组织配置信息,统计配置信息和操作数据等
  3. Zabbix database存储系统,用于存储zabbix的所有配置信息,监控数据的数据库,例如mysql, pgsq|
  4. Zabbix webGUI图形化界面,zabbix的web界面,管理可以通过zabbix的web界面管理zabbix配置以及查看zabbix的监控信息,可以独一部署在一台服务器上
  5. Zabbix proxyzabbix分布式代理守护进程,分布式环境中使用,zabbix proxy代表server端管理该区域中的信息收集,最终统一发往zabbix server
  6. Zabbix getzabbix 数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令
  7. Zabbix senderzabbix 数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查
  8. Zabbix_ java_ gatewayjava网关

五.Zabbix的监控模式

1. 主动模式

  • 主动检测: 由agent端主动收集信息发送给server端 工具是zabbix_sender
  • 相对于agent而言; agent(active),agent向server请求与自己相关监控项配置, 主动地将server配置的监控项相关的数据发送给server;
  • 主动监控能极大节约监控server的资源。

2. 被动模式

  • 被动检测:由server端主动拉取信息 工具是zabbix_get
  • 相对于agent而言 ; agent, server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server;

六.Zabbix监控有哪些?

  1. 硬件监控:通过 SNMP 来进行路由器交换机的监控
  2. 系统监控:如 CPU 的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘 inode 节点
  3. 服务监控:比如公司用 LNMP nginx 自带 Status 模块、 PHP 也有相关的 Status 、 MySQL 的话可以通过 ODBC协议 来进行监控
  4. 网络监控:如果是云主机又不是跨机房,那么可以选择不监控网络
  5. 安全监控:如果是云主机可以考虑使用自带的安全防护。当然也可以Zabbix监控 iptables 如果是硬件,那么推荐以Zabbix监控硬件防火墙
  6. Web 监控:web 监控的话题其实还是很多。比如可以使用自带的 web 监控来监控页面相关的延迟、 js 响应时间、下载时间、等等
  7. 日志监控:如果是 web 的话可以使用监控 Nginx 的 500x 日志。PHP 的 ERROR 日志
  8. 流量分析:平时我们分析日志都是拿 awk sed xxx 一堆工具来实现。这样对我们统计 ip 、 pv 、 uv 不是很方便。那么可以使用百度统计、 google 统计、商业,让开发嵌入代码即可 (不想关建议去掉)
  9. 可视化:通过 screen 以及引入一 些第三方的库来美化界面,同时我们也需要知道、订单量突然增加、 突然减少。或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了。可以结合监控平台来梳理各个系统之间的业务关系
  10. 自动化监控:如上我们做了那么多的工作,当然不能是一台一台的来加 key 实现。可以通过Zabbix 的主动模式以及被动模式来实现。当然最好还是通过 API 来实现

七.部署Zabbix服务端(端口:10051)

1. 环境准备

节点 IP地址 安装服务
zabbix-server(内存至少2G,推荐4G 192.168.79.210 zabbix-server-mysql 、zabbix-agent
zabbix-agent 192.168.79.220 zabbix-agent2

#关闭防火墙和selinux安全模块

#开机不再启动防火墙
systemctl disable --now firewalld   
setenforce 0

2.获取Zabbix下载资源

#获取下载资源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
cd /etc/yum.repos.d/

#更换 zabbix.repo 为阿里源
sed -i  's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo  

#清缓存并重新建立元数据
yum clean all && yum makecache 

3.安装SCL(Software Collections),修改 Zabbix-front 前端源

便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

#安装SCL所需
yum install -y centos-release-scl.noarch

#修改zabbix-frontend前端源,开启安装源
vim zabbix.repo 
---------------
第11行 enabled=1
------------------

#安装SCL
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

4.安装Zabbix所需的数据库

yum install -y mariadb-server.x86_64 mariadb
systemctl enable --now mariadb.service 
yum install -y zabbix-server-mysql zabbix-agent

5.初始化数据库

#初始化数据库,并设置密码abc123
mysql_secure_installation   

6.添加数据库用户,以及Zabbix所需的数据库信息

#登入数据库
mysql -uroot -pabc123

#修改字符集utf8
create database zabbix character set utf8 collate utf8_bin;  

#创建权限用户,是的zabbix可以访问数据库
grant all on zabbix.*to 'zabbix'@'%' identified by 'zabbix'; 

#刷新权限
flush privileges;  

7. 导入数据库信息

#查询sql文件位置
rpm -ql zabbix-server-mysql  
zcat /usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz | mysql -uroot -pabc123 zabbix

7.修改Zabbix server配置文件

#修改数据库密码
vim /etc/zabbix/zabbix_server.conf 
------------------------------------------------
DBPassword=zabbix					#124行,指定 zabbix 数据库的密码

#修改时区
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
--------------------------------------------------
php_value[date.timezone] = Asia/Shanghai  #25行,取消注释,修改时区

8.启动Zabbix相关服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable  zabbix-server zabbix-agent httpd rh-php72-php-fpm

9.浏览器访问验证

浏览器访问:http://192.168.79.210/zabbix,点击下一步

设置数据库的密码 zabbix

自定义name

 登录进入 ,用户名:Admin,密码:zabbix

 

设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新

八.解决 zabbix-server Web页面中文乱码问题

yum install -y wqy-microhei-fonts
\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

九.部署zabbix客户端(端口号10050)

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

1. 环境准备

节点 IP地址 安装服务
zabbix-server(内存至少2G,推荐4G 192.168.79.210 zabbix-server-mysql 、zabbix-agent
zabbix-agent 192.168.79.220 zabbix-agent2

#关闭防火墙和selinux安全模块

systemctl disable --now firewalld
setenforce 0

2.服务端和客户端,配置时间同步

yum install -y ntpdate.x86_64 
ntpdate -u ntp.aliyun.com

3.客户端配置时区,要与服务端保持一致

mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date 

4. 设置Zabbix的下载源,安装Zabbix-agent2

#设置zabbix的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

#更改
cd /etc/yum.repos.d/
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

5.安装Zabbix-agent2,并修改配置文件

#安装zabbix-agent2
yum install -y zabbix-agent2  

#修改配置文件
vim /etc/zabbix/zabbix_agent2.conf 
-------------------------------------------
Server=192.168.79.210			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.79.210		#125行,指定 zabbix 服务端的 IP 地址
Hostname=agent1			        #136行,指定当前 zabbix 客户端的主机名
---------------------------------------------

6.启动Zabbix-agent2

systemctl start zabbix-agent2.service 
systemctl enable zabbix-agent2.service 
ss -natp | grep zabbix

7.在服务端验证Zabbix-agent2 的连通性

yum install -y zabbix-get.x86_64 
zabbix_get -s '192.168.79.220' -p 10050 -k 'agent.ping'
zabbix_get -s '192.168.79.220' -p 10050 -k 'system.hostname'

8.将客户端加入服务端的监控主机

在Web界面添加agent主机

8.1 点击左边菜单栏【配置】中的【主机】,点击【创建主机】

8.2 再点击上方菜单栏【模板】,选择 Template OS Linux by Zabbix agent,点击 【添加】

十.在Web页面创建自定义监控项模板

1.客户端操作

#切换目录
cd /etc/zabbix/zabbix_agent2.d/

#修改
vim UserParameter_login.conf
----------------------------------
UserParameter=login.user,who|wc -l
-----------------------------------------

#重启服务
systemctl restart zabbix-agent2

2.创建模板

点击左边菜单栏【配置】中的【模板】,点击【创建模板】


【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义


点击 【添加】,此时就可在【名称】中搜索到 Template Login User 了

3.创建应用集(用于管理监控项的)

 点击上方菜单栏【应用集】,点击【创建应用集】、【名称】设置成 Login User、点击 【添加】

4.创建监控项

点击上方菜单栏【监控项】,点击【创建监控项】

【名称】设置成 Number of login users

【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致

【更新间隔】设置成 10s

【历史数据保留时长】Storage period 30d #保留时间可自定义设置

点击 【添加】

5.创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

点击上方菜单栏【触发器】,点击【创建触发器】


【名称】设置成 Number of login users is greater than 3

【严重性】设置成 一般严重

【表达式】点击添加


【监控项】点击选择 Number of login users

【功能】选择 last(),【结果】选择 > 3,点击 【插入】

 点击 【添加】

6.创建图形

 点击上方菜单栏【图形】,点击【创建图形】


【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值


【监控项】点击添加勾选相关监控项 Number of login users

【功能】选择 最大,其它可保持默认值
点击 【添加】

7.将主机与模板关联起来(一个主机可以关联多个模板)

点击左边菜单栏【配置】中的【主机】,点击你要关联的主机

点击上方菜单栏【模板】

选择 Template Login User,点击【更新】

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

测试:多开几个终端

关掉多余的终端

十一.设置邮件报警

 点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】


【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成自己的邮箱地址,例 [email protected]
【认证】选择 用户名和密码
【用户名称】设置成自己的邮箱地址,例 [email protected]
【密码】可登录QQ邮箱页面,点击【设置】–>【账户】中的【生成授权码】,通过短信获取授权码

【描述】可自定义点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择问题,点击【更新】

主题:
Problem: {EVENT.NAME}事件 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
 
内容:
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:   {EVENT.ID}

点击 【添加】,并测试功能


点击左边菜单栏【用户设置】–>【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】设置成 [email protected]
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】

测试邮件报警

增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

十二.Zabbix自动发现与自动注册

1.zabbix自动发现(对于agent2是被动模式)

zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

1.1 确保客户端上的 zabbix-agent2 服务状态正常

systemctl is-active zabbix-agent2.service 

1.2 在 Web 页面删除原有的客户端主机

 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

1.3 在服务端和客户端上配置 hosts 解析

此处注意主机名与IP地址不要写错(例如1就是1,别写01)

vim /etc/hosts
192.168.79.210 server
192.168.79.220 agent1

1.4 在 Web 页面配置自动发现

点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】


【名称】设置成 mynetwork
【IP范围】设置成 192.168.79.1-254
【更新间隔】设置成 30s


【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname


【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【触发器动作】
勾选 【发现动作】

点击 【启用】

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

1.5 可在服务端查看zabbix日志

tail -f /var/log/zabbix/zabbix_server.log

2.zabbix自动注册(对于agent2是主动模式)

zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

2.1 准备环境

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

2.2 配置hosts文件

vim /etc/hosts
192.168.79.210 server
192.168.79.220 agent1

2.3 修改并查看客户端zabbix-agent2配置文件

vim /etc/zabbix/zabbix_agent2.conf
------------------------------------------------------------
HostnameItem=system.hostname		#139行左右,取消注释
------------------------------------------------------------

grep -Ev "^#|^$" /etc/zabbix/zabbix_agent2.conf 
#过滤出客户端配置文件不以#开头且不是空行的内容,内容展示如下
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.79.210
ServerActive=192.168.79.210
Hostname=agent1
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

2.4 在 Web 页面配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】


【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 agent1


点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】


再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】


再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】


点击下方的【添加】

2.5 验证自动注册

服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志

 web页面点击【配置】【主机】

然后刷新等待自动注册内容出现且亮起

十三.部署Zabbix代理服务器

1. 环境准备

在原有zabbix server和zabbix agent1上再添加一台proxy代理服务器

节点 IP地址 安装服务
zabbix-server(内存至少2G,推荐4G 192.168.79.210 zabbix-server-mysql 、zabbix-agent
zabbix-agent 192.168.79.220 zabbix-agent2
zabbix-proxy 192.168.79.230 zabbix-proxy-mysql、zabbix-get

#关闭防火墙和selinux安全模块

systemctl disable --now firewalld   #开机不再启动防火墙
setenforce 0

2. 设置 zabbix 的下载源,安装 zabbix-proxy

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install -y zabbix-proxy-mysql zabbix-get

3. 安装zabbix所需数据库

#安装mysql数据库
yum install -y mariadb-server mariadb

#设置开机自启
systemctl enable  --now mariadb.service  

#初始化并设置密码
mysql_secure_installation 

3.添加数据库用户以及 zabbix 所需的数据库信息

#登入数据库
mysql -uroot -pabc123

#创建zabbix_proxy库并设置为utf-8模式
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;

#创建远程登录用户zabbix_proyx并设置密码为zabbix
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

#刷新配置,退出数据库
flush privileges;
quit

4.查询并导入数据库信息

rpm -ql zabbix-proxy-mysql
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.33/schema.sql.gz |mysql -uroot -pabc123 zabbix_proxy

5.修改配置文件

vim /etc/zabbix/zabbix_proxy.conf
---------------------------------------
Server=192.168.79.210				#30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					#49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					#196行,指定当前数据库 zabbix 用户的密码
---------------------------------------------
systemctl start zabbix-proxy.service  
systemctl enable zabbix-proxy.service

6.所有主机配置/etc/hosts(server、agent1、proxy)

vim /etc/hosts
----------------
192.168.79.210 server
192.168.79.220 agent1
192.168.79.230 proxy

7.在 Web 页面配置 agent 代理

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】

【agent代理程序名称】设置为proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 1192.168.79.230
点击 【添加】

8.客户端配置 agent 使用 proxy

vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.79.230			#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.79.230		#123行,指定 zabbix 代理服务器的 IP 地址

9.创建主机 

 在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】


【主机名称】设置成 agent1
【可见的名称】设置成 agent1-192.168.79.220
【群组】选择 Linux servers
【Interfaces】的【IP地址】设置成 192.168.79.220
【由agent代理程序监测】选择 proxy

【模板】搜索 Linux ,选择 Template OS Linux by Zabbix agent,点击 【添加】

10.客户端和代理服务器上重启服务

[root@agent1 ~]#systemctl restart zabbix-agent2.service
[root@proxy ~]#systemctl restart zabbix-proxy.service

11.验证

点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

服务端查看日志

服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志

十四.设置 zabbix-snmp 监控

1.SNMP协议基本介绍

1.1 SNMP协议介绍

SNMP是简单的网络管理协议,它不是一个软件,而是用于网络管理的一套规则。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。

为什么要使用SNMP协议?

因为网络设备可能来自不同的厂商,如果每个厂商提供一套独立的管理接口,将使网络管理变得越来越复杂,若想对网络中来自不同厂商的设备监控,用基于SNMP开发的软件进行管理最方便的,因为大部分的设备都支持SNMP协议

1.2 SNMP协议的优点

  1. 基于TCP/IP互联网的标准协议,传输层协议一般用UDP
  2. 自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告
  3. 屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本得功能集,使得管理任务与被管理设备的物理特征和实际网络类型相对独立,从而实现对不同厂商设备的管理
  4. 简单的请求-应答方式和主动通告方式相结合,并有超时和重传机制
  5. 报文种类少,报文格式简单,方便解析,易于实现
  6. SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性

1.3 SNMP的网络架构

SNMP网络架构由三部分组成:NMS(网络管理站)、Agent(代理)、MIB(管理信息库)

  • NMS(网络管理站)

NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。可以是一台专门用来进行网络管理的服务器,也可以指某个设备中之中管理功能的一个应用程序。

NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态

  • Agent

Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据,并响应NMS的请求,把管理数据汇报给发送请求的NMS。

Aent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。

  • MIB

任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB就是被管理对象的集合。它定义了被管理对象的一系列的属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看做是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。

2.部署zabbix-snmp监控

2.1 服务端安装 snmp 监控程序

yum install -y net-snmp net-snmp-utils.x86_64

2.2 修改配置文件

vim /etc/snmp/snmpd.conf
---------------------------
view   systemview  included  .1        #第57行:添加此配置
------------------------------------------
systemctl start snmpd

2.3 使用 snmp 命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysname

2.4 在 Web 页面配置 snmp 方式监控

【配置】【主机】点击【Zabbix server】

【添加】SNMP

 

【模板】Template OS Linux by Zabbix agent 取消链接并清理

链接新模板 Template OS Linux SNMP

点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZHUZIH6/article/details/130088533

智能推荐

【Phone ECC】紧急号码的管理及客制化方法_sim卡 ecclist-程序员宅基地

文章浏览阅读614次。[Android Version]Android 5.0/5.1 (L)Android 6.0 (M)Android 7.0(N)Android 8.0(O)[DESCRIPTION]L及之后的版本紧急号码Customer的部分改成了在XML文件中来配置,文件的路径: alps\vendor\mediatek\proprietary\external\EccL..._sim卡 ecclist

BCrypt 加密实现_写一个bcrypt-程序员宅基地

文章浏览阅读1.1k次。Bcrypt百度百科:1、 bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。2、bcrypt算法相对来说是运算比较慢的算法,在密码学界有句常话:越慢的算法越安全。算法越算,黑客破解成本越高.通过salt和const这两个值来减缓加密过程,ta的加密时间(百ms级)远远超过md5(大概1..._写一个bcrypt

LaTeX中的中英文字体设置、混排_latex英文字体-程序员宅基地

文章浏览阅读2.4w次,点赞14次,收藏87次。LaTeX中英文字体设置、混排,ctex宏包引用_latex英文字体

uni-app 消息推送功能UniPush_uniapp消息推送功能-程序员宅基地

文章浏览阅读5.7k次,点赞2次,收藏20次。这里用的是uni-app自带的UniPush1.0(个推服务),所以只针对UniPush1.0介绍实现步骤。当然现在已经出了UniPush2.0(HBuilderX 3.5.1及其以上版本支持),新项目的话还是推荐使用UniPush2.0。如果要使用UniPush2.0,请移步 UniPush 2.0 使用指南。_uniapp消息推送功能

sort与sorted的区别_sort和sorted函数的区别-程序员宅基地

文章浏览阅读1.3w次,点赞41次,收藏217次。一、sort()sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数原型:sort(key,reverse=False)key:用来指定一个函数,此函数在每次元素比较时被调用,此函数代表排序的规则,也就是你按照什么规则对你的序列进行排序;reverse:是用来表明是否逆序,默认的False情况下是按照升序的规则进行排序的,当reverse=True时,便会按照降序进行排序。例如:1、list=[2,24,8,6,35,7,22,30]list.sort()pri_sort和sorted函数的区别

Mutual Supervision for Dense Object Detection(ICCV2021)阅读笔记-程序员宅基地

文章浏览阅读299次。同上一篇一样,这边摸鱼笔记也是关于分类和回归分支的权重设计。Mutual Supervision for Dense Object Detection(ICCV2021)阅读笔记_mutual supervision for dense object detection

随便推点

简单理解磁盘结构-程序员宅基地

文章浏览阅读3.6w次,点赞126次,收藏373次。    偶然看到一道笔试题,所以简单整理了一下磁盘的结构。本文主要介绍传统的磁盘结构,包括盘面、磁道、扇区、柱面、读写数据过程的概念,最后给出所遇到的笔试题。磁盘结构    传统的硬盘盘结构是像下图样子的,它有一个或多个盘片,用于存储数据,盘片多采用铝合金材料;中间有一个主轴,所有的盘片都绕着这个主轴转动,一个组合臂上面有多个磁头臂,每个磁头臂上面都有一个磁头,负责读写数据。..._磁盘结构

python数组(list) 求交集、并集、差集_python计算四个数组的交集代码-程序员宅基地

文章浏览阅读1.4w次,点赞7次,收藏16次。两个集合: a = [1,2,3,4,5,6] b = [3,5,7]1.求交集 方式一: intersection = [i for i in a if i in b] intersection = list(set(a).intersection(set(b))) 结果: [3, 5]2.求并集 union= list(set(a).u..._python计算四个数组的交集代码

其他手机可以安装鸿蒙吗,国内其它的手机厂家不想安装鸿蒙吗?-程序员宅基地

文章浏览阅读1.1k次。谷歌在 I/O 2021开幕式的主题演讲中发布了 Android 12系统;目前 Android 12系统可用于谷歌的 Pixel 手机(Pixel3及以上),以及联想、一加、华硕、OPPO、realme、夏普、Tecno、vivo、TCL、小米和中兴等手机,国内的众多手机厂家即将上线,但是还没有荣耀的消息,华为肯定不要考虑,必然是鸿蒙系统。发布的Android 12第一个Beta版本,可以看到用..._微软手机安装鸿蒙

Java架构师Day24-并发编程之锁-程序员宅基地

文章浏览阅读265次。并发编程之锁ReentrantLockReentrantReadWriteLockConditionReentrantLockReentrantReadWriteLockCondition

携程 Apollo 配置中心 | 学习笔记 序章_apollo分布式配置黑马学习笔记-程序员宅基地

文章浏览阅读7.4k次,点赞11次,收藏45次。Apollo 携程Apollo配置中心目录导航 携程 Apollo 配置中心 | 学习笔记(一) | Apollo配置中心简单介绍 携程 Apollo 配置中心 | 学习笔记(二) | Windows 系统搭建基于携程Apollo配置中心单机模式 携程 Apollo 配置中心 | 学习笔记(三) | 自..._apollo分布式配置黑马学习笔记

什么是人工智能(AI)?—— 你需要知道的三件事-程序员宅基地

文章浏览阅读1.1k次,点赞16次,收藏25次。人工智能 (AI) 是对人类智慧行为的仿真。它通常是设计用来感知环境、了解行为并采取行动的一台计算机或一个系统。想想自动驾驶汽车:此类 AI 驱动系统将机器学习和深度学习等 AI 算法集成到支持自动化技术的复杂环境。据麦肯锡预计,到 2030 年,AI 的全球经济价值将高达 13 万亿美元。这是因为在 AI 浪潮的影响下,几乎各行各业乃至每一个应用领域的工程环节都在转型。除了自动驾驶以外,AI 还广泛应用于以下领域:机器故障预测模型,告知何时需要进行机器保养;健康和传感器分析,如病患监护系统;