【zabbix监控软件(配置及常用键值)】
监控软件–zabbix
同类产品:nagios、cacti
简介:能够部署企业级监控平台。
监控范围
1)zabbix + SNMP 监控网络设备
防火墙、交换机
2)zabbix + agent 监控
服务器:raid插槽 CPU 内存插槽 温度 风扇
操作系统:centos7 centos6 各种windows
应用软件:几乎所有的应用软件都可以监控
3)zabbix + ping(fping) 监控
节点的存活状态
4)zabbix + port 监控
服务的存活状态
5)zabbix + web 监控
服务的存活状态
6)zabbix + 数据收集 展示各个节点、服务的运行状态
zabbix 取到的值必须是数
官方网站:zabbix
zabbix的架构:
zabbix server 监控端
zabbix server:负责与被监控端或z proxy通信,将采集到的监控数据保存到z mysql中,然后通过web界面展示;
zabbix mysql:负责保存z server采集到的监控数据,数据类型是数,注意硬盘IO
zabbix proxy:部署在被监控端的x机房内部,在agent看来,就是z server,将采集到的数据传输给异地的z server。
zabbix agent 被监控端
部署步骤:
一、服务端配置
- 部署 z mysql
[root@zmysql ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm[root@zmysql ~]# wget http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm[root@zmysql ~]# ls /etc/yum.repos.d/zabbix.repo
/etc/yum.repos.d/zabbix.repo[root@zmysql ~]# yum install -y mariadb mariadb-server zabbix-server-mysql[root@zmysql /usr/share/mysql]# cp my-huge.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y[root@zmysql ~]# vim /etc/my.cnf
server-id = 72
log_slave_updates
binlog-ignore-db = mysql
datadir = /data/mysql[root@zmysql ~]# mkdir -p /data/mysql
[root@zmysql ~]# chown -R mysql:mysql /data/mysql/[root@zmysql ~]# systemctl start mariadb
[root@zmysql ~]# systemctl enable mariadb[root@zmysql ~]# cd /data/mysql/
[root@zmysql /data/mysql]# ls[root@zmysql ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix.* to zabbix@'172.16.%' identified by '12345';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit导入数据:
[root@zmysql ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.15/
[root@zmysql /usr/share/doc/zabbix-server-mysql-3.4.15]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@zmysql /usr/share/doc/zabbix-server-mysql-3.4.15]# gunzip create.sql.gz
[root@zmysql /usr/share/doc/zabbix-server-mysql-3.4.15]# mysql zabbix < create.sql [root@zmysql ~]# mysql zabbix
MariaDB [zabbix]> show tables;看到导入的表,OK!
- 部署 z server
[root@zmysql ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.71:/root/[root@zserver ~]# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm [root@zserver ~]# yum install -y httpd php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlpc php-mbstring php-bcmath php-mhash zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-get支持中文:
[root@zserver /usr/share/fonts]# mkdir simkai在windows C:\Windows\Fonts楷体常规把字体文件导入该目录下[root@zserver /usr/share/fonts/simkai]# ls
SIMKAI.TTF
[root@zserver /usr/share/fonts/simkai]# mv SIMKAI.TTF simkai.ttf[root@zserver /usr/share/zabbix/include]# vim defines.inc.php 53 define('ZBX_FONTPATH', '/usr/share/fonts/simkai');54 define('ZBX_GRAPH_FONT_NAME', 'simkai')
启动httpd
[root@zserver ~]# vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex index.php index.html[root@zserver ~]# vim /etc/php.ini384 max_execution_time = 300394 max_input_time = 300672 post_max_size = 16M878 date.timezone = Asia/Shanghai[root@zserver ~]# systemctl start httpd
[root@zserver ~]# systemctl enable httpd
编辑配置文件:
[root@zserver /etc/zabbix]# vim zabbix_java_gateway.conf 9 LISTEN_IP="0.0.0.0"17 LISTEN_PORT=1005235 START_POLLERS=50zabbix用于监控java程序的配置[root@zserver /etc/zabbix]# vim zabbix_server.conf zabbix的主配置文件91 DBHost=172.16.0.72
100 DBName=zabbix
116 DBUser=zabbix
124 DBPassword=12345
131 DBSocket=/var/lib/mysql/mysql.sock
139 DBPort=3306z server 连接 z mysql 的配置 261 JavaGateway=localhost
269 JavaGatewayPort=10052
277 StartJavaPollers=50z server 连接 java程序的配置z server 启动多少个线程与监控java程序的应用连接启动服务:
[root@zserver ~]# systemctl start zabbix-java-gateway
[root@zserver ~]# systemctl enable zabbix-java-gateway[root@zserver ~]# systemctl start zabbix-server
[root@zserver ~]# systemctl enable zabbix-server[root@zserver ~]# systemctl restart httpd[root@zserver ~]# netstat -antp | grep 1005[12]
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1426/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 1426/zabbix_server
tcp6 0 0 :::10052 :::* LISTEN 1388/java
错误日志
[root@zserver ~]# cd /var/log/zabbix/
[root@zserver /var/log/zabbix]# ls
zabbix_java_gateway.log
zabbix_server.log
浏览器访问:http://172.16.0.71/zabbix/
用户名:Admin
密码: zabbix
二、监控节点配置
- zabbix agent – centos7
[root@zmysql ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.31:/root/[root@nginx1 ~]# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm[root@nginx1 ~]# yum install -y zabbix-agent zabbix-sender[root@nginx1 ~]# cd /etc/zabbix/
[root@nginx1 /etc/zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@nginx1 /etc/zabbix]# vim zabbix_agentd.conf 97 Server=172.16.0.71## z server的IP
138 ServerActive=172.16.0.71:10051## z server的IP:port
149 Hostname=SY172.16.0.31## 定义本机的主机名[root@nginx1 ~]# systemctl start zabbix-agent
[root@nginx1 ~]# systemctl enable zabbix-agent[root@nginx1 ~]# netstat -antp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1050/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 1050/zabbix_agentd添加主机:主机名称:配置文件中定义的可见的名称:有意义 项目名-角色-IP群组:如果没有,需要创建接口:
主机群组:自带一部分,zabbix原生模板
定义主机组:按照项目规划
模板:
原生模板
从第三方 git-hub上下载的
自定义模板
应用集:一类监控项的归纳监控项:负责从 z agent 取到监控数据的名称:有代表意义,中间不要带 “空格”触发器:这个监控项有几个触发器键值:使用键值才能从agent取到数据间隔:z server 间隔多长时间去 agent 取一次数据历史记录:历史数据的保存时间 建议 1w趋势:在一段时间内,采集的数据是呈现上升或是下降类型:监控项的类型应用集状态:已启用 停用的 未支持的 触发器:当z server采集到的数据达到触发器的阈值,就会触发报警
图形:展示采集到的数据
主机:监控对象
维护:在维护周期时间内,不会触发报警
动作:当触发器的阈值被触发以后,动作会给报警媒介发送消息,给报警接收人发送报警信息
自动发现:可以批量添加主机
z server使用 键值 采集agent数据,保存在 z mysql中,数据会以图谱的形式在web界面展示。
当采集到的数据达到触发器的阈值时,会触发报警动作,通过报警媒介给报警接收人发送消息。
三、自定义模板
- 使用原生键值
(1)CPUCPU 的负载system.cpu.load[,avg1]CPU 的 idlesystem.cpu.util[,idle]
(2)内存vm.memory.size[<mode>] 剩余vm.memory.size[pavailable]使用vm.memory.size[pused]总vm.memory.size[total](3)交换分区空闲百分比 system.swap.size[,pfree] 使用百分比 system.swap.size[,pused] (4)硬盘读 vfs.dev.read[<device>,<type>,<mode>] vfs.dev.read[/dev/mapper/centos-root,sps]写 vfs.dev.write[<device>,<type>,<mode>] vfs.dev.write[/dev/mapper/centos-root,sps] 分区的使用情况inode vfs.fs.inode[fs,<mode>]vfs.fs.inode[/,pfree]block vfs.fs.size[fs,<mode>] vfs.fs.size[/,pfree](5) 网卡的IOIn net.if.in[ens32]Out net.if.out[ens32]
在 z server 校验键值
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k vfs.fs.size[/,pfree]
97.152441
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k vfs.fs.inode[/,pfree]
99.832706
四、监控服务的端口和状态:
端口:apache tcp/80nginx tcp/80mysql tcp/3306tomcat tcp/8080NFS tcp/2049ftp tcp/21net.tcp.listen[port]
监控端口的监听状态
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k net.tcp.listen[80]
1net.tcp.port[<ip>,port]
监控端口是否可以被连接
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k net.tcp.port[,80]
1net.tcp.service[service,<ip>,<port>]
监控服务是不是down了
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k net.tcp.service[http,,80]
1
五、监控mysql-server
1 安装软件
[root@nginx1 ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.51:/root/[root@mysqlA1 ~]# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm [root@mysqlA1 ~]# yum install -y zabbix-agent zabbix-sender2 写配置文件
[root@nginx1 ~]# scp /etc/zabbix/zabbix_agentd.conf 172.16.0.51:/etc/zabbix/[root@mysqlA1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Hostname=SY172.16.0.513 启动服务
[root@mysqlA1 ~]# systemctl start zabbix-agent
[root@mysqlA1 ~]# systemctl enable zabbix-agent[root@mysqlA1 ~]# netstat -antp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1295/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 1295/zabbix_agentd4 浏览器添加主机
- 二进制安装需要注意userparameter_mysql.conf
[root@mysqlA1 /etc/zabbix/zabbix_agentd.d]# ls
userparameter_mysql.conf[root@mysqlA1 /etc/zabbix/zabbix_agentd.d]# vim userparameter_mysql.confUserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'UserParameter= 自定义键值mysql.status[*] 键值;* 通配符, 键值 和 shell命令的分隔符(1) root 密码
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -u root -p'密码' -N 2> /dev/null | awk '{print $$2}'(2) bin包安装
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix /usr/local/mysql/bin/mysql -u root -p'密码' -N 2> /dev/null | awk '{print $$2}'
六、监控nginx状态
NginxStatus在虚拟主机里面添加:location /NginxStatus {stub_status on;}[root@nginx1 /usr/local/nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx1 /usr/local/nginx]# ./sbin/nginx -s reload[root@nginx1 ~]# curl http://127.0.0.1/NginxStatus
Active connections: 1 要这个
server accepts handled requests4 4 2
Reading: 0 Writing: 1 Waiting: 0 [root@nginx1 ~]# curl http://127.0.0.1/NginxStatus 2> /dev/null | awk '/Active/{print $NF}'
1自定义键值:
[root@nginx1 /etc/zabbix/zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl http://127.0.0.1/NginxStatus 2> /dev/null | awk '/Active/{print $NF}'[root@nginx1 ~]# systemctl restart zabbix-agentz server测试:
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k nginx.active
1
七、配置报警
1. 数据采集 已经完成2. 配置触发器(1)资源类cpuloadidle剩余率15 警告级别10 严重级别5 错误(灾难)级别
当前最新的idle剩余率<=15 并且 5分钟之内一直在持续这个状态last() <=15 and max(5m) <=15内存剩余率15 警告级别10 严重级别5 错误(灾难)级别
当前最新的内存剩余率 <= 15last(#1) <=15last(0) <=15last() <=15硬盘inode和block剩余率15 警告级别10 严重级别5 错误(灾难)级别网卡流量swap的剩余率(2)服务和节点状态服务的端口0 关闭1 正常节点的状态0 不通1 通函数:last() 最新的值sum() 求和min() 最小值max() 最大值表达式:时间单位是 秒1m = 60数据单位是 字节1k = 10243. 报警媒介邮件微信短信4. 报警动作报警的消息:简单直接描述清楚谁的什么现在是[警告]级别,当前值的多少。谁 {HOST.NAME1} 主机信息 可见的名称什么{ITEM.NAME1} 监控项信息 监控项的名称多少{ITEM.VALUE1} 值报警消息
{HOST.NAME1}的{ITEM.NAME1}现在是[警告]级别,当前值是{ITEM.VALUE1}。
恢复消息
{HOST.NAME1}的{ITEM.NAME1}使用率由[警告]恢复正常。报警消息
{HOST.NAME1}的{ITEM.NAME1}现在是[严重]级别,当前值是{ITEM.VALUE1}。
恢复消息
{HOST.NAME1}的{ITEM.NAME1}使用率由[严重]恢复正常。报警消息
{HOST.NAME1}的{ITEM.NAME1}现在是[灾难]级别,当前值是{ITEM.VALUE1}。
恢复消息
{HOST.NAME1}的{ITEM.NAME1}使用率由[灾难]恢复正常。测试报警:
[root@nginx1 ~]# dd if=/dev/zero of=/dev/null 消耗CPU[root@nginx1 /tmp]# dd if=/dev/zero of=f1 bs=1M count=2048消耗block
八、部署 z proxy
1. 安装
[root@nginx1 ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.70:/root/[root@zproxy ~]# yum install -y zabbix-proxy-mysql zabbix-get zabbix-java-gateway mariadb-server2. 配置(1)mariadb
[root@zproxy ~]# systemctl start mariadb
[root@zproxy ~]# systemctl enable mariadbMariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'localhost' identified by '12345';
MariaDB [(none)]> flush privileges;导入数据库:
[root@zproxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
[root@zproxy /usr/share/doc/zabbix-proxy-mysql-3.4.15]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@zproxy /usr/share/doc/zabbix-proxy-mysql-3.4.15]# gunzip schema.sql.gz
[root@zproxy /usr/share/doc/zabbix-proxy-mysql-3.4.15]# mysql zabbix_proxy < schema.sql [root@zproxy ~]# mysql zabbix_proxy
MariaDB [zabbix_proxy]> show tables;看到表,OK(2)z proxy
[root@zproxy /etc/zabbix]# vim zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=50[root@zproxy /etc/zabbix]# vim zabbix_proxy.conf
## 连接 z server
ProxyMode=0
Server=172.16.0.71
ServerPort=10051
Hostname=SYproxy
## 连接数据库
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=12345
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
## 间隔多长时间,向z server 传输数据
ConfigFrequency=3
DataSenderFrequency=1
## 连接java
JavaGateway=localhost
JavaGatewayPort=10052
StartJavaPollers=50[root@zproxy ~]# systemctl start zabbix-java-gateway
[root@zproxy ~]# systemctl enable zabbix-java-gateway[root@zproxy ~]# systemctl start zabbix-proxy
[root@zproxy ~]# systemctl enable zabbix-proxy[root@zproxy ~]# netstat -antp | grep 1005[12]
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1653/zabbix_proxy
tcp6 0 0 :::10051 :::* LISTEN 1653/zabbix_proxy
tcp6 0 0 :::10052 :::* LISTEN 1615/java 相关文章:
【zabbix监控软件(配置及常用键值)】
监控软件–zabbix 同类产品:nagios、cacti 简介:能够部署企业级监控平台。 监控范围 1)zabbix SNMP 监控网络设备 防火墙、交换机 2)zabbix agent 监控 服务器:raid插槽 CPU 内存插槽 温度 风扇 操作系统࿱…...
98、RS485全自动收发电路入坑笔记
因为RS485采用叉分信号,只支持半双工。正常的RS485芯片驱动电路是需要GPIO来切换发送和接收模式。如下图所示,一般的RS485电平转换芯片都有RE/DE脚,用来切换收发模式。 例如这篇推荐:芯片RS485自动收发电路常见问题与应对策略 但…...
单机快速部署开源、免费的分布式任务调度系统——Apache DolphinScheduler
本文主要为大家介绍Apache DolphinScheduler的单机部署方式,方便大家快速体验。 环境准备 需要Java环境,这是一个老生常谈的问题,关于Java环境的安装与配置期望大家都可以熟练掌握。 验证java环境 java -version 下载安装包并解压 使用wg…...
【运维监控】Prometheus+grafana监控zookeeper运行情况
运维监控系列文章入口:【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、prometheus集成grafana监控zookeeper1、修改zookeeper配置2、修改prometheus配置3、导入grafana模板4、验证 本示例通过zookeeper自带的监控信息暴露出来,然后…...
【C++二分查找】2560. 打家劫舍 IV
本文涉及的基础知识点 C二分查找 LeetCode2560. 打家劫舍 IV 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在…...
位段、枚举、联合
位段 在一个结构体中以位(最小单位)为单位来指定其成员所占的内存长度。位段成员名后面有一个冒号,冒号后有一个数字(这个数字是小于等于这个成员所占的位)。 typedef struct S {char a : 2;//8char b : 8;//8char c …...
golang学习笔记15——golang依赖管理方法
推荐学习文档 golang应用级os框架,欢迎star基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学…...
Linux 挂载磁盘与开机自动挂载操作指南
Linux 挂载磁盘与开机自动挂载操作指南 文章目录 Linux 挂载磁盘与开机自动挂载操作指南一 挂载磁盘1 查看硬盘信息2 新增数据盘执行分区3 新建分区4 创建一个主分区5 分区编号6 初始磁柱编号7 截止磁柱编号8 查看新建分区信息9 分区结果写入10 新分区同步操作系统11 设置新分区…...
『功能项目』单例模式框架【37】
我们打开上一篇36C#拓展 - 优化冗余脚本的项目, 本章要做的事情是编写单例模式基类,让继承其基类的子类在运行时只存在一个,共有两个单例基类框架,分别是不继承MonoBehaviour的单例和继承MonoBehaviour的单例框架 首先编写不继承…...
【计算机网络 - 基础问题】每日 3 题(三)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...
SpringCloud Nacos
**************************** 准备工作 首先准备号nacos的镜像 根据镜像创建nacos容器 nacos:container_name: nacosimage: nacos/nacos-server:v2.1.0-slimports: #需要监听三个端口- "8848:8848"- "9848:9848"- "9849:9849"privileged: tr…...
机器学习算法详细解读和python实现
文章目录 一、机器学习概述1.1 机器学习的定义与分类机器学习的分类 1.2 机器学习的基本流程1.3 Python在机器学习中的应用Python的优势Python在机器学习中的应用场景 2.1 线性回归的基本概念线性回归的数学表达线性回归的目标 2.2 最小二乘法技术最小二乘法的数学推导最小二乘…...
【Linux】Linux权限历险记---组和用户的关系
欢迎来到 CILMY23 的博客 🏆本篇主题为:Linux权限历险记---组和用户的关系 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码训练营…...
华为HCIA、HCIP和HCIE认证考试明细
华为认证体系包括三个主要等级:HCIA(华为认证ICT助理)、HCIP(华为认证ICT高级工程师)和HCIE(华为认证ICT专家)。每个等级的认证都有其特定的考试内容和费用。 HCIA(华为认证ICT助理…...
C++数据结构
单向链表 // // Created by 19342 on 2024/9/14. // #include <iostream> using namespace std;// 定义链表节点 struct Node {int data; // 节点存储的数据Node* next; // 指向下一个节点的指针 };// 初始化链表 Node* initList() {return nullptr; }// 在链表末尾添加…...
Linux下read函数详解
在Linux中,read 函数是最常用的系统调用之一,用于从文件或其他输入设备读取数据。它是低级别的I/O操作的核心,直接与操作系统的内核交互,提供了高效的数据读取方式。 一、read 函数简介 read 函数的声明如下: #inclu…...
【二叉树遍历算法应用】------补录
0.二叉树结点的链式存储结构 #include<stdio.h> #include<stdlib.h> #include<stdbool.h>typedef char TElemType;//树中元素基本类型为char类型//二叉树结点链式存储结构(二叉链表) typedef struct BiNode {TElemType data;//数据域…...
AtCoder Beginner Contest 368
A.Cut(模拟) 题意: 有一叠 N N N张扑克牌,最上面的 i i i张扑克牌上写着一个整数 A _ i A\_i A_i。 你从牌堆底部取出 K K K张牌,将它们放在牌堆顶部,并保持它们的顺序。 操作后从上到下输出写在卡…...
WebGL系列教程六(纹理映射与立方体贴图)
目录 1 前言2 思考题3 纹理映射介绍4 怎么映射?5 开始绘制5.1 声明顶点着色器和片元着色器5.2 修改顶点的颜色为纹理坐标5.3 指定顶点位置和纹理坐标的值5.4 获取图片成功后进行绘制5.5 效果5.6 完整代码 6 总结 1 前言 上一讲我们讲了如何使用索引绘制彩色立方体&a…...
为什么nii.gz转.nrrd标签体积变大?
import SimpleITK as sitk # nii nii.gz nrrd格式之间互相转换 def nii2nii(oripath, savepath):data sitk.ReadImage(oripath)img sitk.GetArrayFromImage(data)out sitk.GetImageFromArray(img)sitk.WriteImage(out, savepath)if __name__ __main__:oripath 00292625.ni…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 :print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
