zabbix监控进程、日志、主从状态和主从延迟

news2024/9/21 4:32:30

zabbix监控进程、日志、主从状态和主从延迟

  • 监控进程
    • 1、下载服务
    • 2、编写脚本
    • 3、编写zabbix_agentd.conf
    • 4、新建监控项配置触发器
    • 5、查看邮件
  • 监控日志
    • 1、上传log.py的
    • 2、编写zabbix_agentd.conf
    • 3、新建监控项配置触发器
  • 监控数据库主从状态
    • 1、编写/etc/hosts(master、slave、zabbix-server、zabbix-agent)
    • 2、时钟同步(master、slave)
    • 3、下载mariadb(master、slave)
    • 4、初始化
    • 5、修改配置文件
    • 6、配置主从
    • 7、下载zabbix-agent包,配置yum源(slave)
    • 8、编辑zabbix_agentd.conf
    • 9、添加主机、创建空模板
    • 10、编写脚本
    • 11、编写自配置文件
    • 12、验证
    • 13、配置监控项、触发器、图形
  • 监控数据库主从延迟
    • 1、编写脚本
    • 2、 配置agentd文件
    • 3、验证
    • 4、配置监控项、触发器

监控进程

1、下载服务

[root@zabbix-agent ~]# yum -y install httpd
[root@zabbix-agent ~]# systemctl restart httpd
[root@zabbix-agent ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

2、编写脚本

[root@zabbix-agent ~]# mkdir /etc/zabbix/script
[root@zabbix-agent ~]# cd /etc/zabbix/script/
[root@zabbix-agent script]# vim check_httpd.sh
[root@zabbix-agent script]# cat check_httpd.sh 
#!/bin/bash 
count=$(ps -ef | grep -Ev "grep|$0" | grep -c httpd)
if [ $count -eq 0 ];then
        echo '1'
else
        echo '0'
fi
[root@zabbix-agent script]# chmod +x check_httpd.sh
[root@zabbix-agent script]# chown -R zabbix.zabbix /etc/zabbix/script/

测试:
[root@zabbix-agent script]# ./check_httpd.sh 
0
[root@zabbix-agent script]# systemctl stop httpd
[root@zabbix-agent script]# ./check_httpd.sh 
1
[root@zabbix-agent script]# systemctl restart httpd
[root@zabbix-agent script]# ./check_httpd.sh 
0

3、编写zabbix_agentd.conf

[root@zabbix-agent script]# vim /etc/zabbix/zabbix_agentd.conf 
UserParameter=check_httpd,/bin/bash /etc/zabbix/script/check_httpd.sh
[root@zabbix-agent script]# systemctl restart zabbix-agent.service 

4、新建监控项配置触发器

监控项
在这里插入图片描述
在这里插入图片描述

触发器
在这里插入图片描述
在这里插入图片描述

5、查看邮件

在这里插入图片描述

监控日志

1、上传log.py的

[root@zabbix-agent script]# ls
check_httpd.sh  log.py
[root@zabbix-agent script]# yum -y install python3
[root@zabbix-agent script]# chmod +x log.py 
[root@zabbix-agent script]# chown zabbix.zabbix log.py 
[root@zabbix-agent script]# setfacl -m u:zabbix:r-x /var/log/httpd/

2、编写zabbix_agentd.conf


[root@zabbix-agent script]# vim /etc/zabbix/zabbix_agentd.conf 
UserParameter=check_logs[*],/usr/bin/python3 /etc/zabbix/script/log.py $1 $2 $3
[root@zabbix-agent script]# systemctl restart zabbix-agent.service 

测试:
[root@zabbix-agent script]# python3 log.py /var/log/httpd/error_log 
0
[root@zabbix-agent script]# echo 'Error' >> /var/log/httpd/error_log 
[root@zabbix-agent script]# python3 log.py /var/log/httpd/error_log 
1
[root@zabbix-agent script]# rm -rf /tmp/logseek

3、新建监控项配置触发器

监控项

在这里插入图片描述

在这里插入图片描述

触发器

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

监控数据库主从状态

1、编写/etc/hosts(master、slave、zabbix-server、zabbix-agent)

[root@zabbix-server ~]# vim /etc/hosts 
[root@zabbix-server ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.60  zabbix-server.example.com  zabbix-server
192.168.100.70  zabbix-agent.example.com  zabbix-agent
192.168.100.10  master.example.com master
192.168.100.20  slave.example.com  slave

2、时钟同步(master、slave)

[root@slave ~]# systemctl restart chronyd
[root@slave ~]# systemctl enable chronyd
[root@slave ~]# hwclock -w
[root@slave ~]# timedatectl 
               Local time: Tue 2024-08-13 18:34:46 CST
           Universal time: Tue 2024-08-13 10:34:46 UTC
                 RTC time: Tue 2024-08-13 10:34:46
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
[root@slave ~]# 


3、下载mariadb(master、slave)

[root@master ~]# yum install -y mariadb mariadb-server
[root@master ~]# systemctl restart mariadb
[root@master ~]# systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.

4、初始化

[root@master ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@master ~]# 

5、修改配置文件

[root@master ~]# vim /etc/my.cnf
[root@master ~]# cat /etc/my.cnf
[mysqld]
log_bin=mysql-bin
server_id=20
[root@master ~]# systemctl restart mariadb

[root@slave ~]# vim /etc/my.cnf
[root@slave ~]# cat /etc/my.cnf
[mysqld]
log_bin=mysql-bin
server_id=30
[root@slave ~]# systemctl restart mariadb

6、配置主从

[root@master ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.5.22-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> grant all privileges  on *.* to root@'%' identified by "123456";
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant replication slave on *.* to 'user'@'slave' identified by '123456';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> 


[root@slave ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.5.22-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> grant all privileges  on *.* to root@'%' identified by "123456";
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> change master to master_host='master',master_user='user',master_password='123456';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
                Slave_IO_State: Connecting to master
                   Master_Host: master
                   Master_User: user
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: 
           Read_Master_Log_Pos: 4
                Relay_Log_File: mariadb-relay-bin.000001
                 Relay_Log_Pos: 4
         Relay_Master_Log_File: 
              Slave_IO_Running: Connecting
             Slave_SQL_Running: Yes
               Replicate_Do_DB: 
           Replicate_Ignore_DB: 
            Replicate_Do_Table: 
        Replicate_Ignore_Table: 
       Replicate_Wild_Do_Table: 
   Replicate_Wild_Ignore_Table: 
                    Last_Errno: 0
                    Last_Error: 
                  Skip_Counter: 0
           Exec_Master_Log_Pos: 0
               Relay_Log_Space: 256
               Until_Condition: None
                Until_Log_File: 
                 Until_Log_Pos: 0
            Master_SSL_Allowed: No
            Master_SSL_CA_File: 
            Master_SSL_CA_Path: 
               Master_SSL_Cert: 
             Master_SSL_Cipher: 
                Master_SSL_Key: 
         Seconds_Behind_Master: NULL
 Master_SSL_Verify_Server_Cert: No
                 Last_IO_Errno: 1045
                 Last_IO_Error: error connecting to master 'user@master:3306' - retry-time: 60  maximum-retries: 86400  message: Access denied for user 'user'@'slave.example.com' (using password: YES)
                Last_SQL_Errno: 0
                Last_SQL_Error: 
   Replicate_Ignore_Server_Ids: 
              Master_Server_Id: 0
                Master_SSL_Crl: 
            Master_SSL_Crlpath: 
                    Using_Gtid: No
                   Gtid_IO_Pos: 
       Replicate_Do_Domain_Ids: 
   Replicate_Ignore_Domain_Ids: 
                 Parallel_Mode: optimistic
                     SQL_Delay: 0
           SQL_Remaining_Delay: NULL
       Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
              Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 0
    Slave_Transactional_Groups: 0
1 row in set (0.000 sec)

MariaDB [(none)]> 

7、下载zabbix-agent包,配置yum源(slave)

[root@slave ~]# ls
1  anaconda-ks.cfg  -e  -i.bak  zabbix-release-7.0-2.el9.noarch.rpm
[root@slave ~]# rpm -Uvh zabbix-release-7.0-2.el9.noarch.rpm 
warning: zabbix-release-7.0-2.el9.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID b5333005: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-7.0-2.el9         ################################# [100%]
[root@slave ~]# 

[root@slave ~]# vim /etc/yum.repos.d/zabbix.repo 
[root@slave ~]# cat /etc/yum.repos.d/zabbix.repo 
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rocky/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/9/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-08EFA7DD
gpgcheck=1

[zabbix-sources]
name=Zabbix Official Repository source code - $basearch
baseurl=https://repo.zabbix.com/zabbix/7.0/rocky/9/SRPMS
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005
gpgcheck=1

[root@slave ~]# vim /etc/yum.repos.d/epel.repo 
excludepkgs=zabbix*

[root@slave ~]# yum -y install zabbix-agent

8、编辑zabbix_agentd.conf

[root@slave ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server=192.168.100.60
ServerActive=192.168.100.60
Hostname=slave
[root@slave ~]# systemctl restart zabbix-agent.service 
[root@slave ~]# systemctl enable zabbix-agent.service 
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.

9、添加主机、创建空模板

在这里插入图片描述

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

10、编写脚本

[root@slave ~]# mkdir script
[root@slave ~]# cd script/
[root@slave script]# vim  mysql_slave_status.sh
#!/bin/bash
USER="root"
PASSWD="redhat"
NAME=$1

function IO {
        Slave_IO_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'`
        if [ $Slave_IO_Running == "Connecting" ];then
                echo 0
        else 
                echo 1
        fi
}

function SQL {
        Slave_SQL_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'`
        if [ $Slave_SQL_Running == "Yes" ];then       
                echo 0 
        else
                echo 1 
        fi
}


case $NAME in
         io)
                 IO
          ;;

        sql)
                SQL
         ;;
 *)
         echo -e "Usage: $0 [io | sql]"

        esac
[root@slave script]# 
[root@slave script]# chmod +x mysql_slave_status.sh
[root@slave script]# chown -R zabbix.zabbix /etc/zabbix/script/
 
验证:
[root@slave zabbix]# cd script/
[root@slave script]# ./mysql_slave_status.sh sql
0
[root@slave script]# ./mysql_slave_status.sh io
0
[root@slave script]# 

11、编写自配置文件

[root@slave zabbix]# cd  /etc/zabbix/zabbix_agentd.d/ 
[root@slave zabbix_agentd.d]# vim userparameter_mysql_slave.conf 
[root@slave zabbix_agentd.d]# cat userparameter_mysql_slave.conf 
UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slave_status.sh $1
[root@slave zabbix_agentd.d]# chown -R zabbix.zabbix /etc/zabbix/zabbix_agentd.d/userparameter_mysql_slave.conf 
[root@slave zabbix_agentd.d]# systemctl restart zabbix-agent.service 
[root@slave zabbix_agentd.d]# systemctl enable zabbix-agent.service 

12、验证

[root@zabbix-server ~]# yum -y install zabbix-get
[root@zabbix-server ~]# zabbix_get -s 192.168.100.20 -k mysql.slave[sql]
0
[root@zabbix-server ~]# zabbix_get -s 192.168.100.20 -k mysql.slave[io]
0
[root@zabbix-server ~]# 

13、配置监控项、触发器、图形

监控项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
触发器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

监控数据库主从延迟

1、编写脚本

[root@slave script]# vim mysql_delay.sh 
[root@slave script]# cat mysql_delay.sh 
#!/bin/bash     
delay=$(mysql -uroot -p123456 -e 'show slave status\G' 2> /dev/null | grep 'Seconds_Behind_Master' | awk '{print $2}')
if [ $delay == "NULL" ];then
echo 0
elif [ $delay -ge 0 ] && [ $delay -le 200 ];then         
echo 0
else
echo $delay
fi
[root@slave script]# chown -R zabbix.zabbix mysql_delay.sh
[root@slave script]# chmod +x mysql_delay.sh

2、 配置agentd文件

[root@slave script]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql_slave.conf
[root@slave script]# cat  /etc/zabbix/zabbix_agentd.d/userparameter_mysql_slave.conf
UserParameter=check_mysql_delay,/bin/bash /etc/zabbix/script/mysql_delay.sh
[root@slave script]# systemctl restart zabbix-agent.service 
[root@slave script]# 

3、验证

[root@slave script]# ./mysql_delay.sh 
0
[root@slave script]# 
[root@zabbix-server ~]# zabbix_get -s 192.168.100.20 -k check_mysql_delay
0
[root@zabbix-server ~]# 

4、配置监控项、触发器

监控项
在这里插入图片描述
在这里插入图片描述

触发器
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

IOS 09 R.swift框架和使用方法

R.swift框架主要是实现通过类字段访问字符串,图片,等资源;类似Android那边通过R类访问,好处是有提示,如果缺少资源,直接就是编译错误;OC类似的功能叫R.objc。 添加依赖 添加依赖 #将资源&…

第八周:机器学习笔记

第八周机器学习笔记 摘要Abstract机器学习1. 鱼和熊掌和可兼得的机器学习1.1 Deep network v.s. Fat network 2. 为什么用来验证集结果还是不好? Pytorch学习1. 卷积层代码实战2. 最大池化层代码实战3. 非线性激活层代码实战 总结 摘要 本周学习对李宏毅机器学习视…

AI学习记录 - Word2Vec 超详细解析

创作不易,点个赞 我们有一堆文本,词汇拆分 sentences ["jack like dog", "jack like cat", "jack like animal","dog cat animal", "banana apple cat dog like", "dog fish milk like"…

URP平面阴影合批处理 shadow

闲谈 相信大家在日常工作中发现了一个问题 , urp下虽然可以做到3个Pass 去写我们想要的效果,但是,不能合批(不能合批,那不是我们CPU要干冒烟~!) 好家伙,熊猫老师的偏方来了 &#x…

【数值方法-Python实现】Crout分解+追赶法实现

涉及Crout分解、追赶法的线性方程组求解方法的Python实现。 原文链接:https://www.cnblogs.com/aksoam/p/18366119 Codes def CroutLU(A:np.ndarray)->Tuple[np.ndarray,np.ndarray]:"""Crout LU分解算法,ALUinput:A: (n,n) np.ndarray,方阵out…

DrissionPage自动化获取城市数据内容

一、获取页面内容 二、最终结果 上海市 约收录140个指标 查看98075次 人均GDP 153299元 公交车 17899辆 户籍人口 1469.3万人 三、代码 from DrissionPage._pages.chromium_page import ChromiumPage import time page ChromiumPage() page.get(https://www.swguancha.com/…

【Delphi】中多显示器操作基本知识点

提要: 目前随着计算机的发展,4K显示器已经逐步在普及,笔记本的显示器分辨率也都已经超过2K,多显示器更是普及速度很快。本文介绍下Delphi中操作多显示器的基本知识点(Windows系统),这些知识点在…

UniFab 是一款由人工智慧驅動的視訊增強器+ crack

UniFab 是一款功能强大的视频处理工具,包括 10 个基于 AI 的功能。使用 UniFab,您可以提高视频和音频质量、将视频转换为不同的格式、根据自己的喜好编辑视频等等。以下是适用于 Windows 的 UniFab 程序的简要说明: 视频转换器。UniFab 支持 1000 多种视频格式的转换,包括 …

构建自己的图数据集

代码: import warnings warnings.filterwarnings("ignore") import torch from torch_geometric.data import Datax torch.tensor([[2,1],[5,6],[3,7],[12,0]],dtypetorch.float) y torch.tensor([0,1,0,1],dtypetorch.float)#定义边 edge_index torc…

⌈ 传知代码 ⌋ DETR[端到端目标检测]

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

Leetcode3232. 判断是否可以赢得数字游戏

Every day a Leetcode 题目来源:3232. 判断是否可以赢得数字游戏 解法1:3232. 判断是否可以赢得数字游戏 用一个 sum1 统计个位数的和,sum2 统计十位数的和。 只要 sum1 和 sum2 不相等,Alice 拿大的就能赢得这场游戏。 代码…

【论文阅读】HuatuoGPT-II, One-stage Training for Medical Adaption of LLMs

总体概要 本文深入探讨了一款专为医疗领域设计的大规模语言模型——HuatuoGPT-II的创新、性能与应用。HuatuoGPT-II采用统一的单阶段训练流程,将传统的继续预训练和监督微调整合,有效解决了医疗数据的异质性问题,包括语言、体裁和格式差异&a…

【STM32单片机_(HAL库)】3-2-1【中断EXTI】【电动车报警器项目】继电器定时开闭

1.硬件 STM32单片机最小系统继电器模块 2.软件 继电器模块alarm驱动文件添加GPIO常用函数main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "alarm.h"int main(void) {HAL_Init(); …

硬件面试经典 100 题(71~90 题)

71、请问下图电路的作用是什么? 该电路实现 IIC 信号的电平转换(3.3V 和 5V 电平转换),并且是双向通信的。 上下两路是一样的,只分析 SDA 一路: 1) 从左到右通信(SDA2 为输入状态&…

同一台电脑同时连接使用Gitee(码云)和Github

1、添加对应的密钥 ssh-keygen -t rsa -C "your_emailexample.com" -f ~/.ssh/github_id-rsa //生成github秘钥 ssh-keygen -t rsa -C "your_emailexample.com" -f ~/.ssh/gitee_id-rsa //生成码云秘钥 2、在 ~/.ssh 文件里会生成对应的文件 文件夹里会…

[k8s源码]12.远程调试dlv

在Windows/Mac宿主机上,使用GoLand的IDE进行开发,但是如何将这些代码直接运行在k8s集群中并看到运行效果呢,这里有一个远程调试工具dlv。 图中展示了dlv的工作方式。GoLand IDE中包含Editor(编辑器)和Debugger(调试器)组件,其中De…

深度学习基础之前馈神经网络

目录 基本结构和工作原理 神经元和权重 激活函数 深度前馈网络 应用场景 优缺点 深度前馈神经网络与卷积神经网络(CNN)和循环神经网络(RNN)的具体区别和联系是什么? 具体区别 联系 如何有效解决前馈神经网络…

探索Python的工业通信之光:pymodbus的奇妙之旅

文章目录 探索Python的工业通信之光:pymodbus的奇妙之旅背景:为何选择pymodbus?pymodbus是什么?如何安装pymodbus?5个简单的库函数使用方法3个场景使用示例常见bug及解决方案总结 探索Python的工业通信之光&#xff1a…

炒作将引发人工智能寒冬

我们似乎经常看到人工智能的进步被吹捧为机器真正变得智能的一大飞跃。我将在这里挑选其中的一个例子,并确切解释为什么这种态度会为人工智能的未来埋下隐患。 这很酷,这是一个非常困难且非常具体的问题,这个团队花了3 年时间才解决。他们一定…

结合GPT与Python实现端口检测工具(含多线程)

端口检测器是一个非常实用的网络工具,它主要用于检测服务器或本地计算机上的特定端口是否处于开放状态。通过这个工具,你可以快速识别和诊断网络连接问题,确保关键服务的端口能够正常接收和处理数据。这对于网络管理员和开发者来说是一个不可…