当前位置: 首页 > news >正文

Linux部署Zabbix主机监控

192.168.136.55  服务端

192.168.136.56  客户端

一、服务端

1.1 安装lamp环境

#关闭防火墙以及SELINUX
systemctl disable firewalld
systemctl stop firewalld
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
setenforce 0设置yum源
yum install epel-release -y   设置epel源为清华源
#若失败,使用wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -e 's!^metalink=!#metalink=!g' \-e 's!^#baseurl=!baseurl=!g' \-e 's!//download\.fedoraproject\.org/pub!//mirrors.tuna.tsinghua.edu.cn!g' \-e 's!//download\.example/pub!//mirrors.tuna.tsinghua.edu.cn!g' \-e 's!http://mirrors!https://mirrors!g' \-i /etc/yum.repos.d/epel*.repo设置mysql源
vi /etc/yum.repos.d/mysql.repo
[mysql]
name=mysql5.7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0yum -y install httpd php php-mysqlnd php-gd #安装mysql最好单独yum,有报错信息可以及时查询,且不建议-y
yum install mysql-community-server

 1.2 安装zabbinx3.4

如果源失效了请自行更换,zabbix官方的源比较慢,建议用国内的,更换版本只需要改一下3.4的位置。

#这里会比较慢,一分钟左右,不要中断
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm#注释原生的源,添加阿里云源baseurl属性,需要添加三处,此处可以自定义版本,此处是4.0版本,我改成3.4版本了
vi /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591yum clean all#由于缺少iksemel报错,如没有报错请跳过
yum install http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpmyum install zabbix-proxy-mysql 
yum install zabbix-web-mysql 

zabbix_server -V 查看版本

1.3 配置数据库

systemctl start mysqld
systemctl enable mysqldmysql #进入SQL命令行如果进入失败,则是mysql给了一个初始密码,此处初始密码:D(TGyn9up_xu
grep password /var/log/mysqld.log
2023-04-24T15:27:23.624968Z 1 [Note] A temporary password is generated for root@localhost: D(TGyn9up_xu
2023-04-24T15:28:20.088182Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)更改root初始密码,否则无法操作
set global validate_password_policy=LOW;
ALTER USER USER() IDENTIFIED BY 'zabbix1234';create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'zabbix1234';
create user zabbix@'%' identified by 'zabbix1234';
grant all privileges on zabbix.* to zabbix@localhost;
grant all privileges on zabbix.* to zabbix@'%';
quit;mysql -u zabbix -p'zabbix1234'   测试账户是否创建成功
用zabbix自带的SQL文件导入到数据库
zcat /usr/share/doc/zabbix-server-mysql-4.0.37/create.sql.gz |mysql -uzabbix -p'zabbix1234' zabbix

 进入数据库查看是否导入成功。

[root@zabbix-s]# mysql -uzabbix -p'zabbix1234'mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| zabbix             |
+--------------------+
2 rows in set (0.00 sec)mysql> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> use zabbix;
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |
| application_prototype      |
| application_template       |
...

1.4 为 Zabbix server/proxy 配置数据库

# vi /etc/zabbix/zabbix_server.confDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=<password>

1.5 启动 Zabbix server 进程

systemctl start zabbix-server
systemctl enable zabbix-server
systemctl status zabbix-server

1.6 配置php

添加末行同步时间

vi /etc/httpd/conf.d/zabbix.confphp_value max_execution_time 300php_value memory_limit 128Mphp_value post_max_size 16Mphp_value upload_max_filesize 2Mphp_value max_input_time 300php_value always_populate_raw_post_data -1php_value date.timezone Asia/Shanghai

1.7 安装Zabbix-Agent

# yum install zabbix-agent
# systemctl start zabbix-agent 
# systemctl status zabbix-agent systemctl enable zabbix-server zabbix-agent httpd

1.8 访问测试

curl或者浏览器打开,访问成功

二、客户端/被监控端

安装插件zabbix_agent

