监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项
目录
监控概述
监控命令
zabbix
安装zabbix 6.0
配置zabbix监控web1服务器
在web1上安装agent
在web页面中添加对web1的监控
常用监控指标
自定义监控项
实现监控web1用户数量的监控项
在被控端创建key
创建模板
应用模板到主机
查看结果
监控概述
-
对服务的管理,不能仅限于可用性。
-
还需要服务可以安全、稳定、高效地运行。
-
监控的目的:早发现、早治疗。
-
被监控的资源类型:
- 公开数据:对外开放的,不需要认证即可获取的数据
- 私有数据:对外不开放,需要认证、权限才能获得的数据
监控命令
# uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。[root@myhost ~]# uptime 09:28:25 up 53 days, 27 min, 0 users, load average: 0.09, 0.08, 0.03[root@myhost ~]# free -h # 主要用于查看内存[root@myhost ~]# swapon -s # 查看swap空间[root@myhost ~]# df -h # 查看硬盘使用情况[root@myhost ~]# ping -c2 www.baidu.com # 发2个包,测试网络
zabbix
-
实施监控的几个方面:
- 数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)
- 数据存储:使用mysql数据库
- 数据展示:通过web页面
-
zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。
安装zabbix 6.0
- 安装说明:Download and install Zabbix
- 中文手册:Zabbix 文档
主机名 | 地址 |
---|---|
zabbixserver | 192.168.88.5/24 |
web1 | 192.168.88.100/24 |
web2 | 192.168.88.200/24 |
- 安装zabbix
# 1. 拷贝zabbix软件包到pubserver[root@zabbixserver ~]# scp /linux-soft/s2/zzg/zabbix_soft/*.rpm 192.168.88.240:/var/ftp/rpms# 2. 更新yum仓库配置[root@pubserver ~]# createrepo -v /var/ftp/rpms/# 3. 在pubserver上创建ansible工作环境[root@pubserver ~]# mkdir -p zabbix/files[root@pubserver ~]# cd zabbix/[root@pubserver zabbix]# vim ansible.cfg [defaults]inventory = inventoryhost_key_checking = false[root@pubserver zabbix]# vim inventory [zabbix]zabbixserver ansible_host=192.168.88.5[webservers]web1 ansible_host=192.168.88.100web2 ansible_host=192.168.88.200[all:vars]ansible_ssh_user=rootansible_ssh_pass=a# 4. 为各台主机配置yum[root@pubserver zabbix]# vim files/local88.repo [BaseOS]name = BaseOSbaseurl = ftp://192.168.88.240/dvd/BaseOSenabled = 1gpgcheck = 0[AppStream]name = AppStreambaseurl = ftp://192.168.88.240/dvd/AppStreamenabled = 1gpgcheck = 0[rpms]name = rpmsbaseurl = ftp://192.168.88.240/rpmsenabled = 1gpgcheck = 0[root@pubserver zabbix]# vim 01-upload-repo.yml ---- name: config repos.dhosts: alltasks:- name: delete repos.dfile:path: /etc/yum.repos.dstate: absent- name: create repos.dfile:path: /etc/yum.repos.dstate: directorymode: '0755'- name: upload local88copy:src: files/local88.repodest: /etc/yum.repos.d/[root@pubserver zabbix]# ansible-playbook 01-upload-repo.yml # 5. 在zabbixserver上安装相应软件包[root@pubserver zabbix]# vim 02-inst-zabbix.yml---- name: install zabbixhosts: zabbixtasks:- name: install zabbix # 安装软件包yum:name:- zabbix-server-mysql- zabbix-web-mysql- zabbix-nginx-conf- zabbix-sql-scripts- zabbix-selinux-policy- zabbix-agent- mysql-server- langpacks-zh_CNstate: present[root@pubserver zabbix]# ansible-playbook 02-inst-zabbix.yml# 6. 启动mysqld服务[root@pubserver zabbix]# vim 03-start-mysqld.yml---- name: config mysqldhosts: zabbixtasks:- name: start mysqld # 启动mysqld服务service:name: mysqldstate: startedenabled: yes[root@pubserver zabbix]# ansible-playbook 03-start-mysqld.yml # 7. 在zabbix上创建连接数据库的用户[root@zabbixserver ~]# mysqlmysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;# 在binlog日志开启的情况下,打开函数生成器mysql> set global log_bin_trust_function_creators = 1;mysql> create user zabbix@localhost identified by 'zabbix';mysql> grant all privileges on zabbix.* to zabbix@localhost;mysql> quit;# 8. 验证数据库配置,如果登陆不到数据库表示上一步配置不正确[root@zabbixserver ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix# 9. 在数据库中创建表并导入数据[root@zabbixserver ~]# cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz .[root@zabbixserver ~]# gzip -d server.sql.gz [root@zabbixserver ~]# mysql -uzabbix -pzabbix zabbix < server.sql# 10. 配置zabbix_server[root@zabbixserver ~]# vim +129 /etc/zabbix/zabbix_server.confDBPassword=zabbix# 11. 配置zabbix_agent[root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf 182 Hostname=zabbixserver# 12. 配置nginx展示zabbix[root@zabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf# 打开第2、3行的注释,结果如下所示:server {listen 8080;server_name example.com;...以下省略...# 13. 启动相关服务[root@pubserver zabbix]# vim 04-start-zabbix.yml ---- name: config zabbixhosts: zabbixtasks:- name: start service # 循环启动多个服务service:name: "{{item}}"state: startedenabled: yesloop:- zabbix-server- zabbix-agent- nginx- php-fpm[root@pubserver zabbix]# ansible-playbook 04-start-zabbix.yml
访问zabbixserver的8080端口,进行初始化:
注意:这里的用户名Admin,A是大写的!密码是小写的zabbix
- 此时zabbix已经开始在监控自己了,查看默认监控配置
配置zabbix监控web1服务器
在web1上安装agent
# 1. 安装agent[root@pubserver zabbix]# vim 05-inst-agent.yml--- - name: install agenthosts: webserverstasks:- name: install agent # 安装agentyum:name: zabbix-agentstate: present[root@pubserver zabbix]# ansible-playbook 05-inst-agent.yml # 2. 修改web1配置文件[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf 117 Server=127.0.0.1,192.168.88.5182 Hostname=web1# 3. 起动服务[root@pubserver zabbix]# vim 06-start-agent.yml ---- name: config agenthosts: web1tasks:- name: start agent # 启动服务service:name: zabbix-agentstate: startedenabled: yes[root@pubserver zabbix]# ansible-playbook 06-start-agent.yml
在web页面中添加对web1的监控
- 主机:安装了agent,被监控的主机
- 主机组:根据需求,将多台主机加入到一个主机组中,方便管理。系统默认已经创建了一些主机组。
- 模板:是监控项的集合。将模板应用到主机,主机就可以直接拥有模板中的所有监控项。系统中默认已经创建了一些模板。
常用监控指标
- Space utilization:以百分比显示的磁盘利用率
- Used space:已用磁盘空间
- Available memory:可用内存
- CPU idle time:CPU空闲时间。不宜过低。
- Load average (1m avg)、Load average (5m avg)、Load average (15m avg):CPU1分钟、5分钟、15分钟的平均负载。这个值不应长期大于核心数。
- Interface eth0: Bits received:网卡接收到的数据量
- Interface eth0: Bits sent:网卡发送的数据量
- Number of processes:系统运行的进程数
- Number of logged in users:已登陆的用户数
自定义监控项
实现监控web1用户数量的监控项
- 在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。
- 在web页面中创建监控项。监控项对应key值。
在被控端创建key
- 创建key的语法
UserParameter=自定义key值,命令# 命令的执行结果,是key的value
- 创建自定义配置文件。文件名自定义。
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/usercnt.confUserParameter=usercnt,sed -n '$=' /etc/passwd[root@web1 ~]# systemctl restart zabbix-agent.service
- 验证自定义监控项
# 1. 安装zabbix-get[root@zabbixserver ~]# yum install -y zabbix-get[root@web1 ~]# yum install -y zabbix-get# 2. 获取监控项的值[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt46[root@zabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt46
创建模板
- 创建模板
- 创建监控项
应用模板到主机
查看结果
相关文章:

