Zabbix监控

news2024/11/25 4:59:22

Zabbix监控

  • 1.Zabbix监控概述
    • 1.1 zabbix是什么
    • 1.2 zabbix监控原理
    • 1.3 Zabbix 6.0新特性
    • 1.4 Zabbix 6.0功能组件
    • 1.5 Zabbix与prometheus区别对比
  • 2. 部署Zabbix6.0
    • 2.1 安装Nginx+PHP
    • 2.2 部署Mariadb数据库
    • 2.3 安装zabbix Server服务端
    • 2.4 部署Web前端,进行访问
    • 2.5 部署客户端zabbix-agent2
  • 3. 总结

1.Zabbix监控概述

作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。
在这里插入图片描述

1.1 zabbix是什么

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

1.2 zabbix监控原理

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

1.3 Zabbix 6.0新特性

(1)Zabbix server高可用防止硬件故障或计划维护期的停机

  • 原生选择加入HA群集配置
  • 定义一个或多个备用节点
  • 实时监控Zabbix server群集节点的状态
  • 不需要外部工具即可将Zabbix server配置为HA群集模式

(2)Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集指标

  • Kubernetes节点和pods的自动发现和监控
  • 无代理方式采集Kubernetes pods和节点的信息
  • 获取Kubernetes节点主机高水平信息

1.4 Zabbix 6.0功能组件

Zabbix Server:端口(10051)
zabbix服务端守护进程,是Zabbix软件的核心组件,Zabbix Agent向其报告可用性、系统完整性信息和统计信息
Zabbix Server也是存储所有配置信息、统计信息和操作信息的核心存储库
Zabbix Server也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员
基本Zabbix Server的功能分解为三个不同的组件:Zabbix server、Web前端、数据库
Zabbix的所有配置信息都存储在Server和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时, 它会被添加到数据库的监控项表里。然后,Zabbix server以每分钟一次的频率查询监控项表中的有效项,接着将它存储在Zabbix server中的缓存里。 这就是为什么Zabbix前端所做的任何更改需要花费两分钟左右才能显示在最新数据段的原因。

数据库
所有配置信息以及Zabbix采集到的数据都被持久存储在数据库中
可以支持MySQL、PostgreSQL、Oracle、DB2、TimescaleDB等多种关系和时序性数据库中。

Web界面
Web界面是Zabbix Server的一部分,用于实现展示和配置的界面。通常(但不一定)和Zabbix server运行在同一台物理机器上。
基于Apache/Nginx + PHP实现,早期只支持LAMP架构,从Zabbix5.0 开始支持LNMP 。

Zabbix Agent:端口(10050)
客户端守护进程,部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给Zabbix Server。从 Zabbix5.0 开始支技 Zabbix Agent2 。

Zabbix Proxy
zabbix分布式代理守护进程,可以代替Zabbix Server采集性能和可用性数据。Zabbix Proxy在Zabbix的部署是可选部分。
Zabbix Proxy的部署可以很好的分担单个Zabbix Server的负载
通常监控大于500台主机时使用,需要进行分布式监控架构部署

Java Gateway
Zabbix要监控Tomcat服务或其它JAVA程序(比例 Elasticsearch、ZooKeeper),需要通过JMX端口,使用Java Gateway做为代理,才能从JAVA 程序中获取数据。
在这里插入图片描述

1.5 Zabbix与prometheus区别对比

在这里插入图片描述

2. 部署Zabbix6.0

###关闭和禁止防火墙开机自启功能
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config

2.1 安装Nginx+PHP

(1)修改主机名为zbx-server

hostnamectl set-hostname zbx-server
su

(2)使用nginx在线源,安装nginx

cd /etc/yum.repos.d
rz -E
#nginx.repo
yum install -y nginx

在这里插入图片描述
(3) 安装PHP

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath

在这里插入图片描述

(4) 修改nginx配置

vim /etc/nginx/conf.d/default.conf 
server {
  listen 80;
  server_name zbx.gzy.com;
  
  location / {
    root /var/www/zbx;
    index  index.php index.html index.htm;
  }
  
  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/zbx$fastcgi_script_name;
    include fastcgi_params;
  }
}

在这里插入图片描述

在这里插入图片描述

(5) 修改php配置

vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

vim /etc/php.ini
max_execution_time = 300		# 368行
max_input_time = 600			# 378行
post_max_size = 80M				# 656行
date.timezone = Asia/Shanghai	# 877行

在这里插入图片描述

(6) 创建目录和测试文件