#这里会比较慢,一分钟左右,不要中断
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm#注释原生的源,添加阿里云源baseurl属性,需要添加三处,此处可以自定义版本,此处是4.0版本,我改成3.4版本了
vi /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591yum clean all#由于缺少iksemel报错,如没有报错请跳过
yum install http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpmyum install zabbix-agent

 更改服务端、客户端zabbix_agentd.conf

 vi /etc/zabbix/zabbix_agentd.conf

服务端配置文件 192.18.136.56

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

客户端配置文件 192.168.136.55

Server=192.168.136.55

ServerActive=192.168.136.55

Hostname=192.168.136.56

systemctl restart zabbix-server
systemctl enable zabbix-server

服务端测试连接,报错说明agent.conf配置错误

[root@zabbix-s ~]# zabbix_get -s 192.168.136.56 -k system.cpu.num
1

查看进程 

[root@zabbix-c ~]# ps -aux|grep agent
zabbix     1008  0.0  0.0  80856  1232 ?        S    00:56   0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix     1009  0.0  0.0  80856  1384 ?        S    00:56   0:08 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix     1010  0.0  0.1  80856  2240 ?        S    00:56   0:03 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix     1011  0.0  0.1  80856  2200 ?        S    00:56   0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix     1012  0.0  0.1  80856  2200 ?        S    00:56   0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix     1013  0.0  0.1  80988  2232 ?        R    00:56   0:02 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root       1683  0.0  0.0 112808   964 pts/0    R+   06:55   0:00 grep --color=auto agent

三、初始化

192.168.136.55/zabbix/setup.php

 端口不用改,会自动帮你选3306

 此步骤忽略,直接next 

登录,默认用户名Admin,默认密码zabbix

进入主页

在右上角的设置中可更改语言

 新建主机 

主机参数

名称、群组、ip、端口 

创建完成,如果你的ZBX为灰色,代表还没有任何监控项被检测到,是正常现象。我的是因为添加了监控项,但被我删除了,所以呈绿色。

新建监控项

填写名称、选择键值、ip及端口 

选择键值,可以使用“ctrl+f”检索快速定位

本质上这个监控项就相当于在监控端使用zabbix_get命令。

###监控端
[root@zabbix-s ~]# zabbix_get -s 192.168.136.56 -k system.cpu.switches
1323248
[root@zabbix-s ~]# zabbix_get -s 192.168.136.56 -k system.cpu.switches
1323406

监控项创建成功

图形界面

添加带参数的监控项

vfs.fs.size[/,pused] 表示显示当前磁盘所占用的百分比

vfs.fs.size[/,used] 表示显示当前磁盘所占用的空间,单位为B

vfs.fs.size[/,free] 表示显示当前磁盘所剩余的空间,单位为B

[root@zabbix-s ~]# zabbix_get -s 192.168.136.56 -k vfs.fs.size[/,used]
1875718144
[root@zabbix-s ~]# zabbix_get -s 192.168.136.56 -k vfs.fs.size[/,free]
37628334080
[root@zabbix-s ~]# zabbix_get -s 192.168.136.56 -k vfs.fs.size[/,pused]
4.748166

刚开始点击“图形”,有时纵坐标最大值是是“1.2”或者“1.2%”,系统反应会比较慢,需要等待一小段时间,纵坐标才会正常显示。

设置触发器,本质就是设置一个阈值,当某项指数超过这个阈值就会报警。

当前test主机集群是没有任何问题的,因为我们没有设置触发器的不会报警。

 将硬盘占用设置为5%阈值,然后新建一个大容量文件,观察zabbix报警信息。

设置阈值为5%

添加表达式

会形成一个表达式

 

数据正常

新建一个大文件,内存从4%上升到16%

