Linux--zabbix网络监控系统

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: Linux--zabbix网络监控系统

简介:

zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix特点:

       数据收集,灵活的阈值定义,高度可配置的警告,实施绘图,web监控能力,广泛的可视化选项,历史数据存储,容易配置,使用模板,网络发现,快速的web接口,Zabbix API,权限系统,功能齐全且易于扩展的代理,二进制守护进程,为复杂环境准备


zabbix重要组件:

zabbix Server:负责接收Agent发送报告信息的核心组件

Database storage:负责存储所有的配置信息以及收集的数据

web interface:是zabbix的GUI接口

Pxory:属于可选组件,常用于分布式监控环境,可减少Server压力

Agent:部署在被监控的主机上

zabbix进程:

zabbix_agentd:客户端守护进程

zabbix_get:zabbix工具是单独使用的命令

zabbix_sender:用于发送数据给server或者prixy

zabbix_server:zabbix服务端守护进程

zabbix_proxy:zabbix代理守护进程

zabbix_java_gateway:在zabbix2.0之后引入的一个功能

zabbix监控架构:


       server-client架构:是zabbix的最简单的架构,监控机,和被监控机之间不经过任何代理,直接在zabbix server和zabbix agent之间进行数据交互,适用于网络比较简单,设备比较少的监控环境。


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


       server-proxy-client结构:proxy是server,client之间沟通的一个桥梁,proxy本事没有前端,而且其本事并不存放数据,只是将agentd发送的数据暂时存放,而后再提交server,该结构是和master-node-client架构做比较的结构,一般适用于跨机房,跨网络的中型网络架构的监控

一,部署zabbix环境

       初始化

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@localhost ~]# ip a 
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:f1:3c:af brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::2821:f437:c2ab:5ca/64 scope link tentative 
       valid_lft forever preferred_lft forever

1,安装MariaDB

[root@localhost ~]# yum install -y mariadb-server mariadb
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysqladmin -u root password "123456"

2.安装zabbix

[root@localhost ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent

   安装zabbix之后需要配置数据库,并赋予权限,增加数据库的安全性

[root@localhost ~]# mysql -u root -p
Enter password: 
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)

    导入数据库SQL脚本

