【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者

这篇具有很好参考价值的文章主要介绍了【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者,【30天精通Zabbix:从入门到实战的全方位监控之旅】,zabbix,开源,php,运维,python,运维开发

🌟 热烈欢迎 踏上这30天Zabbix学习之旅的每一位朋友!能在这里和大家相聚,我真的感到非常开心与期待!🎉

🎈 今天,我们将共同启程,去探寻在开源监控领域中独领风骚的王者——Zabbix。不论您是维护系统稳定的管理员、还是日夜兼程保障运行的运维工程师,又或是对监控技术有着浓厚兴趣的开发者,Zabbix都将成为您最坚实、最得力的助手。

🚀 在这段精彩的旅程中,我们将深入Zabbix的世界,探索它的每一个细节,共同开启智能监控的全新篇章!希望在这里,您不仅能感受到知识带来的满足,更能体验到一份轻松、愉悦的学习氛围。

💬 请您随时分享您的想法和见解,我们期待着与您一同成长,共同留下这段美好的学习回忆!

👀Zabbix初印象

  🌟Zabbix是一款基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位并解决存在的各种问题。Zabbix由两部分构成,Zabbix server与可选组件Zabbix agent。Zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

🚀Zabbix特点和优势

  1. 🎉 开源免费:Zabbix是一款开源软件,用户可以免费获取并使用,同时可以根据需求进行定制和二次开发。
  2. 📈 强大的监控功能:Zabbix支持对各种网络参数、服务器健康状态、应用性能等进行实时监控,并提供丰富的可视化展示。
  3. 🌐 灵活的扩展性:Zabbix支持分布式监控,可以轻松扩展监控规模,同时提供API接口,方便与其他系统集成。
  4. 🚀 易于部署和管理:Zabbix提供详细的安装部署文档和友好的Web界面,使得部署和管理过程变得简单易行。
  5. 📊 丰富的可视化:提供多种图表和报表,方便数据分析。
  6. 🔒 安全性:支持多种认证方式,保障数据安全。
  7. 💬 社区支持:拥有庞大的用户社区,方便交流和求助。

🔍Zabbix各组件作用详解

  1. zabbix-server:
      zabbix的核心组件,负责接收客户端(如Zabbix Agent、Zabbix Proxy)发送的报告和信息。它是所有配置信息、统计信息和操作数据的中央存储库,负责组织所有的配置、统计数据及配置操作数据。
  2. zabbix-proxy:
      zabbix的可选组件,常用于分布式监控环境中。它可以代替Zabbix server收集性能和可用性数据,并在本地处理这些数据后将其发送到Zabbix Server。这有助于减少Zabbix Server的负载,实现分布式监控,并增强安全性(通过在代理服务器和Zabbix Server之间建立安全通信)。
  3. zabbix-agent:
      zabbix-agent部署在被监控的主机上,用于收集系统信息(如CPU、内存、磁盘、网络使用情况等)并将其发送给Zabbix Server或Zabbix Proxy。它可以通过主动模式(主动发送数据给Zabbix服务器)或被动模式(等待Zabbix服务器请求数据)来工作。Zabbix Agent是一个轻量级的程序,对系统资源的消耗相对较低。
  4. zabbix-agent2:
      zabbix-agent2是zabbix-agent的第二个版本,功能更加强大,采用Go语言编写。它支持Zabbix Agent的所有功能,并可以监控更多的内容,如Docker容器、Ceph、MySQL、Oracle、Redis等。与Zabbix Agent相比,Zabbix Agent2可能提供更高效、更灵活的数据收集和处理能力。
  5. zabbix-java-gateway:
      zabbix-java-gateway是一个可选组件,用于监控Java应用程序。它通过Java Native Interface (JNI)与Java应用程序进行通信,并将监控数据发送到Zabbix服务器。使用Zabbix Java Gateway,可以监控Java应用程序的性能指标,如内存使用量、线程数量等。
  6. zabbix-server-mysql和zabbix-server-pgsql:
      这些组件指的是Zabbix Server使用MySQL或PostgreSQL作为其后端数据库来存储监控数据和配置信息。Zabbix支持多种数据库作为其后端存储,包括MySQL、PostgreSQL等。
  7. zabbix-web-mysql-scl和zabbix-web-pgsql-scl:
      这些组件指的是Zabbix Web界面使用MySQL或PostgreSQL作为其数据库,并且可能与Software Collections(SCL)一起使用。SCL是一种在Red Hat系Linux发行版中提供额外软件包集合的方法,这些软件包可能与系统默认的软件包版本不同。通过使用SCL,可以在同一系统上安装和运行多个版本的软件。
  8. zabbix-apache-conf-scl和zabbix-nginx-conf-scl:
      这些组件指的是为Zabbix Web界面配置的Apache或Nginx的Web服务器配置文件,并且可能与Software Collections(SCL)一起使用。这些配置文件用于定义如何访问Zabbix Web界面以及如何处理传入的Web请求。