###创建index.php文件的网页数据文件地址
mkdir -p /var/www/zbx

vim /var/www/zbx/index.php
<?php
phpinfo();
?>

在这里插入图片描述

(7) 启动服务

systemctl restart nginx php-fpm.service
systemctl enable nginx php-fpm.service 
netstat -lntp | grep nginx
netstat -lntp | grep php

在这里插入图片描述

(8) 在/etc/hosts文件中添加本地域名解析,并使用浏览器进行验证访问

###在物理机中添加虚拟主机域名与IP地址的对应关系
C:\Windows\System32\drivers\etc\hosts
192.168.80.20 zbx.kgc.com

###浏览器访问
http://zbx.gzy.com/index.php

在这里插入图片描述

在这里插入图片描述

2.2 部署Mariadb数据库

(1)配置Mariadb数据库的yum源

vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1

(2)安装并启动mariadb数据库

yum install -y mariadb-server mariadb

###启动数据库
systemctl  start  mariadb
systemctl  enable mariadb
netstat -lntp | grep mariadb

在这里插入图片描述
(3)初始化数据库

mysql_secure_installation
#分别输入回车 -> n -> Y (设置root密码:123) -> 后面一路Y

###进入数据库
mysql -u root -p123

在这里插入图片描述
(4)创建zabbix数据库

#创建数据库并指定字符集
CREATE DATABASE zabbix character set utf8 collate utf8_bin;

#创建zabbix数据库用户并授权
GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

在这里插入图片描述
(5)向数据库中导入zabbix数据

#上传源码包zabbix-6.0.13.tar.gz到/opt目录
cd /opt
rz -E
#zabbix-6.0.13.tar.gz
tar xf zabbix-6.0.13.tar.gz

#按照顺序依次导入数据库
cd /opt/zabbix-6.0.13/database/mysql
mysql -uroot -p123 zabbix < schema.sql
mysql -uroot -p123 zabbix < images.sql
mysql -uroot -p123 zabbix < data.sql
mysql -uroot -p123 zabbix < double.sql
mysql -uroot -p123 zabbix < history_pk_prepare.sql

2.3 安装zabbix Server服务端

(1)安装依赖包,创建zabbix用户

yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make

useradd -s /sbin/nologin -M zabbix

在这里插入图片描述
(2)编译安装

cd /opt/zabbix-6.0.13/

./configure \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--with-openipmi \
--with-zlib \
--with-libpthread \
--with-libevent \
--with-openssl \
--with-ldap \
--with-libcurl \
--with-libpcre

make install

在这里插入图片描述
在这里插入图片描述

(3)检查版本

zabbix_server --version

在这里插入图片描述

(4)修改zabbix server配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf 
......
LogFile=/var/log/zabbix_server.log		#38行,指定zabbix日志路径
DBPassword=zabbix					#123行,指定在zabbix监控中,登录zabbix数据库的密码

###创建/var/log/zabbix_server.log文件,并设置所属主用户为zabbix
touch /var/log/zabbix_server.log
chown zabbix.zabbix /var/log/zabbix_server.log

(5)准备systemctl服务管理文件

vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service

