目录
1、永久关闭并且现在就关闭防火墙,关闭selinux以及更改主机名
①浏览器输入自己部署的zabbix地址的服务器;本机的是192.168..170.111/zabbix/setup.php
②点击next step进入下一步检查zabbix配置,所有的状态都应该是ok,若有问题则需要去服务器去检查配置。
⑦结束后登录验证,默认账户为:admin默认密码是:zabbix
⑨修改zabbix语言为中文,点击user settings然后选择语言为中文,点击update保存即可
1、关闭防火墙和selinux,更改主机名并运行bash刷新主机名
3、设置zabbix的下载源,安装zabbix-agent2
②再点击上方菜单栏的模板,选择Temliate OS Linux by Zabbix agent,点击添加
5、创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
6、所有主机配置/etc/host(server,agent1,proxy)
一、Zabbix简介
Zabbix是一款开源免费的,自动化发现服务与网络设备的分布式监控,可以监视应用层服务并以web前端页面集中管理并展示。
二、Zabbix构成
Zabbix主要由以下5个组件构成:
1、server
zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。
2、web页面
web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。
3、数据库
zabbix数据库内存储了配置信息,统计信息等zabbix相关内容。
4、proxy
zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。
5、agent
zabbix agent通常部署再被监控目标上,用于主动监控本地资源和应用程序,并讲监控的数据发送给zabbix server
三、zabbix监控对象
zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。
zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。
1、硬件监控:
Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。
2、系统监控:
Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
3、java监控:
Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。
4、网络设备监控:
Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。
5、应用服务监控
6、mysql数据库监控
7、url监控
四、Zabbix工作流程
1、Zabbix的工作流程:
①zabbix agent在主机上采集监控数据,将采集的数据传给zabbix server
②zabbix server收到数据后将数据存在自己的数据库中
③然后从数据库中提取数据进行分析,是否需要报警
④分析完成后server在web前端页面进行界面数据展示
2、zabbix的数据收集模式
①主动模式:
zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据交给zabbix server。就是agent向server发起连接
②被动模式:
zabbix server向agent请求获取监控项目的数据,zabbix agent返回数据。server向agent发起连接。
3、zabbix的运行机制
4、zabbix进程详解
在默认情况下,zabbix有6个工作进程,分别是zabbix_agent,zabbix_get,zabbix_proxy,zabbix_sender,zabbix_server和zabbix_geteway。
①zabbix_agentd
zabbix_agent为zabbix客户端守护进程,主要负责收集客户端监控项数据。
②zabbix_server
zabbix_server服务端守护进程,主要负责收集zabbix客户端数据
③zabbix_proxy
zabbix_proxy是zabbix代理进程,其功能类似于server,作用上类似于中转站,最终会把收集到的数据再次提交给zabbix_server
④zabbix_get
zabbix_get是zabbix工具,通常运行在zabbix server或者zabbix proxy上,用于远程获取客户端信息,通常用于排错。
⑤zabbix_sender
zabbix_sender是一个zabbix工具,通常运行在zabbix客户端,通常用于耗时较长的检查,其作用是主动发送数据。
⑥zabbix_java_gateway
zabbix_java_gateway是zabbix2.0之后引入的新功能,可以是用户java方面的设备,但是其只能主动获取数据,而不能被动获取数据。
五、Zabbix的监控架构
在实际生产环境中,根据网络环境和监控规模的不同,zabbix一共有三种监控架构,分别是server-client架构、master-node-client架构和server-proxy-client架构。
1、server-client架构
就是zabbix最简单的架构,监控机器和被监控机器之间不经过任何处理,直接由zabbix-server和zabbix-client之间进行数据交换。适用于网络比较简单,尽量在局域网内,识别比较少的监控环境时用。
2、server-proxy-client架构
server-proxy-client其中proxy和server,client之间沟通的桥梁,proxy本身有前端,而本身并不存放数据,只是将agent发来的数据进行暂时存放,而后在提交给server,这种架构经常是master-node-client,一般适用于挂机房,跨网络的中型网络监控架构。
3、master-node-client架构
master-node-client是zabbix最复杂的监控架构,适用于跨网络机房设备多的大型环境。每个node同时连接一个server端,node下面可以接proxy端,也可以直接连接client,node有自己的配置文件其要做的是将配置信息和监控数据向master进行数据同步,maser故障损坏对node其下架结构的完整性无任何影响。
4、zabbix的运行机制
zabbix是C/S架构是由zabbix server和srver 主从
zabbixserver:负责存储展示硬件信息,通过B/S模式传给web端展示配置
zabbix agent:监控收集服务器信息,端口号为10050
六、Zabbix的部署
zabbix-server内存至少2G,推荐4G
systemctl disable --now firewalld
#永久关闭并现在立即关闭防火墙
setenforce 0
#关闭selinux
hostnamectl set-hostname zbx-server
#更改主机名
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#获得zabbix下载yum源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
vim zabbix.repo
#编辑配置文件 开启安装源
[zabbix-frontend]
......
enabled=1 #1表示开启安装源
......
#进入yum源目录文件并使用sed将国外源替换为阿里云源
yum clean all && yum makecache
#清除原理yum源缓存并加载新的yum
yum install -y zabbix-server-mysql zabbix-agent
#安装zabbix客户端和服务端
yum install -y centos-release-scl
#安装scl,原因为便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4zabbix要求php版本为7.2以上,若达到要求则无须安装scl
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#安装连接数据库和连接apache前端页面的连接工具
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
#安装并开启数据库
mysql_secure_installation
#初始化数据库,并设置密码,如 abc123选择执行,先回车,然后输入2次自己想设置的密码,其他全部yes即可
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#创建zabbix库并设置库格式为utf-8
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
#创建并授权zabbix远程登录用户密码为zabbix
flush privileges;
#刷新数据
rpm -ql zabbix-server-mysql
#查询zabbix数据库中配置文件的位置
zcat /usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz | mysql -uroot -pabc123 zabbix(导入的库名)
#将zabbix数据库格式导入数据库中,此处需要等待10s左右
vim /etc/zabbix/zabbix_server.conf
DBPassword=zabbix #124行,去掉#注释然后指定 zabbix 数据库的密码
#编辑zabbix配置文件将设置的远程登录用户的密码zabbix输入进去保存退出
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai #24行,取消注释,修改时区
#编辑php的配置文件,将时区改为亚洲上海,注意去掉前面的;在此文件中表示注释
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#重启zabbix服务php服务并设置开机自启
1、永久关闭并且现在就关闭防火墙,关闭selinux以及更改主机名
2、下载yum源并检查是否下载完成
3、安装zabbix软件包
4、初始化数据库并设置密码,并创建数据库信息
5、zabbix服务器配置数据库
6、启动zabbix相关服务
7、zabbix图形化页面显示设置
①浏览器输入自己部署的zabbix地址的服务器;本机的是192.168..170.111/zabbix/setup.php
②点击next step进入下一步检查zabbix配置,所有的状态都应该是ok,若有问题则需要去服务器去检查配置。
③所有的配置都正常则继续点击下一步
④连接数据库之后下一步配置zabbix信息
⑤配置完成之后zabbix后检查配置项然后点击下一步安装
⑥信息检查完成之后点击结束安装完成
⑦结束后登录验证,默认账户为:admin默认密码是:zabbix
⑧登录完成之后页面如下
⑨修改zabbix语言为中文,点击user settings然后选择语言为中文,点击update保存即可
七、Zabbix监控使用
1、安装zabbix监控客户端
再开启一台服务器进行zabbix agent客户端系统安装
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
bash
#关闭防火墙和selinux,更改主机名并运行bash刷新主机名
yum install -y ntpdate
ntpdate -u ntp.aliyun.com
#服务端和客户端都配置时间同步
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
#客户端配置时区,与服务器保持一致
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
yum install -y zabbix-agent2
#设置 zabbix 的下载源,安装 zabbix-agent2
vim /etc/zabbix/zabbix_agent2.conf
#修改配置文件,修改内容如下
Server=192.168.170.113
#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.170.113
#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01
#131行,指定当前 zabbix 客户端的主机名
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
netstat -natp | grep zabbix
#设置zabbix-agent2开机自启并现在启动,检查端口是否存在
1、关闭防火墙和selinux,更改主机名并运行bash刷新主机名
2、设置时间同步,与服务器保持一致
3、设置zabbix的下载源,安装zabbix-agent2
4、安装zabbix-agent2,并修改配置文件
5、启动zabbix-agent2
6、在服务端验证zabbix-agent2的连通性
7、将客户端加入服务端的监控主机
在web页面添加agent主机
①点击左边菜单栏【配置】中的【主机】,点击创建主机
②再点击上方菜单栏的模板,选择Temliate 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
群组选择Tempate
描述可以自定义
3、创建应用集(用于管理监控项目的)
点击上方菜单栏【应用集】,点击【创建应用集】、【名称】设置成login user 点击添加
4、创建监控项
点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period 30d #保留时间可自定义设置
点击 【添加】
5、创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加
6、创建图形
点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成number of login users
【宽,高】可直接采用默认值
7、将主句与模板关联起来(一个主机可以关联多个模板)
点击左边菜单栏【配置】中的【主机】,点击要关联的主机
点击上方菜单栏【模板】
选择 Template Login User,点击【更新】
此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控指标
测试:多开几个终端
关闭多余的终端
九、设置邮件报警
点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成自己的邮箱地址,例 00000000@qq.com
【认证】选择 用户名和密码
【用户名称】设置成自己的邮箱地址,例 0000000@qq.com
【密码】可登录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
【收件人】设置成 0000000@163.com
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】
点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】
测试邮件报警
增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警
十、zabbix自动发现与自动注册
1、zabbix自动发现(对于agent2是被动模式)
zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
①确保客户端上的zabbix-agent2服务状态正常
systemctl is-active zabbix-agent2.service
②在web页面删除原有的客户端主机
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击删除
③在服务端和客户端上配置hosts解析
此处注意主机名与ip地址不要写错
vim /etc/hosts
192.168.170.111 server
192.168.170.113 agent1
④在web页面配置自动发现
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 mynetwork
【IP范围】设置成 192.168.170.1-254
【更新间隔】设置成 30s
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【触发器动作】
勾选 【发现动作】
点击启用
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
⑤可在服务端查看zabbix日志
tail -f /var/log/zabbix/zabbix_server.log
2、zabbix自动注册(对于agent2来说是主动模式)
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。
①准备环境
点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击删除。
②配置hosts文件
vim /etc/hosts
192.168.170.111 server
192.168.170.113 agent1
③修改并查看客户端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.170.111
ServerActive=192.168.170.111
Hostname=agent1
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
④在web页面配置自动注册
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 agent1
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】
点击下方的【添加】
⑤验证自动注册
服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志
web页面点击【配置】【主机】
然后刷新等待自动注册内容出现且亮起
十一、部署zabbix代理服务器
1、环境准备
在原有zabbix server和zabbix agent1上再添加一台proxy代理服务器
节点 | IP地址 | 安装服务 |
---|---|---|
zabbix-server(内存至少2G,推荐4G) | 192.168.170.111 | zabbix-server-mysql 、zabbix-agent |
zabbix-agent | 192.168.170.113 | zabbix-agent2 |
zabbix-proxy | 192.168.170.114 | 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.170.111 #30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy #49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix #196行,指定当前数据库 zabbix 用户的密码
---------------------------------------------
systemctl start zabbix-proxy.service
systemctl enable zabbix-proxy.service
6、所有主机配置/etc/host(server,agent1,proxy)
vim /etc/hosts
----------------
192.168.170.111 server
192.168.170.113 agent1
192.168.170.114 proxy
7、在web页面配置agent代理
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 1192.168.79.230
点击 【添加】
8、客户端配置agent使用proxy
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.170.114 #80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.170.114 #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协议的基本介绍
①snmp协议介绍
SNMP是简单的网络管理协议,它不是一个软件,而是用于网络管理的一套规则。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。
②为什么要使用snmp协议
因为网络设备可能来自不同的厂商,如果每个厂商提供一套独立的管理接口,将使网络管理变得越来越复杂,若想对网络中来自不同厂商的设备监控,用基于SNMP开发的软件进行管理最方便的,因为大部分的设备都支持SNMP协议
③snmp协议的优点
1、基于TCP/IP互联网的标准协议,传输层协议一般用UDP
2、自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告
3、屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本得功能集,使得管理任务与被管理设备的物理特征和实际网络类型相对独立,从而实现对不同厂商设备的管理
4、简单的请求-应答方式和主动通告方式相结合,并有超时和重传机制
5、报文种类少,报文格式简单,方便解析,易于实现
6、SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性
④snmp的网络架构
SNMP网络架构由三部分组成:NMS(网络管理站)、Agent(代理)、MIB(管理信息库)
1、NMS(网络管理站)
NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。可以是一台专门用来进行网络管理的服务器,也可以指某个设备中之中管理功能的一个应用程序。
NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态
2、Agent
Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据,并响应NMS的请求,把管理数据汇报给发送请求的NMS。
Aent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。
3、MIB
任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB就是被管理对象的集合。它定义了被管理对象的一系列的属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看做是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。
2、部署zabbix-snmp监控
①服务端安装 snmp 监控程序
yum install -y net-snmp net-snmp-utils.x86_64
②修改配置文件
vim /etc/snmp/snmpd.conf
---------------------------
view systemview included .1 #第57行:添加此配置
------------------------------------------
systemctl start snmpd
③使用snmp命令
snmpwalk -v 2c -c public 127.0.0.1 sysname
④在web页面配置snmp方式监控
【配置】【主机】点击【Zabbix server】
【添加】SNMP
【模板】Template OS Linux by Zabbix agent 取消链接并清理
链接新模板 Template OS Linux SNMP
点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式