🌐Zabbix监控拓扑及原理 📈💡

【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者,【30天精通Zabbix:从入门到实战的全方位监控之旅】,zabbix,开源,php,运维,python,运维开发


Zabbix监控原理:

  1. 部署一个Zabbix监控服务器, 用于存储和处理监控数据;
  2. 如果被监控的是Linux或Windows主机,需要安装客户端程序agent来采集监控数据;
  3. 如果被监控的是网络设备(交换机,路由器等),通过SNMP协议进行监控;
  4. 最后Zabbix监控服务器,将客户端收集来的数据存储到数据库中,通过web页面来管理

🛠️Zabbix快速部署安装(公网)📦🚫🐳

1.资源概览

主机名称 配置 操作系统 设备地址
zabbix-server 2C 2G Centos7.5 172.17.199.35
zabbix-client01 1C 2G Centos7.5 172.17.199.36
zabbix-client02 1C 2G Centos7.5 172.17.199.37

2.服务器基础配置初始化

# 1、所有节点关闭firewalld防火墙
systemctl disable firewalld
systemctl stop firewalld

# 2、关闭selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config
setenforce 0

# 3、关闭swap
swapoff -a # 临时
sed -i 's/.*swap.*/#&/' /etc/fstab # 永久

# 4、配置时间同步
yum install ntpdate -y
ntpdate time.windows.com

# 5、安装依赖
yum -y install vim bash-completion gcc pcre-devel  openssl-devel mysql-devel libxml2 libxml2-devel net-snmp-devel curl-devel libevent-devel httpd

3.安装配置Mysql(Zabbix依赖数据库,此处使用docker安装Mysql)

3.1 安装docker

# 1、将桥接的ipv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1 
net.bridge.bridge-nf-call-iptables = 1
EOF

# 生效
sysctl --system

# 2、下载关于docker依赖环境
yum install -y device-mapper-persistent-data lvm2 libcgroup yum-utils 

# 3、设置下载Docker的镜像源,docker官方yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 4、安装docker20.10.12
yum -y install docker-ce-20.10.12* docker-ce-cli-20.10.12*

# 5、启动服务并设置开机自启动
systemctl enable --now docker

3.2 安装docker-compose

# 1、运行以下命令以下载 Docker Compose 的当前稳定版本👇,要安装其他版本的 Compose,请替换 v2.2.2)
# 		如github访问过慢,可从百度网盘下载,地址链接在最下方
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 2、将可执行权限应用于二进制文件
chmod +x /usr/local/bin/docker-compose

# 3、创建软链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 4、测试是否安装成功
docker-compose version

3.3 安装启动Mysql

# 1、创建docker-compose目录
mkdir -p /opt/docker-compose/docker-compose-mysql