1. [root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix
2. Enter password:

检查编辑配置文件,指定一下用户密码

1. [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf 
2. DBPassword=123456

开启zabbix服务

[root@localhost ~]# systemctl start zabbix-server.service 
[root@localhost ~]# systemctl start zabbix-agent.service   #开启客户端
[root@localhost ~]# systemctl enable zabbix-server.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.

 配置zabbix web接口

[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf 
        php_value date.timezone Asia/Shangshai
[root@localhost ~]# systemctl start httpd

   使用web网页安装zabbix服务,使用浏览器登录192.168.2.1/zabbix/setup.php,来安装zabbix服务。

       指定数据库配置,在配置数据库中,输入刚刚配置过的mariaDB数据库的用户名,和密码。

傻瓜式下一步就可以,进入登录界面

注: 默认用户名为Admin,默认密码为zabbix

        成功进入登录界面

需要提前下载好的simkai.ttf配置文件,配置Zabbix防止中文乱码

[root@localhost ~]# cp /mnt/simkai.ttf /usr/share/zabbix/fonts/
[root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php 
define('ZBX_GRAPH_FONT_NAME',   'simkai');

二,Zabbix添加被监控设备

       一,zabbix监控Linux服务器

[root@localhost ~]# yum -y install zabbix-agent

   修改agent的配置文件/etc/zabbix/zabbix_agentd.conf。指定Server与ServerActive配置项指定zabbix服务器地址。

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server = 192.168.2.1
ServerActive = 192.168.2.1
Hostname = linux-server001

     开启agent服务器,默认端口为10050,如果开启防火墙,需要开放响应端口

[root@localhost ~]# systemctl start zabbix-agent.service 
[root@localhost ~]# netstat -anpt | grep "agent"
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      14766/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      14766/zabbix_agentd 
[root@localhost ~]# 

在zabbix服务器上添加主机,配置--》主机--》创建主机--》添加主机名为”linux-server001“,群组为”Linux servers“的主机。

   选择模板界面,模板选择”Template OS Linux“,点击添加按钮,完成主机添加

       查看"ZBX"为绿色,表示添加成功

    二,Zabbix监控Windows服务器

在windows服务器上安装agent程序,在windows客户端压缩包zabbix_agents_3.2.0.win.zip压缩。

修改配置项:

Server=192.168.2.1

ServerActive=192.168.2.1

Hostname=windows-server001

        到zabbix服务器上添加主机

选择模板界面,模板选择为”Template OS Windows“ ,单击添加按钮,完成

查看是否连接成功,查看ZEX是否显示为绿色,要等待一段时间,刷新网页

三,zabbix监控网络设备

       首先要配置你要管理的网络设备,我这里以路由器为例,需要配置地址,开启SNMP协议,才可以进行连接

R1# config        #进入全局模式
R1(config)#interface f0/0        #进入接口
R1(config-if)#ip add 192.168.2.100 255.255.255.0        #配置IP地址和子网掩码
R1(config-if)#no shu        #激活端口
R1(config-if)#exit        #返回上一种模式
R1(config)#no ip routing    #关闭三层的路由模式
R1(config)#snmp-server community centos RO        #设置被服务器轮询的只读共同体
R1(config)#snmp-server enable traps config        #允许发送trap消息
R1(config)#snmp-server host 192.168.2.100 centos    #设置发送trap消息的共同体

 配置主机--》填写主机名称--》添加群集网络设备--》设置SNMP接口

        添加模块” Template Module interfaces SNMPv1 “

添加宏,设置{$SNMP_TIMEOUT}宏,设置为可用值与上面配置路由器的trap消息的共同体相同。

       查看配置成功,SNMP为绿色

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
86 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
6天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
129 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
7天前
|
机器学习/深度学习 人工智能 算法
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 '美式足球', '棒球', '篮球', '台球', '保龄球', '板球', '足球', '高尔夫球', '曲棍球', '冰球', '橄榄球', '羽毛球', '乒乓球', '网球', '排球'等15种常见的球类图像作为数据集,然后进行训练,最终得到一个识别精度较高的模型文件。再使用Django开发Web网页端可视化界面平台,实现用户上传一张球类图片识别其名称。
101 7
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
|
2天前
|
运维 监控 安全
网络安全基础:深入理解防火墙与入侵检测系统
【6月更文挑战第27天】本文探讨了防火墙和入侵检测系统(IDS)在网络安全中的核心作用。防火墙执行访问控制和数据包过滤,隔离内外网络,但可能无法应对所有威胁。IDS则实时监控网络,通过异常和误用检测发现潜在威胁,提供第二道防线。两者的协同工作增强了防御能力,降低了误报,实现了快速响应,共同构建全面的网络安全防护。理解和有效部署这两者对于保障信息安全至关重要。
|
3天前
|
弹性计算 安全 Cloud Native
Alibaba Cloud Linux镜像系统超好用!兼容CentOS生态,性能稳定性绝对可以!
Alibaba Cloud Linux是阿里云的自研Linux发行版,兼容CentOS/RHEL,提供长期免费支持。它针对云服务器ECS优化,适用于多种场景,如Web服务、云原生应用等。Alibaba Cloud Linux 3基于Anolis OS 8,提供安全、高性能、十年维护及丰富的开源生态。用户可在ECS购买时选择镜像安装,支持多架构并提供热补丁、解决方案和快速启动版。更换ECS操作系统是免费的。
36 5
|
1天前
|
域名解析 网络协议 Linux
Linux系统下DNS配置指南
Linux系统下DNS配置指南
15 1
|
7天前
|
安全 物联网 Linux
学习Linux对网络安全的重要性
**学习Linux对网络安全至关重要:** 1. 开源操作系统广泛应用于服务器、网络设备,掌握Linux是安全专家必备技能。 2. Linux内置安全特性,如最小权限和防火墙,加上丰富的安全工具,提供强大保障。 3. 可定制性允许灵活配置,满足安全需求,开源社区提供持续更新和教育资源。 4. 学习Linux能提升攻防能力,用于系统加固和渗透测试,适应跨平台安全场景。 5. 随着云计算和物联网发展,Linux在网络安全中的角色日益关键。
31 3
|
6天前
|
Linux 数据处理
Linux中的nproc命令:轻松查看系统CPU核心数
`nproc`命令在Linux中用于查看CPU核心数,简洁高效,无参数直接运行。它读取`/proc/cpuinfo`获取信息,适用于资源分配。例如,`nproc`显示核心数,`nproc --all`(非标准选项,可能需结合其他命令)展示更多详情。在脚本中,可将`nproc`输出赋值给变量以适应动态资源管理。使用时注意文件访问权限,检查结果准确性,并结合其他工具如`lscpu`获取更全面硬件信息。
|
1天前
|
Linux Perl
如何在Linux系统中确定CPU架构
如何在Linux系统中确定CPU架构
6 0
|
1天前
|
Linux
深入探索与实践Linux系统中的modprobe命令
深入探索与实践Linux系统中的modprobe命令
2 0

热门文章

最新文章