监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项
目录 监控概述 监控命令 zabbix 安装zabbix 6.0 配置zabbix监控web1服务器 在web1上安装agent 在web页面中添加对web1的监控 常用监控指标 自定义监控项 实现监控web1用户数量的监控项 在被控端创建key 创建模板 应用模板到主机 查看结果 监控概述 对服务的管理&am…...

恒创科技:香港 BGP 服务器网络连通性如何测试?
随着互联网的快速发展,网络连通性测试变得越来越重要。网络连通性测试的目的是确定网络设备之间的连接是否正常,以及数据包是否能够在网络中顺利传输。本文将介绍一种简单易行的香港 BGP 服务器网络连通性的测试方法,利用tracer测试工具。这里…...

《动手学深度学习(PyTorch版)》笔记7.6
注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…...

Quicker读取浏览器的书签(包括firefox火狐)
从edge换了火狐,但是quicker不能读取本地的bookmarks文件了,就研究了一下。 方法1:读取本地Bookmarks文件(仅谷歌内核浏览器) 谷歌内核的浏览器本地会有Bookmarks文件,放了所有的书签数据,直接…...

【数学建模】【2024年】【第40届】【MCM/ICM】【B题 搜寻潜水器】【解题思路】
一、题目 (一)赛题原文 2024 MCM Problem A: Resource Availability and Sex Ratios Maritime Cruises Mini-Submarines (MCMS), a company based in Greece, builds submersibles capable of carrying humans to the deepest parts of the ocean. A …...