# 2、创建docker-compose-mysql的docker-compose.yaml文件
# 		将{MYSQL_ROOT_PASSWORD: mysql密码}换成自己要设置的mysql密码
cat > /opt/docker-compose/docker-compose-mysql/docker-compose.yaml <<EOF
version: '3'
services:
  mysql:
    image: registry.cn-hangzhou.aliyuncs.com/yuandiehao/mysql:5.7.42
    restart: always
    container_name: mysql-5.7.42
    environment:
      MYSQL_ROOT_PASSWORD: mysql密码
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M;
    ports:
      - 3307:3306
EOF

# 3、启动容器
docker-compose up -d

mysql -h127.0.0.1 -P3307 -uroot -p"mysql密码"

3.4 创建初始数据库并配置用户访问权限

将”zabbix密码“改为自己要设置的zabbix密码即可
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@'%'identified by 'zabbix密码';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> set global log_bin_trust_function_creators = 1;
mysql> flush privileges;
mysql> quit;

4.安装配置ZABBIX

# 1、安装zabbix.repo
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum clean all

yum makecache

# 2、安装zabbix-server-mysql、zabbix-agent、centos-release-scl
yum -y install zabbix-server-mysql zabbix-agent centos-release-scl

# 修改第11行frontend的 enabled=0 为 enabled=1
sed -i '11s/^enabled=.*/enabled=1/' /etc/yum.repos.d/zabbix.repo

# 3、安装zabbix的frontend 包
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl

sed -i '/timezone/c\php_value[date.timezone] = Asia/Shanghai' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 

# 4、导入初始架构和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql  -h127.0.0.1 -P3307  -uzabbix -p'zabbix密码' -Dzabbix

# 5、导入数据库架构后禁用log_bin_trust_function_creators
mysql  -h127.0.0.1 -P3307  -uroot -p'root密码' 

mysql> set global log_bin_trust_function_creators = 0;

# 6、编辑zabbix_server.conf(将“zabbix用户密码”换为自己实际的)
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix用户密码
DBPort=3307
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

5.启动zabbix-server、zabbix-agent

# 设置开机自启
systemctl enable --now zabbix-server.service zabbix-agent.service httpd.service rh-php72-php-fpm

# 查看服务状态和端口
systemctl status zabbix-server.service zabbix-agent.service httpd.service rh-php72-php-fpm

ss -ntulp | grep -E '10050|10051|80|9000'

6、重启服务器zabbix-server

💻ZABBIX页面配置

  • 无脑下一步即可,中间会配置zabbix后端数据库信息和zabbix主机信息。

  • 访问URL为:http://ipaddress/zabbix,默认的账号为Admin,密码为zabbix
【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者,【30天精通Zabbix:从入门到实战的全方位监控之旅】,zabbix,开源,php,运维,python,运维开发【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者,【30天精通Zabbix:从入门到实战的全方位监控之旅】,zabbix,开源,php,运维,python,运维开发

总结🎉

  通过本文的介绍,相信您对Zabbix有了初步的了解。作为一款开源监控系统的王者,Zabbix凭借其强大的功能、灵活的扩展性和易于部署管理的特点,成为了系统管理员、运维工程师和对监控技术感兴趣的开发者们的首选。希望本文能够帮助您顺利上手Zabbix,为您的监控工作带来便利和高效。💪🎈文章来源地址https://www.toymoban.com/news/detail-841609.html

相关资料下载地址📚

  • 官方文档:https://www.zabbix.com/documentation
  • 源码下载:https://www.zabbix.com/download_sources
  • 二进制包下载:https://www.zabbix.com/download_sources
  • 离线包下载链接:https://pan.baidu.com/s/1id06OfspDiKpYslmV_5c7g 提取码:yqpt

