Zabbix监控系统详解及配置
前言
作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。利用一个优秀的监控软件,我们可以:
- 通过一个友好的界面进行浏览整个网站所有的服务器状态;
- 可以在web前端方便的查看监控数据;
- 可以回溯寻找事故发生时系统的问题和报警情况。
目录
一、zabbix概述
1.zabbix是什么?
2.zabbix监控原理
3.监控对象
(1)zabbix server
(2)zabbix agent
(3)zabbix proxy
(4)zabbix get
(5)zabbix sender
二、部署zabbix服务端
三、部署 zabbix 客户端
四、监控模板
1.使用官方或已开发设计好的模板
2.自定义监控模板
(1)监控客户端主机登录人数
(2)监控nginx客户端状态信息
五、配置zabbix报警
1.设置报警媒介
2.在用户设置中指定报警媒介
3.指定报警的监控触发器
4.测试报警
六、配置zabbix服务端自动发现与自动注册
1.自动发现
编辑
2.自动注册
七、部署zabbix代理服务器
八、SNMP监控
一、zabbix概述
1.zabbix是什么?
zabbix是一个基于 web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位、解决存在的各种问题。
zabbix由两部分构成,zabbix server与可选组件zabbix agent。通过c/s 模式采集数据,通过b/s 模式在web端展示和配置。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
2.zabbix监控原理
zabix agent安装在被监控的主机上,zabiboix agent负责定期收集客户端本地各项数据,并发送至zabbix server端,zabbix server收到数据后,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括发送信息(邮件、微信、短信)、发送命令( shell命令、reboot、restart、install等)。
3.监控对象
zabbix 监控部署在系统中,包含常见的五个程序:zabbix_server、zabix_agent、zabbix proxy、zabbix_get、zabix_sender等。
(1)zabbix server
zabbix服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix _proxy的数据最终都提交给zabbix server;
(2)zabbix agent
客户端守护进程,负责收集客户端数据,例如:收集CPU负载、内存、硬盘使用情况等;
(3)zabbix proxy
zabbix分布式代理守护进程,通常大于500台主机,需要进行分布式监控架构部署;
(4)zabbix get
zabbix 数据接收工具,单独使用的命令,通常在server或者 proxy端执行获取远程客户端信息的命令;
(5)zabbix sender
zabbix数据发送工具,用户发送数据给 server或 proxy端,通常用户耗时比较长的检查。

二、部署zabbix服务端
zabbix 服务端 zabbix_server 默认使用 10051 端口
zabbix_server:192.168.116.60(内存至少 2G,推荐 4G)
1.关闭防火墙和selinux,设置服务器名称,同步时间
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server
su
ntpdate ntp.aliyun.com
2.下载zabbix和相关软件
#获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#更换 zabbix.repo 为阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repoyum clean all && yum makecache
yum install -y zabbix-server-mysql zabbix-agent#安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /etc/opt/rh/ 目录下。
yum install -y centos-release-scl
还需要修改一下zabbix源,开启前端环境下载

#安装前端环境
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl#安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb
systemctl enable --now mariadb#初始化数据库
mysql_secure_installation


#导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix

3.修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf
......
DBPassword=zabbix #124行,指定 zabbix 数据库的密码
4. 修改 zabbix 的 php 配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai #24行,取消注释,修改时区
5.启动 zabbix 相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
6.浏览器访问zabbix:http://192.168.116.60/zabbix







可以点击主机查看图形化数据,但会出现中文乱码,需要导入字符集
#解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fonts
\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf


三、部署 zabbix 客户端
zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
客户端 zabbix_agent2 默认使用 10050 端口。zabbix_agent01:192.168.116.70
1. 关闭防火墙和selinux,设置服务器名称,同步时间
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
su
ntpdate ntp.aliyun.com
2.下载zabbix客户端
#设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2
3.修改客户端配置文件并开启
#修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.116.60 #80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.116.60 #120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01 #131行,指定当前 zabbix 客户端的主机名#开启服务
systemctl enable --now zabbix-agent2.service