深入探索Redis:如何有效遍历海量数据集
深入探索Redis:如何有效遍历海量数据集 Redis作为一个高性能的键值存储数据库,广泛应用于各种场景,包括缓存、消息队列、排行榜等。随着数据量的增长,如何高效地遍历Redis中的海量数据成为了一个值得探讨的问题。在本篇博客中&am…...

贪心算法之田忌赛马,多种语言实现
目录 题目描述: 输入: 样例输入: 样例输出: c代码实现: c++代码实现: python代码实现: Java代码实现: 题目描述: 这是中国历史上一个著名的故事。 “那是大约2300年前的事了。田骥将军是齐国的高级官员。他喜欢和国王和其他人一起赛马。 “田和王都有三匹不同等级…...

C++ static 修饰全局变量时的作用探究
C static 修饰全局变量时的作用探究 作为一个c开发者,我们面试时经常被问到 static 变量的作用,其中有一个问题是,static 修饰全局变量时起什么作用。 通常我们会回答,“static 修饰全局变量时代表限制这个变量为此源文件可见&a…...

Git的基础操作指令
目录 1 前言 2 指令 2.1 git init 2.2 touch xxx 2.3 git status 2.4 git add xxx 2.5 git commit -m xxxx 2.5 git log及git log --prettyoneline --all --graph --abbrev-commit 2.6 rm xxx 2.7 git reset --hard xxx(含小技巧) 2.8 git reflog 2.9 mv xxx yyy 1…...

前端开发:(四)JavaScript入门
JavaScript是一种强大的脚本语言,用于在网页中实现交互性和动态性。它的发展历史可以追溯到1995年,由Netscape公司的Brendan Eich设计开发而成。JavaScript的重要性在于它能够让网页实现丰富的功能和用户体验,成为Web开发的核心技术之一。 1…...

js文件忽略ESLint语法检查
1. 整个文件忽略 /* eslint-disable */ // 代码开始位置2. 临时禁止 /* eslint-disable */ console.log(hello); /* eslint-enable */3. 对指定规则忽略 /* eslint-disable no-alert, no-console */ alert(foo); console.log(bar); /* eslint-enable no-alert, no-console …...

【深度学习】:实验6布置,图像自然语言描述生成(让计算机“看图说话”)
清华大学驭风计划 因为篇幅原因实验答案分开上传,深度学习专栏持续更新中,期待的小伙伴敬请关注 实验答案链接http://t.csdnimg.cn/bA48U 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~ 案例 6 :图像自…...