到了这里,关于【30天精通Zabbix:从入门到实战的全方位监控之旅】第1天:初探Zabbix:开源监控系统的王者的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C生万物 | 指针入门到进阶全方位覆盖教程

    文章篇幅较长,可前往电脑端进行学习💻 之前很多粉丝私信我说 C语言指针 怎么这么难,看了很多视频都学不懂,于是我写了一篇有关指针从入门到进阶的教学,帮助那些对指针很困扰的同学有一个好的学习途径,下面是本文的参考配套视频,出自b站【鹏哥C语言】,鹏哥讲

    2024年02月09日
    浏览(44)
  • 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Docker-compose使用全解 一)

    Docker Compose是一款用于定义和运行复杂应用程序的Docker工具。在使用Docker容器的应用中,通常由多个容器组成。使用Docker Compose可以摆脱使用shell脚本来启动容器的繁琐过程。 Compose通过一个配置文件来管理多个Docker容器。在配置文件中,我们使用services来定义所有的容器。然后

    2024年01月17日
    浏览(49)
  • 【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解

    GDB全称GNU symbolic debugger,它是诞生于GNU开源组织的(同时诞生的还有 GCC、Emacs 等)UNIX及UNIX-like下的调试工具,是Linux下最常用的程序调试器,GDB 支持调试多种编程语言编写的程序,包括C、C++、Go、Objective-C、OpenCL、Ada 等。但是在实际应用中,GDB 更常用来调试C和C++程序。虽然

    2023年04月17日
    浏览(65)
  • 【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究Spring的核心注解开发和实现指南(Spring5的常见的注解)

    Spring 5.x中常见的注解包括@Controller、@Service、@Repository。当我们研究Spring Boot源码时,会发现实际上提供了更多的注解。了解这些注解对于我们非常重要,尽管目前可能还用不到它们。 注解 功能 @Bean 器中注册组件,代替来的标签 @Configuration 声明这是一个配置类,替换以前的配

    2024年02月16日
    浏览(28)
  • 全方位解析 pinia

    前言 Vue3已经推出很长时间了,它周边的生态也是越来越完善了。之前我们使用Vue2的时候,Vuex可以说是必备的,它作为一个状态管理工具,给我们带来了极大的方便。Vue3推出后,虽然相对于Vue2很多东西都变了,但是核心的东西还是没有变的,比如说状态管理、路由等等。再

    2024年04月25日
    浏览(36)
  • Kotlin全方位-简单解析

    Kotlin是一种现代化的静态类型编程语言,由JetBrains公司开发。它可以在Java虚拟机(JVM)上运行,并且可以与Java代码无缝地进行互操作。Kotlin旨在提供更简洁、更安全、更具表达力和更高效的编程语言。 Android开发:Kotlin被广泛用于Android应用程序的开发。它可以与Java代码互操

    2024年02月10日
    浏览(37)
  • Java——线程睡眠全方位解析

    在 Java 中,让线程休眠的方法有很多,这些方法大致可以分为两类,一类是设置时间,在一段时间后自动唤醒,而另一个类是提供了一对休眠和唤醒的方法,在线程休眠之后,可以在任意时间对线程进行唤醒。 线程睡眠的方法有以下 5 个: Thread.sleep TimeUnit wait Condition LockSu

    2024年02月04日
    浏览(41)
  • kafka知识点全方位讲解

    Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。 Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。 Kafka是一个分布式消息队列:

    2023年04月25日
    浏览(30)
  • 精彩解读:短链接应用全方位探究

    1. 短链接的定义和原理 短链接是一种将长网址转换为短网址的服务,通过简化网址长度,方便用户分享和传播链接。短链接服务通过将长网址映射到短标识符的方式,实现对原始网址的压缩和简化。用户在访问短链接时,系统会将短链接还原为原始长网址,实现跳转到目标网

    2024年04月08日
    浏览(35)
  • SQL全方位攻略:3.SQL标准

    1.数据库介绍 2.SQL介绍 【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) 为了确保不同厂商数据库系统之间的兼容性和互操作性,用于控制SQL查询的行为和数据存储结构等方面的统一性,由国际组织或者国家标准化组织制定

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包