###该命令表示创建test文件,该文件由四块1G的硬盘组成,所以实际zero占用硬盘真实空间是4G。[root@zabbix-c /]# dd if=/dev/zero of=/test count=4 bs=1G
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 98.39 s, 43.7 MB/s
[root@zabbix-c /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 898M     0  898M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M  9.5M  901M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   37G  5.7G   32G  16% /
/dev/sda1                197M  129M   69M  66% /boot
tmpfs                    182M     0  182M   0% /run/user/0[root@zabbix-c dev]# cd /
[root@zabbix-c /]# du -sh test 
4.0G	test

 查看视图

仪表盘报警

问题面板同样报警

参考:

zabbix4.0安装部署_Wangsh@的博客-CSDN博客

zabbix监控,ansible和zabbix_ansible zabbix_淡泪无痕的博客-CSDN博客

zabbix从放弃到入门(4):在zabbix中添加监控项-朱双印博客

模板:

zabbix自带模板监控CPU,磁盘和内存_zabbix监控主机硬盘容量_小数苗小数苗的博客-CSDN博客

相关文章:

Linux部署Zabbix主机监控

192.168.136.55 服务端 192.168.136.56 客户端 一、服务端 1.1 安装lamp环境 #关闭防火墙以及SELINUX systemctl disable firewalld systemctl stop firewalld sed -i s/SELINUXenforcing$/SELINUXdisabled/g /etc/selinux/config setenforce 0设置yum源 yum install epe…...

【IC萌新虚拟项目】功能覆盖率文件合入与功能覆盖率收集

关于整个虚拟项目,请参考: 【IC萌新虚拟项目】Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客 前言 上一篇文章我们已经完成了测试点的相关指导,在工程目录下看到一份推荐的测试点分解文档。当然这只是一种参考,大家可以按照自己的理解进行测试点分解,并…...

同步辐射散射数据处理分析方法及实验过程

同步辐射散射数据处理分析方法及过程 同步辐射散射测试是一种先进的材料表征技术&#xff0c;已广泛应用于材料科学、生物学、化学等领域。同步辐射散射技术利用同步辐射光源产生的高亮度辐射&#xff0c;通过散射实验来研究样品的结构、形态和动态行为。 同步辐射散射处理分析…...

使用JavaScript开发网页地图导航

使用JavaScript开发网页地图导航 导航是生活中的一个常见需求&#xff0c;而在互联网时代&#xff0c;网页地图导航成为了人们获取信息和帮助的重要工具。在网页中开发一个地图导航功能&#xff0c;能够提供用户位置定位、路线规划、交通情况等有用的信息&#xff0c;提供便利…...

Go中的匿名函数与闭包

关键词: 函数式编程 闭包 匿名函数 匿名函数特别适合作为函数或方法的回调 在Go中函数是一等公民&#xff0c;和string&#xff0c;int等一样。 而在C、C 等不支持匿名函数的语言中&#xff0c;函数不能在运行期创建 go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包 闭包 与…...

中文分词工具jieba的使用

1.jieba简介 在自然语言处理任务时中文文本需要通过分词获得单个的词语,这个时候就需要用到中文分词工具jieba jieba分词是一个开源项目,地址为github.com/fxsjy/jieba 它在分词准确度和速度方面均表现不错。 2.jieba的安装 全自动安装pip install jieba / pip3 install …...

CTF Stegano练习之隐写初探

今天要介绍的是CTF练习中的Stegano隐写题型 。做隐写题的时候&#xff0c;工具是很重要的&#xff0c;接下来介绍一些工具。 1、TrID TrID是一款根据文件二进制数据特征进行判断的文件类型识别工具。虽然也有类似的文件类型识别工具&#xff0c;但是大多数都是使用硬编码的识…...

大数据课程H2——TELECOM的电信流量项目实现

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解TELECOM项目的数据收集; ⚪ 了解TELECOM项目的数据清洗; ⚪ 了解TELECOM项目的数据导出; ⚪ 了解TELECOM项目的数据可视化; ⚪ 了解TELECOM项目的其他; 一、数据收集 1. 在实…...

Langchain module ‘hnswlib‘ has no attribute ‘Index‘ 错误解决

Langchain module hnswlib has no attribute Index 错误解决 使用 Langchain 操作 Chroma 向量数据库时&#xff0c;报一下错误信息&#xff0c; module hnswlib has no attribute Index试着重装了不同 hnswlib 版本没有解决&#xff0c;最后解决方法是&#xff0c;不要使用 h…...

HIVE学习

1.什么是HIVE 1.HIVE是什么? Hive是由Facebook开源&#xff0c;基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能。 大白话: HIVE就是一个类似于Navicat的可视化客户端, 2.HIVE本质 Hive是一个Hadoop客户端&a…...

逆了个天了,阿里开源自然语言写SQL的神器级别工具快用起来

Chat2DB 是一款有开源免费的多数据库客户端工具&#xff0c;支持windows、mac本地安装&#xff0c;也支持服务器端部署&#xff0c;web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力&#xff0c;能够将自然语言转换为SQL&#xff0c;也可以…...

85. 最大矩形

题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0","0"],["1…...

Vue [Day5]

自定义指令 全局注册 和 局部注册 inserted在指令所在的元素 被插入到页面中时&#xff0c;触发 main.js import Vue from vue import App from ./App.vueVue.config.productionTip false// 1.全局注册指令 Vue.directive(focus, {// inserted在指令所在的元素 被插入到页…...

备战大型攻防演练,“3+1”一套搞定云上安全

在重大活动保障期间&#xff0c;企业不仅要面对愈发灵活隐蔽的新型攻击挑战&#xff0c;还要在人员、精力有限的情况下应对不分昼夜的高强度安全运维任务。如何在这种多重压力下&#xff0c;从“疲于应付”迈向“胸有成竹”呢&#xff1f; 知己知彼&#xff0c;百战不殆&#…...

网络_每日一学——网络的整体概述

今天我们将继续探讨网络相关的知识。网络是由许多设备互相连接而成的&#xff0c;可以传输数据的系统。通过网络&#xff0c;我们可以远程访问他人的计算机、浏览网页、发送电子邮件等。网络是信息时代中不可或缺的一部分。 在网络中&#xff0c;每个设备都有一个唯一的标识符…...

【ChatGPT 指令大全】怎么使用ChatGPT来帮我们写作

在数字化时代&#xff0c;人工智能为我们的生活带来了无数便利和创新。在写作领域&#xff0c;ChatGPT作为一种智能助手&#xff0c;为我们提供了强大的帮助。不论是作文、文章&#xff0c;还是日常函电&#xff0c;ChatGPT都能成为我们的得力助手&#xff0c;快速提供准确的文…...

Redis 如何解决缓存雪崩、缓存击穿、缓存穿透难题

前言 Redis 作为一门热门的缓存技术&#xff0c;引入了缓存层&#xff0c;就会有缓存异常的三个问题&#xff0c;分别是缓存击穿、缓存穿透、缓存雪崩。我们用本篇文章来讲解下如何解决&#xff01; 缓存击穿 缓存击穿: 指的是缓存中的某个热点数据过期了&#xff0c;但是此…...

SSRF(服务器端请求伪造)漏洞

CSRF漏洞与SSRF漏洞的主要区别在于伪造目标的不同。 一、SSRF是什么 SSRF漏洞&#xff1a;&#xff08;Server-Side Request Forgery&#xff0c;服务器端请求伪造&#xff09;是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF攻击的目标是从…...

【Axure动态面板】利用动态面板实现树形菜单的制作

利用动态面板&#xff0c;简单制作高保真的树形菜单。 一、先看效果 https://1poppu.axshare.com 二、实现思路 1、菜单无非就是收缩和展开&#xff0c;动态面板有个非常好的属性&#xff1a;fit to content&#xff0c;这个属性的含义是&#xff1a;面板的大小可以根据内容多少…...

Android 实现 RecyclerView下拉刷新,SwipeRefreshLayout上拉加载

上拉、下拉的效果图如下&#xff1a; 使用步骤 1、在清单文件中添加依赖 implementation ‘com.android.support:recyclerview-v7:27.1.1’ implementation “androidx.swiperefreshlayout:swiperefreshlayout:1.0.0” 2、main布局 <LinearLayout xmlns:android"http…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...