[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix

[Install]
WantedBy=multi-user.target

(6) 启动zabbix-server服务

systemctl start zabbix-server.service
systemctl enable zabbix-server.service
netstat -lntp | grep 10051			#zabbix_server默认监听10051端口

在这里插入图片描述

2.4 部署Web前端,进行访问

(1)将zabbix安装包下的目录文件,复制到nginx的网页目录/var/www/zbx下

cp -r /opt/zabbix-6.0.13/ui/* /var/www/zbx
chown -R nginx.nginx /var/www/zbx

在这里插入图片描述

(2)浏览器访问,验证测试

http://zbx.gzy.com/ 

【Default language】选择Chinese(zh_CN),点击下一步
在这里插入图片描述

在这里插入图片描述
【密码】输入zabbix,点击下一步
在这里插入图片描述
【Zabbix主机名称】输入Zabbix-监控;【默认时区】选择 Asia/Shanghai,点击下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成后,默认的登录账号和密码为:Admin/zabbix

在这里插入图片描述

在这里插入图片描述

2.5 部署客户端zabbix-agent2

(1)将zabbix.repo在线源中的国际在线源,更换为aliyun镜像源

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

(2)安装zabbix客户端,实现zabbix服务端自我监控

#zabbix 5.0 版本开始采用golang语言开发的新版本客户端agent2
yum install -y zabbix-agent2

在这里插入图片描述
(3)启动zabbix-agent2服务

systemctl start zabbix-agent2.service
systemctl enable zabbix-agent2.service
netstat -lntp | grep 10050			#客户端zabbix_agent2默认监听10050端口

在这里插入图片描述
在这里插入图片描述

(4)解决 zabbix-server Web页面中文乱码问题
在这里插入图片描述

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /var/www/zbx/assets/fonts/DejaVuSans.ttf

(5)刷新浏览器页面

在这里插入图片描述

3. 总结

虚拟机

Windows  VMWare workstation   个人版
VMWare Sphere + ESXI        商用方案
KVM       基于Linux内核创建的虚拟机
XEN

云平台

公有云(方便、便宜)   *阿里云  华为云  腾讯云  青云  天翼云  移动云  联通云 AWS亚马逊云  google谷歌云  Azure微软云
私有云(安全)  openstack (KVM)
混合云

分布式应用

监控  zabbix  prometheus
日志  ELK->EFLK -> EFLFK
消息队列   Kafka + Zookeeper   
存储   Ceph GFS MFS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

对给定的两个日期之间的日期进行遍历

每日一练:对给定的两个日期之间的日期进行遍历 题目 对给定的两个日期之间的日期进行遍历&#xff0c;比如startTime是2014-07-11&#xff1b;endTime是2014-08-11 如何把他们之间的日期获取并遍历出来。 思路与分析 不难看出&#xff0c;选项的4段实现代码中&#xff0c;除…

产品经理必须懂的api接口文档编写规范,api接口文档入门

很多产品经理刚接触 API 接口工作时&#xff0c;脑子一片空白&#xff0c;不理解接口&#xff08;API&#xff09;是什么&#xff0c;更看不懂接口开发文档。那么&#xff0c;作为一个不懂技术的产品经理&#xff0c;该如何看懂接口文档。今天这篇文章就跟大家好好巴拉巴拉。 …

一次阿里云Schedulerx换成Spring定时任务的过程

1、当前现状 所有的任务已经迁移到阿里云Schedulerx&#xff1b;阿里云Schedulerx是按照调用次数收费&#xff0c;有些任务每秒调用一次&#xff0c;费用太高&#xff1b; 2、明确需求 需要把执行非常频繁的定时任务从阿里云迁移&#xff08;阿里云收费根据调用次数&#xff0c…

基于matlab使用迭代方法为语义分割网络生成对抗性示例(附源码)

一、前言 此示例说明如何使用基本迭代方法 &#xff08;BIM&#xff09; 为语义分割网络生成对抗性示例。 语义分割是将图像中的每个像素分配给类标签的过程&#xff0c;例如汽车、自行车、人或天空。语义分割的应用包括自动驾驶的道路分割和医疗诊断的癌细胞分割。 神经网络…

5、架构:通用 Schema 设计

作为前端开发一定会非常熟悉 AST 抽象语法树&#xff08;Abstract Syntax Tree&#xff09;&#xff0c;当浏览器加载 JS 代码时&#xff0c;它会首先将代码转换为一棵抽象语法树&#xff08;AST&#xff09;&#xff0c;然后再根据 AST 来渲染对应的 DOM 结构&#xff0c;对于…

接口自动化核心知识点浓缩,为面试加分

日常接触到的接口自动化从实际目标可以划分为两大类&#xff1a; 为模拟测试数据而开展的接口自动化 这种接口自动化大多是单次执行&#xff0c;目的很明确是为了功能测试创造测试数据&#xff0c;节约人工造数据的时间和人工成本&#xff0c;提高功能测试人员的测试效率。 …

Nuendo 12.0.70 资源下载及功能介绍

简介 Nuendo 12是一款屡获殊荣的影视、游戏和沉浸式环绕声音频后期制作软件&#xff0c;Nuendo 12在对白录音和编辑方面做了重大改进&#xff0c;为你的录音带来新声。Nuendo12把“对白”制作放到一个非常重要的位置&#xff0c;比以前更加贴近用户&#xff0c;它甚至起了一个…

读书笔记-《ON JAVA 中文版》-摘要19[第十八章 字符串-2]

文章目录 第十八章 字符串6. 常规表达式6.1 基础6.2 创建正则表达式6.3 量词6.4 CharSequence6.5 Pattern 和 Matcher6.5.1 find()6.5.2 组&#xff08;Groups&#xff09;6.5.3 start() 和 end()6.5.4 split()6.5.5 替换操作6.5.6 reset() 7. 扫描输入7.1 Scanner 分隔符7.2 用…

Python 解释器

文章目录 每日一句正能量前言交互式编程脚本式编程 每日一句正能量 不是因为生活太现实&#xff0c;而对生活失望&#xff1b;而是知道生活太现实&#xff0c;所以更要用心的活下去。给自己一个拥抱。 前言 Python 解释器是运行 Python 代码的工具&#xff0c;主要分为官方提供…

MySQL索引结构(面试题)、索引分类、语法

2索引 2.1 索引概述 2.1.1 介绍 ​ 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足 特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff…

【2022吴恩达机器学习课程视频翻译笔记】3.2线性回归模型-part-2

3.2线性回归模型-part-2 Let’s look in this video at the process of how supervised learning works. Supervised learning algorithm will input a dataset and then what exactly does it do and what does it output? Let’s find out in this video. Recall that a tr…

BeanUtils.copyProperties的11个坑

前言 我们日常开发中&#xff0c;经常涉及到DO、DTO、VO对象属性拷贝赋值&#xff0c;很容易想到org.springframework.beans.BeanUtils的copyProperties 。它会自动通过反射机制获取源对象和目标对象的属性&#xff0c;并将对应的属性值进行复制。可以减少手动编写属性复制代码…

高级Android开发人员枯竭,在这个利润丰厚的领域如何蓬勃发展

为什么高级人才供不应求&#xff1f; 技术行业的发展速度非常快&#xff0c;新的技术和工具不断涌现&#xff0c;导致技能需求不断演变。这使得不断更新和学习变得至关重要。行业发展速度超过了教育和培训体系的能力跟进。传统教育往往滞后于最新的技术趋势和实践&#xff0c;…

暑期数学建模赛事总结--小白快速入门数学建模

暑期数学建模赛事总结–小白快速入门数学建模 欢迎各位大神小白一起参加数学建模&#xff01;&#xff01;&#xff01; 这是我自己总结的一些关于数学建模的代码和资料&#xff0c;放在github上供大家参考&#xff1a;https://github.com/HuaandQi/Mathematical-modeling.git…

线程 线程池

大屏展示 10个线程同时查询统计各个表&#xff0c;并行处理&#xff0c; 主线程 把任务投递 给 线程池&#xff0c;线程池中调出一个线程去处理 希望以一种 轻量级的 方式 实现 "i" 线程安全 &#xff1a; compareAndSwap() : 针对某个变量实现 或 -- 确保线程安全 …

QSciintilla_gpl-2.10.8版本在QT6中编译问题解决方案汇总

1. QWheelEvent &#xff08;1&#xff09;event->delta()需修改为event->angleDelta().y()&#xff1b; 2. sprintf": 不是 "QString" 的成员 sprintf->asprintf 3. 无法打开QTextCodec .pro文件中添加 greaterThan(QT_MAJOR_VERSION, 5) { …

试运行llama-7B、vicuna-7b-delta-v1.1和vicuna-7b-v1.3

Chatgpt的出现给NLP领域带来了让人振奋的消息&#xff0c;可以很逼真的模拟人的对话&#xff0c;回答人们提出的问题&#xff0c;不过Chatgpt参数量&#xff0c;规模&#xff0c;训练代价都很昂贵。 幸运的是&#xff0c;出现了开源的一些相对小的模型&#xff0c;可以在本地或…

MySQL安装失败starting the sever

MySQL安装失败starting the sever 如果电脑是第一次安装MySQL&#xff0c;一般不会出现这样的报错。starting the sever失败&#xff0c;通常是因为上次安装该软件没有清除干净。 第一种解决方法&#xff1a;完全卸载mysql&#xff0c;重新安装 完全卸载该软件的办法&#…

Linux基础开发工具(yum、vim、gcc/g++、Makefile、gdb、git)

目录 一. yum yum list yum install yum remove 二. vim 命令模式 底行模式 多文件操作 批量注释 三. gcc/g 四. make/Makefile 五.gdb 六. git git clone git commit git push 一. yum 作为一款操作系统&#xff0c;免不了需要一些定制化的内容&#xff0c;这…

工地为什么要做能耗监测?

随着全球气候变化的影响日益严重&#xff0c;环保意识逐渐深入人心&#xff0c;绿色建筑和节能减排成为了建筑行业的热门话题。而在建筑工地中&#xff0c;能耗监测成为了一项不可或缺的任务。本文将从以下几个方面来探讨工地为什么要做能耗监测。 首先&#xff0c;能耗监测有助…