4.在服务端验证zabbix-agent2 的连通性
#安装 zabbix 主动获取数据的命令
yum install -y zabbix-get #测试
zabbix_get -s '192.168.116.70' -p 10050 -k 'agent.ping'
zabbix_get -s '192.168.116.70' -p 10050 -k 'system.hostname'

5.新建客户端



四、监控模板
1.使用官方或已开发设计好的模板
Browse Zabbix / Zabbix - ZABBIX GIT
Zabbix searcher - 900+ Zabbix projects: templates, scripts, integrations, ...
Zabbix community templates
2.自定义监控模板
(1)监控客户端主机登录人数
首先再客户端自定义键(这里演示的用于监控主机登录人数,阈值为3,大于3报警)
在/etc/zabbix/zabbix_agent2.d/下新建.conf文件,在里面自定义键,格式为
UserParameter=<key>,<commend>

之后重启服务读取文件配置 systemctl restart zabbix-agent2.service
可以在服务端使用命令进行测试(当前登录数为4)

测试无误就可以添加自定义模板了


创建好模板,找到并进行配置

创建配置应用集




创建配置触发器



创建配置图形


将模板添加到客户端中

查看图形(监控到了登录人数)

(2)监控nginx客户端状态信息
客户端安装nginx,模拟监控nginx服务器
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1yum install nginx -y
修改nginx配置文件/etc/nginx/conf.d/default.conf,打开状态统计

重启服务,查看状态统计页面
systemctl start nginx
curl -s 127.0.0.1/status

编写监控nginx状态信息脚本,获取以上值,并给执行权限

#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
HOST="localhost"
PORT=80
URL="status"
NGINX_COMMAND=$1
#检查nginx状态
nginx_check() {if [ -f /sbin/pidof ]; then/sbin/pidof nginx | wc -welseps aux | grep -v "grep" | grep -c "nginx:"fi
}
#nginx状态相关信息的值
nginx_active(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Active/ {print $NF}'
}nginx_reading(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Reading/ {print $2}'
}nginx_writing(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Writing/ {print $4}'
}nginx_waiting(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}nginx_accepts(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $1}'
}nginx_handled(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $2}'
}nginx_requests(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
#命令获取对应值
case $NGINX_COMMAND incheck)nginx_check;;active)nginx_active;;reading)nginx_reading;;writing)nginx_writing;;waiting)nginx_waiting;;accepts)nginx_accepts;;handled)nginx_handled;;requests)nginx_requests;;*)echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac
脚本测试无误

自定义监控变量,用于模板使用

UserParameter=nginx.status[*],/etc/zabbix/zabbix_shell/zabbix_nginx.sh $1
#[*] 代表自定义变量nginx.status传入的值
#$1 代表前面变量传入的值作为此脚本执行的参数,获取对应状态值
重启服务systemctl restart zabbix-agent2.service,在服务端进行测试

测试无误,去前端自定义模板









五、配置zabbix报警
1.设置报警媒介




可以进行测试


2.在用户设置中指定报警媒介

3.指定报警的监控触发器



4.测试报警
我们之前设置的报警触发器有一条是,当nginx进程为0,触发报警,所有我们可以模拟关闭nginx,看看是否能通过设置的报警媒介,收到zabbix的报警。



当我们恢复这个问题,此问题便会消失


六、配置zabbix服务端自动发现与自动注册
1.自动发现
zabbix 自动发现(对于 agent2 是被动模式)是zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
首先添加一台客户端,安装好zabbix-agent2服务,修改配置文件指定服务端地址和客户端名称,然后开启服务
服务端和客户端都需要配置彼此的域名解析




2.自动注册
zabbix 自动注册(对于 agent2 是主动模式),zabbix agent2 会主动上报自己的信息,发给 zabbix server。缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。
先禁用自动发现,删除客户端02,做自动注册


在客户端配置文件开启自动注册,然后重启服务

添加自动注册动作



七、部署zabbix代理服务器
配置zabbix代理,分担 server 的集中式压力,解决多机房之间的网络延时问题。