内网安全-内网穿透
目录 内网渗透 Nc使用详解 Nc监听和探测 Nc传文件 termite内网穿透工具 ssh代理内网穿透 ssh配置socket代理 MSF多级网络穿透 内网渗透 Nc使用详解 Nc监听和探测 Nc传文件 termite内网穿透工具 1、termite 之前叫ew (可以进行正向连接,可以…...

【Make编译控制 01】程序编译与执行
目录 一、编译原理概述 二、编译过程分析 三、编译动静态库 四、执行过程分析 一、编译原理概述 make: 一个GCC工具程序,它会读 makefile 脚本来确定程序中的哪个部分需要编译和连接,然后发布必要的命令。它读出的脚本(叫做 …...

MySQL如何定位慢查询
MySQL中定位慢查询通常涉及到以下几个步骤: 1. 慢查询日志 开启慢查询日志是识别慢查询的第一步。通过设置slow_query_log变量为1,MySQL会记录所有执行时间超过long_query_time秒的查询。 -- 开启慢查询日志 SET GLOBAL slow_query_log ON;-- 设置慢…...

npm 上传一个自己的应用(4) 更新自己上传到NPM中的工具版本 并进行内容修改
前面 npm 上传一个自己的应用(2) 创建一个JavaScript函数 并发布到NPM 我们讲了将自己写的一个函数发送到npm上 那么 如果我们想到更好的方案 希望对这个方法进行修改呢? 比如 我们这里加一个方法 首先 我们还是要登录npm npm login然后 根据要求填写 Username 用…...

Linux开发:PAM1 介绍
PAM(Pluggable Authentication Modules )是Linux提供的一种通用的认证方式,他可以根据需要动态的加载认证模块,从而减少认证开发的工作量以及提供认证的灵活度。 1.PAM的框架 PAM的框架由一下几个部分构成 1)应用程序,即需要使用认证服务的程序,这些应用程序是使用抽象…...

Leetcode 3036. Number of Subarrays That Match a Pattern II
Leetcode 3036. Number of Subarrays That Match a Pattern II 1. 解题思路2. 代码实现 3036. Number of Subarrays That Match a Pattern II 1. 解题思路 这一题其实有点水,因为本质上还是一道套路题目,和前两周的两道题目一样,都是考察的…...

华为环网双机接入IPTV网络部署案例
环网双机接入IPTV网络部署案例 组网图形 图2 环网双机场景IPTV基本组网图 方案简介配置注意事项组网需求数据规划配置思路操作步骤配置文件 方案简介 随着IPTV业务的迅速发展,IPTV平台承载的用户也越来越多,用户对IPTV直播业务的可靠性要求越来越高。…...

“智能检测,精准把控。温湿度检测系统,为您的生活带来全方位的健康保障。”#非标协议项目【上】
“智能检测,精准把控。温湿度检测系统,为您的生活带来全方位的健康保障。”#非标协议项目【上】 前言预备知识1温湿度检测系统需求2.代码整合2.1找到编程实现LCD1602显示一行工程,打开代码文件,将所需的LCD1602驱动代码拷贝到温湿…...

牛客网SQL进阶137:第二快/慢用时之差大于试卷时长一半的试卷
官网链接: 第二快慢用时之差大于试卷时长一半的试卷_牛客题霸_牛客网现有试卷信息表examination_info(exam_id试卷ID, tag试卷类别,。题目来自【牛客题霸】https://www.nowcoder.com/practice/b1e2864271c14b63b0df9fc08b559166?tpId240 0 问题描述 试…...

CVE-2022-0760 漏洞复现
CVE-2022-0760 NSS [HNCTF 2022 WEEK2]ohmywordpress 【CVE-2022-0760】 题目描述:flag在数据库里面。 开题: 顺着按钮一直点下去会发现出现一个按钮叫安装WordPress 安装完之后的界面,有一个搜索框。 F12看看network。 又出现了这个Wor…...

WordPress突然后台无法管理问题
登录WordPress后台管理评论,发现点击编辑、回复均无反应。 尝试清除缓存、关闭CF连接均无效。 查看插件时发现关闭wp-china-yes插件可以解决问题。 后来又测试了下发现加速管理后台这项,在启用时会发生点击无效问题,禁用就好了,不…...

STM32F1 - 标准外设库_规范
STM32F10x_StdPeriph_Lib_V3.6.0 1> 头文件包含关系2> .c文件内部结构3> 宏定义位置4> 位掩码bit mask5> .c文件中定义私有变量6> 枚举类型定义 1> 头文件包含关系 1个头文件stm32f10x.h 就把整个MCU以及标准外设库,就管理了; 2>…...

推荐系统|召回04_离散特征处理
离散特征处理 离散特征是什么 怎么处理离散特征 One-hot编码 Embedding嵌入 从one-hot到Embedding,已经节省了很多的存储空间,但当数据量大的时候,还是占空间,所以工业界仍会对Embedding进行优化 而一个物品所对应的Embedding参数…...

一个查看armv8系统寄存器-值-含义的方式
找到解压后的SysReg_xml_v86A-2019-12目录 wget https://developer.arm.com/-/media/developer/products/architecture/armv8-a-architecture/2019-12/SysReg_xml_v86A-2019-12.tar.gz wget https://developer.arm.com/-/media/developer/products/architecture/armv8-a-archi…...

LLMs之miqu-1-70b:miqu-1-70b的简介、安装和使用方法、案例应用之详细攻略
LLMs之miqu-1-70b:miqu-1-70b的简介、安装和使用方法、案例应用之详细攻略 目录 miqu-1-70b的简介 miqu-1-70b的安装和使用方法 1、安装 2、使用方法 miqu-1-70b的案例应用 miqu-1-70b的简介 2024年1月28日,发布了miqu 70b,潜在系列中的…...

npm 下载报错
报错信息 : 证书过期 (CERT_HAS_EXPIRED) D:\Apps\nodejs-v18.16.1\npx.cmd --yes create-next-app"latest" . --ts npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/create-next-app failed…...

GPT-4登场:多模态能力革新,提升ChatGPT与必应体验,开放API助力游戏革新
GPT-4登场:多模态能力革新,提升ChatGPT与必应体验,开放API助力游戏革新 引言 在人工智能领域,GPT-4的发布标志着一个新时代的到来。这一多模态大模型不仅在技术性能上实现了飞跃,更在功能层面带来全新的突破。GPT-4的…...

【芯片设计- RTL 数字逻辑设计入门 11.1 -- 状态机实现 移位运算与乘法 1】
文章目录 移位运算与乘法状态机简介SystemVerilog中的测试平台VCS 波形仿真 阻塞赋值和非阻塞赋值有限状态机(FSM)与无限状态机的区别 本篇文章接着上篇文章【芯片设计- RTL 数字逻辑设计入门 11 – 移位运算与乘法】 继续介绍,这里使用状态机…...