首先关闭防火墙,修改主机名,安装代理
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxyrpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-proxy-mysql zabbix-get
安装代理所需数据库,做初始化,密码设的是123123
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
mysql_secure_installation
添加数据库和用户,授权,导入数据库表信息
mysql -uroot -p123123
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
quit
#退出后导入表数据
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.29/schema.sql.gz | mysql -uroot -p123123 zabbix_proxy


修改代理配置文件,然后启动服务
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.116.60 #30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy #49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix #196行,指定当前数据库 zabbix 用户的密码systemctl start zabbix-proxy
修改agent 指向代理的地址
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.116.40 #80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.116.40 #120行,指定 zabbix 代理服务器的 IP 地址
还需要在每台主机添加域名解析

之后去服务端指定代理

创建客户端时添加代理

之后依次重启server、proxy、client 服务

等待客户端全部亮起即可
八、SNMP监控
使用SNMP简单网络管理协议,对网络中的资源进行管理和实时监控。
首先在需要监控的路由器、交换机上安装snmp(这里以server本机为例)
yum install -y net-snmp net-snmp-utils.x86_64systemctl start snmpd.service
然后去前端修改使用snmp




相关文章:
Zabbix监控系统详解及配置
前言 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务…...
【100天精通python】Day29:文件与IO操作_XML文件处理
目录 专栏导读 一、XML文件概述 1. 标签和元素 2. 嵌套结构 3. 属性 4. 命名空间 5. CDATA节 6. 注释 7. 验证与验证语言 8. 扩展性 二、XML文件处理常见操作 1. 解析XML文件 2. 创建和编辑XML文件 3. 修改XML文件 4. 查询XML元素 5 遍历XML元素 6. 删除XML元…...
人工智能的未来:探索下一代生成模型
推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 生成式 AI 目前能够做什么,以及探索下一波生成式 AI 模型需要克服的当前挑战? 如果你跟上科技世界的步伐,你就会知道生成式人工智能是最热门的话题。我们听到了很多关于…...
C++ 运算符重载为非成员函数
运算符也可与重载为非成员函数。这时运算所需要的操作数都需要通过函数的形参表来传递,在形参表中形参从左到右的顺序就是运算符操作数的顺序。如果需要访问运算符参数对象的私有成员,可以将该函数声明为友元函数。 【提示】不用机械地将重载运算符的非…...
[国产MCU]-BL602开发实例-定时器
定时器 文章目录 定时器1、BL602定时器介绍2、定时器驱动API介绍3、定时器使用实例3.1 单次计时3.2 持续计时通用定时器,用于定时,当时间到达我们所设置的定时时间会产生定时中断,可以用来完成定时任务。本文将详细介绍如何使用BL602的定时器功能。 1、BL602定时器介绍 BL6…...
re学习(29)攻防世界-CatFly(复原反汇编)
因为这是一个.dll文件,在Linux上运行一下: 找到主要函数:(以及由上面三部分对应的代码部分) __int64 __fastcall main(int a1, char **a2, char **a3) {size_t v3; // rbx__int16 v5[4]; // [rsp10h] [rbp-4B0h] B…...
Android WIFI-概率性不能自连
1.连上wifi时同步保存wifi密码,避免连上wifi后马上断电重启由于密码没保存导致不能自动重连wifi packages/modules/Wifi/service/java/com/android/server/wifi/SupplicantStaIfaceHal.java @@ -66,6 +66,7 @@ import com.android.server.wifi.WifiNative.SupplicantDeathEve…...
用Python批量复制文件,方法有9种,方便快捷
前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 当我们复制一个文件时用复制粘贴就可以了,如果是多个文件呢? 就会很麻烦了! 今天给大家介绍一下用Python批量复制文件,方法有九种!希望对你有帮助 1. Shutil Copy…...
《凤凰架构》第一章——服务架构演进史
前言 刚开始决定弄懂文中所提到的所有东西,就像我写ByteByteGo呢几篇文章一样,把每一句话都弄懂。但是对于《凤凰架构》来说,这有点太费时间了,并且没有必要,有些东西可能永远都不会用到,但文章为了全面的…...
【iPhone】手机还有容量,拍视频却提示 iPhone 储存空间已满
文章目录 前言解决方案 结语 前言 今天在用 iPhone 录像的时候突然提醒我 iPhone储存空间已满 你没有足够的储存空间来录制视频” 可我明明还有 20G 的容量 我非常疑惑,因为我之前还剩1个G都能录像,现在20G反而不行了,于是重启了手机&#…...
pycharm中opencv库导入 cv2. 无函数提示跳出解决方法
pycharm中opencv库导入 cv2. 无函数提示跳出解决方法 1、找到当前解释器安装目录 例如: 2、进入D:\Python37\Lib\site-packages\cv2文件,进入cv2文件夹: 找到cv2.pyd, 把cv2.pyd复制一份,放到上层文件夹下,即site-p…...
week3
题解: 前序遍历性质: 节点按照 [ 根节点 | 左子树 | 右子树 ] 排序。 中序遍历性质: 节点按照 [ 左子树 | 根节点 | 右子树 ] 排序。 通过以上三步,可确定 三个节点 :1.树的根节点、2.左子树根节点、3.右子树根节点。 之后进行…...
LeetCode28.找出字符串中第一个匹配项的下标
28.找出字符串中第一个匹配项的下标 目录 28.找出字符串中第一个匹配项的下标题目描述解法一:朴素的模式匹配解法二:KMP算法KMP解决的问题类型最长公共前后缀KMP算法过程next数组的构建代码实现 题目描述 给你两个字符串haystack和needle,请…...
爬虫009_字符串高级_替换_去空格_分割_取长度_统计字符_间隔插入---python工作笔记028
然后再来看字符串的高级操作 取长度 查找字符串下标位置 判断是否以某个字符,开头结尾 计算字符出现次数 替换...
Windows 安装Tensorflow2.1、Pycharm开发环境
文章目录 1、安装anaconda2、安装Tensoflow2.1、创建虚拟环境2.2、安装Tensorflow依赖2.3、验证Tensorflow是否成功 3、配置pycharm环境4、错误记录 1、安装anaconda https://www.anaconda.com/download 打开命令行工具,出现base就表示安装成功了,表示当…...
【javaScript】数组的常用方法(自用记忆版)
目录 一、操作方法 增 push() unshift() splice() concat() 删 pop() shift() splice() slice() 改 splice() 查 indexOf() includes() find() 二、排序方法 reverse() sort() 三、转换方法 join() 四、迭代方法 some() every() forEach…...
全新二开美化版UI好看的社区源码下载/反编译版
2023全新二开美化版UI精美的社区源码下载/反编译版 之前我分享过Rule原版,相信大家已经有很多人搭建好了。这次我要分享的是RuleAPP的二开美化版(请尊重每个作者的版权),这个版本没有加密,可以进行反编译,…...
Docker 发布一个springboot项目
文章目录 1、新建SpringBootDemo项目并打包2、使用Dockerfile打包(基础用法)进一步maven源码打包法 3、更进一步(maven插件打包)docker-maven-pluginspring-boot-maven-plugin前提条件本地环境配置项目环境配置maven插件打包运行校…...
办公信息系统安全基本技术要求
范围 本标准规定了办公信息系统的安全基本技术要求。 本标准适用于指导党政部门的办公信息系统建设,包括在系统设计、产品采购、系统集成等方面应遵循的基本原则,以及应满足的基本技术要求。涉密办公信息系统的建设管理应依据相关国家保密法规和标准要…...
有效管理IT问题的5个原则
问题管理就是发现未知的、隐藏的问题,这是根本原因, 这是您 IT 帮助台无穷无尽的工单来源。当您实施有效的 问题管理,您的 IT 团队可以超越消防模式,专注于战略 IT 目标。以下是可以帮助您实现一流问题管理的五个原则:…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

