【zabbix企业级监控】

news2024/9/20 22:32:49

目录

Zabbix

Zabbix特点

实验环境准备

Server端

agent端

server端

配置阿里云yum源

启动LAMP对应服务

准备java环境

源码安装zabbix

Mariadb数据库授权

创建zabbix程序用户并授权防止权限报错

修改zabbix配置文件

配置php与apache

web安装zabbix

Zabbix页面优化

1.调整zabbix页面为中文页面

Zabbix监控主机

添加自身为被监控机


Zabbix

重点一

  1. Zabbix简介

在企业网络运维过程中,管理员必须随时关注各服务器和网络的运行状况,以便及时发现问题,尽可能减少故障的发生。当网络中的设备,服务器等数量较多时,为了更加方便,快捷的获得监控信息,通常会借助于一些集中监测软件。

想要实时的了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的途径。就目前而言,有服务器的地方就少不了监控系统,现有的监控系统软件很多,但是zabbix可灵活的监控服务器资源,并且集cacti与nagios两者的优点于一身且功能更强大,实现企业级分布式监控,所以在市场应用更广。

Zabbix是一个基于web界面的企业级开源监控套件,由C语言编写而成的底层架构(server端和agent端),由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。世界上很多大小不同的组织机构都依赖与zabbix作为自己的一个主要的监控平台,尤其是现在很多互联网企业都在使用它。提供分布式系统监控与网络监控功能,具备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表,图表的绘制等功能。检测的对象可以是linux或windows服务器,也可以是路由器,交换机等网络设备,通过SNMP(Simple network protocol 简单网络管理协议),zabbix agent,ping,端口监视等方法提供对远程网络服务器等监控,数据收集等功能,并提供通知机制使系统管理员可以快速定位,解决系统中存在的各种问题,目前,zabbix最新版本为zabbix5.0,官方网址是 

组件说明:

1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;

2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;

3)web interface:zabbix的GUI接口;

4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;

5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;

监控流程:

  agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:

  主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

  被动:server向agent请求获取监控项的数据,agent返回数据。

客户端守护进程

此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。

zabbix_get

  zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

zabbix_sender

  zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

zabbix_server

  zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server

备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

zabbix_proxy

  zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

zabbix_java_gateway

  zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

重点四

扩展:zabbix的监控架构

  在实际监控架构中,zabbix根据网络环境、监控规模等 分了三种架构: server-client 、master-node-client、server-proxy-client三种 。

1、server-client架构

  也是zabbix的最简单的架构,监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。

2、server-proxy-client架构

  其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。该架构经常是和master-node-client架构做比较的架构 ,一般适用于跨机房、跨网络的中型网络架构的监控。

3、master-node-client架构

  该架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境 。每个node同时也是一个server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损坏对node其下架构的完整性。

重点五

Grafana简介:

  Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。以InfluxDB(由go语言编写,是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库)作为底层数据库;

  Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。

Zabbix特点


Zabbix是一个高度集成的网络监控解决方案,具备如表所示的特点:

特点

说明

数据采集

可用性和性能检查

支持SNMP(trapping或polling),IPMI,JMX,VMware的监控

自定义检测

按照自定义时间间隔收集所需数据

通过server/proxy和agent来执行监控

灵活的阈值定义

可以定义非常灵活的问题阈值,称为触发器(triggers),从后端数据库调用数值

高度可配置的告警

可以自定义警告升级(escalation),接受者及告警方式

告警信息可以配置并允许使用宏(macro)变量

通过远程命令实行自动化动作(action)

实时绘图

通过内置的绘图方法实现监控数据实时绘图

Web监控能力

Zabbix可以模拟鼠标单击网站并检查其功能性和响应时间

广泛的可视化选项

能够创建自定义图表,可以组合多个项到一个单一的视图中网络拓扑

自定义屏幕和侧边栏作为仪表盘(dashboard)样式显示报告

监视资源的高级视图(商业)

历史数据存储

用数据库来存储数据

配置历史

内置的管理程序

容易配置

添加监控设备作为主机

一旦在数据库中,主机即可被监控

将模版应用到监控监控设备

使用模版

模版中的可以组监控

模版中可以继承其他模版

网络发现

网络设备的自动发现

代理(agent)自动注册

自动发现文件系统,网络接口,SNMP OID

快速的web接口

Web前端采用php编写

按照自定义的方式单击审计日志

Zabbix API

Zabbix API 提供可编程接口面向Zabbix大规模操作,方便第三方软件集成

安全的用户认证

权限系统

某些用户可以受限于某些试图

功能齐全且易于扩展的代理(agent)

部署在监控目标上

Linux和windows上都可以部署

用C语言写的,高性能且内存占用小

二进制守护进程

易移植

通过使用zabbix proxy可以轻松进行远程监控

实验环境准备

Centos7.5:192.168.200.111    server.zabbix.com

Centos7.5:192.168.200.112   agent.zabbix.com

Windows10:192.168.200.2 windows10client

Server端


 [root@localhost ~]# ifconfig ens33 //配置地址如下

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.200.111  netmask 255.255.255.0  broadcast 192.168.200.255

        inet6 fe80::20c:29ff:fe41:e900  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:41:e9:00  txqueuelen 1000  (Ethernet)

        RX packets 894  bytes 100024 (97.6 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 634  bytes 87101 (85.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# cat /etc/hostname //编写hostname文件更改主机名

server.zabbix.com

[root@localhost ~]# nslookup www.baidu.com   //测试是否能够上网

Server: 202.106.0.20

Address: 202.106.0.20#53



Non-authoritative answer:

www.baidu.com canonical name = www.a.shifen.com.

Name: www.a.shifen.com

Address: 119.75.216.20

Name: www.a.shifen.com

Address: 119.75.213.61

[root@localhost ~]# hostname server.zabbix.com //更改主机名

[root@localhost ~]# bash //进入新bash环境

[root@server ~]# vim /etc/hosts

[root@server ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.200.111 server.zabbix.com

192.168.200.112 agent.zabbix.com

192.168.200.2   windows10

[root@server ~]# scp /etc/hosts 192.168.200.112:/etc/    

The authenticity of host '192.168.200.112 (192.168.200.112)' can't be established.

ECDSA key fingerprint is SHA256:RyIy/xT7fCqWfn1Yr2+VykD2bnJosBrrZQ4H/E62Neg.

ECDSA key fingerprint is MD5:29:eb:f8:06:0d:fb:b3:b7:89:ec:b8:c2:28:89:6d:01.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.200.112' (ECDSA) to the list of known hosts.

root@192.168.200.112's password:

hosts                          100%  250    10.2KB/s   00:00    

[root@server ~]# systemctl stop firewalld.service //关闭firewalld及selinux

[root@server ~]# setenforce 0

setenforce: SELinux is disabled

agent端


[root@localhost ~]# cat /etc/hostname

agent.zabbix.com

[root@localhost ~]# ifconfig ens33

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.200.112  netmask 255.255.255.0  broadcast 192.168.200.255

        inet6 fe80::20c:29ff:feb6:b87b  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:b6:b8:7b  txqueuelen 1000  (Ethernet)

        RX packets 925  bytes 103544 (101.1 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 481  bytes 55752 (54.4 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# hostname agent.zabbix.com

[root@localhost ~]# bash

[root@agent ~]# systemctl stop firewalld.service

[root@agent ~]# setenforce 0

setenforce: SELinux is disabled

[root@agent ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.200.111 server.zabbix.com

192.168.200.112 agent.zabbix.com

192.168.200.101 windows7

[root@agent ~]# ping server.zabbix.com -c 4

PING server.zabbix.com (192.168.200.111) 56(84) bytes of data.

64 bytes from server.zabbix.com (192.168.200.111): icmp_seq=1 ttl=64 time=1.40 ms

64 bytes from server.zabbix.com (192.168.200.111): icmp_seq=2 ttl=64 time=1.10 ms

64 bytes from server.zabbix.com (192.168.200.111): icmp_seq=3 ttl=64 time=1.12 ms

64 bytes from server.zabbix.com (192.168.200.111): icmp_seq=4 ttl=64 time=2.28 ms



--- server.zabbix.com ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3013ms

rtt min/avg/max/mdev = 1.105/1.481/2.289/0.481 ms

server端

配置阿里云yum源


以下实验操作请注意主机名!!!

[root@server ~]# cd /etc/yum.repos.d/

[root@server yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo

[root@server yum.repos.d]# ls

backup  Centos-7.repo  CentOS-Media.repo

[root@server ~]# yum install -y httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel ntpdate curl-devel

//部署lamp环境 提供zabbix访问页面 其中PHP部分选项是为zabbix提供支持

报错如下信息 就是因为要安装mysql-devel

configure: error: MySQL library not found

[root@server yum.repos.d]# ntpdate time.windows.com   //同步时间 清华大学时间服务器

启动LAMP对应服务


[root@server yum.repos.d]# cd

[root@server ~]# systemctl start mariadb

[root@server ~]# systemctl enable mariadb      //设置为开机启动

Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

[root@server ~]# systemctl start httpd

[root@server ~]# systemctl enable httpd

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

[root@server ~]# mysqladmin -u root password 123123    //为mysql root用户设置密码

准备java环境


[root@server ~]# java -version

openjdk version "1.8.0_161"

OpenJDK Runtime Environment (build 1.8.0_161-b14)

OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

[root@server ~]# which java

/usr/bin/java

[root@server ~]# rm -rf /usr/bin/java       //删除后重新部署java环境

[root@server ~]# ls

anaconda-ks.cfg            公共  图片  音乐

initial-setup-ks.cfg       模板  文档  桌面

jdk-8u91-linux-x64.tar.gz  视频  下载

[root@server ~]# tar xf jdk-8u91-linux-x64.tar.gz

[root@server ~]# mv jdk1.8.0_91/ /usr/local/java

[root@server ~]# vim /etc/profile

[root@server ~]# tail -2 /etc/profile

export JAVA_HOME=/usr/local/java

export PATH=$PATH:$JAVA_HOME/bin

[root@server ~]# source /etc/profile

[root@server ~]# java -version

java version "1.8.0_91"

Java(TM) SE Runtime Environment (build 1.8.0_91-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

[root@server ~]# javac -version

javac 1.8.0_91

[root@server ~]# which java

/usr/local/java/bin/java

源码安装zabbix


[root@server ~]# ls

anaconda-ks.cfg            zabbix-3.4.11.tar.gz  视频  下载

initial-setup-ks.cfg       公共                  图片  音乐

jdk-8u91-linux-x64.tar.gz  模板                  文档  桌面

[root@server ~]# tar xf zabbix-3.4.11.tar.gz -C /usr/src/

[root@server ~]# cd /usr/src/zabbix-3.4.11/

[root@server zabbix-3.4.11]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java && make -j2 && make install

--prefix=/usr/local/Zabbix      指定安装位置

--enable-server --enable-agent    启用zabbix和agent

详见./configure –help

Mariadb数据库授权


[root@server zabbix-3.4.11]# cd

[root@server ~]# mysql -u root -p123123

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 4

Server version: 5.5.56-MariaDB MariaDB Server

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

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

MariaDB [(none)]> create database zabbix character set utf8;

Query OK, 1 row affected (0.14 sec)

MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

Query OK, 0 rows affected (0.07 sec)

MariaDB [(none)]> grant all on zabbix.* to zabbix@'192.168.200.111' identified by 'zabbix';

Query OK, 0 rows affected (0.11 sec)   //此步骤是为zabbix_server启动授权

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

Bye

[root@server ~]# cd /usr/src/zabbix-3.4.11/    //导入zabbix需要的mysql数据

[root@server zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

[root@server zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql

[root@server zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

登录查看

[root@server ~]# mysql -u root -p123123

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 9

Server version: 5.5.56-MariaDB MariaDB Server

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

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

MariaDB [(none)]> use zabbix;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

MariaDB [zabbix]> show tables;

+----------------------------+

| Tables_in_zabbix           |

+----------------------------+

| acknowledges               |

| actions                    |

| alerts                     |

| valuemaps                  |

| widget                     |

| widget_field               |

+----------------------------+

140 rows in set (0.01 sec)

MariaDB [zabbix]> \q

Bye

创建zabbix程序用户并授权防止权限报错


[root@server ~]# useradd -M -s /sbin/nologin zabbix

[root@server ~]# cd /usr/local/

[root@server local]# cd ./zabbix/

[root@server zabbix]# pwd

/usr/local/zabbix

[root@server zabbix]# mkdir logs

[root@server zabbix]# chown -R zabbix:zabbix ../zabbix/

[root@server zabbix]# cp -p etc/zabbix_server.conf{,.bak}

[root@server zabbix]# cp -p etc/zabbix_agentd.conf{,.bak}

修改zabbix配置文件


[root@server zabbix]# cd /usr/local/zabbix/etc/

[root@server etc]# ls

zabbix_agentd.conf      zabbix_server.conf

zabbix_agentd.conf.bak  zabbix_server.conf.bak

zabbix_agentd.conf.d    zabbix_server.conf.d

[root@server etc]# vim zabbix_server.conf

LogFile=/usr/local/zabbix/logs/zabbix_server.log

PidFile=/tmp/zabbix_server.pid

DBHost=192.168.200.111

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBSocket=/var/lib/mysql/mysql.sock
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

注释:

LogFile=/usr/local/zabbix/logs/zabbix_server.log     #指定zabbix日志位置

PidFile=/tmp/zabbix_server.pid #指定zabbix pid文件位置

DBHost=192.168.200.111 #指定数据库主机

DBName=zabbix     #指定数据库名为zabbix

DBUser=zabbix                                   #指定用户为zabbix

DBPassword=zabbix #指定密码为zabbix

DBSocket=/var/lib/mysql/mysql.sock #指定mariadb数据库的sock文件

Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf 

[root@server etc]# vim zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid

Server=127.0.0.1,192.168.200.111

ServerActive=192.168.200.111

Hostname=server.zabbix.com                   #指定zabbixserver主机名

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log +
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

[root@server ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/bin

[root@server ~]# zabbix_server

[root@server ~]# zabbix_agentd

配置php与apache


[root@server ~]# mv /usr/src/zabbix-3.4.11/frontends/php/ /var/www/html/zabbix

[root@server ~]# chown -R apache:apache /var/www/html/zabbix

[root@server ~]# vim /etc/php.ini

878 date.timezone = Asia/Shanghai ##时区

384 max_execution_time = 300 ##单位秒,通过POST、GET以及PUT方式接收数据时间进行限制

394 max_input_time = 300 ##php程序上传文件解析数据时的时间限制

672 post_max_size = 32M ##POST 方式请求数据所允许的最大大小

405 memory_limit = 128M ##设置php程序的内存限制

854 extension=bcmath.so   ##加载zabbix程序需要加载的扩展模块bcmath.so手动添加

[root@server ~]# systemctl restart httpd

[root@server etc]# netstat -anpt | egrep ':10050|:10051|:80'

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      22546/zabbix_agentd

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      22651/zabbix_server                  

tcp6       0      0 :::10050                :::*                    LISTEN      22546/zabbix_agentd

tcp6       0      0 :::10051                :::*                    LISTEN      22651/zabbix_server

tcp6       0      0 :::80                   :::*                    LISTEN      2783/httpd

web安装zabbix

访问http://192.168.200.111/zabbix

 

 

 

 

 出现此处便表示zabbix的前端已经搭建成功了  我们看到的zabbix页面为英文的

Zabbix页面优化

1.调整zabbix页面为中文页面

 

 

 

 2.更改admin密码

 

 

 

 

 

3.解决中文乱码问题

[root@server ~]# cd /var/www/html/zabbix/fonts/

[root@server fonts]# ls

DejaVuSans.ttf

[root@server fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.bak

[root@server fonts]# rz

[root@server fonts]# ls

DejaVuSans.ttf.bak  simkai.ttf

[root@server fonts]# mv simkai.ttf DejaVuSans.ttf

[root@server fonts]# ls

DejaVuSans.ttf  DejaVuSans.ttf.bak

[root@server fonts]# ll

总用量 4780

-rw-r--r-- 1 root   root   4135804 9月  22 2017 DejaVuSans.ttf

-rw-r--r-- 1 apache apache  756072 6月  25 16:57 DejaVuSans.ttf.bak

[root@server fonts]# chown -R apache:apache *

[root@server fonts]# ll

总用量 4780

-rw-r--r-- 1 apache apache 4135804 9月  22 2017 DejaVuSans.ttf

-rw-r--r-- 1 apache apache  756072 6月  25 16:57 DejaVuSans.ttf.bak

刷新查看

Zabbix监控主机

添加自身为被监控机

 

 

 

 

 

 等待一会刷新出如下页面

 

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

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

相关文章

YOLOv8+BoT-SORT多目标跟踪(行人车辆计数与越界识别)

课程链接&#xff1a;https://edu.csdn.net/course/detail/38919 BoT-SORT是发表于2022年的先进的多目标跟踪算法&#xff0c;它结合了运动和外观信息、相机运动补偿和更准确的卡尔曼滤波状态向量&#xff0c;并把这些改进集成到ByteTrack&#xff0c;从而在MOTA、IDF1和HOTA性…

数据库结构差异对比工具

简介 前几年写了一个数据库对比工具&#xff0c;但是由于实现方式的原因&#xff0c;数据库支持有限&#xff0c;所以重新设计了一下&#xff0c;便于支持多种数据库&#xff0c;并且更新了UI。 新版地址&#xff1a;https://gitee.com/xgpxg/db-diff 旧版地址&#xff1a;h…

一文入门最热的LLM应用开发框架LangChain

在人工智能领域的不断发展中&#xff0c;语言模型扮演着重要的角色。特别是大型语言模型&#xff08;LLM&#xff09;&#xff0c;如 ChatGPT&#xff0c;已经成为科技领域的热门话题&#xff0c;并受到广泛认可。 在这个背景下&#xff0c;LangChain 作为一个以 LLM 模型为核…

【CC精品教程】ContextCapture 10.20安装教程(附CC10.20安装包下载)

文章目录 一、ContextCapture 10.20安装1. 安装主程序2. 打补丁3. 安装中文包二、ContextCapture 10.20下载一、ContextCapture 10.20安装 订阅《无人机航空摄影测量精品教程》专栏(可以免费获取安装包,也可以查看更多专业航测教程)。 1. 安装主程序 下载打开安装包,如下图…

漏洞复现 || 某我行CRM系统SQL注入

漏洞描述 某任我行 CRM SmsDataList 接口处存在SQL注入漏洞&#xff0c;未经身份认证的攻击者可通过该漏洞获取数据库敏感信息及凭证&#xff0c;SenderTypeId参数存在注入&#xff0c;最终可能导致服务器失陷。 免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网…

如何找到一个数的所有质因数,以及如何快速判断一个数是不是质数

前情介绍 今天遇到一个需求&#xff1a;找到一个数所有的质因数。 初步解决 先定义一个判断质数的函数&#xff1a; def is_Prime(number):i 2count 0while i < number:if number % i 0 :count 1i 1if count > 0:return Falseelse:return True 接着定义一个寻找质…

信看课堂笔记—电路若只如初见

本节课结合我们模块经常遇到的电子元器件和电路讲解下原理和方案选型 认识电阻、电容和电感 以下是电阻、电容和电感的作用的简要对比表格&#xff1a; 作用 电阻 电容 电感 限制电流 通过阻碍电流流动&#xff08;欧姆定律IU/R&#xff09; 阻止直流电流通过 随频…

JDBCTEMPLATE 的基本使用----查询操作26

1、再讲一下聚合查询&#xff0c;首先我们先讲一下查询全部&#xff0c;copy一下代码&#xff1a;ROWapper是一个接口&#xff0c;返回的数据是List 1.1 Row 是行&#xff0c; Mapper映射&#xff0c;我们要用接口帮我们去完成数据实体类的封装这件事情&#xff1a; 2&#xf…

轻量级 Bean 实体校验器

简介 概述 利用 Spring 自带校验器结合 JSR 注解实现轻量级的 Bean 实体校验器。轻捷、简单、很容易上手&#xff0c;也容易扩展。 三个核心类ValidatorInitializing、ValidatorImpl、ValidatorEnum去掉注释不超过共200行源码实现 10多m 的 Hibernate Validator 多数功能。 …

使用VS code 编辑器 导出、导入和运行Excel中的VBA代码

使用VS code 编辑器 导出、导入和运行Excel中的VBA代码 前言 Excel自带的 Microsoft Visual Basic for Applications 编辑器常被人称为上古编辑器&#xff0c;的确不适合代码编辑&#xff0c;这是其一&#xff0c;其二是当系统语言与Excel的安装语言不一致时&#xff0c;往往出…

网络安全---负载均衡案例

一、首先环境配置 1.上传文件并解压 2.进入目录下 为了方便解释&#xff0c;我们只用两个节点&#xff0c;启动之后&#xff0c;大家可以看到有 3 个容器&#xff08;可想像成有 3 台服务器就成&#xff09;。 二、使用蚁剑去连接 因为两台节点都在相同的位置存在 ant.jsp&…

从关键新闻和最新技术看AI行业发展(2023.7.10-7.23第三期) |【WeThinkIn老实人报】

Rocky Ding 公众号&#xff1a;WeThinkIn 写在前面 【WeThinkIn老实人报】本栏目旨在整理&挖掘AI行业的关键新闻和最新技术&#xff0c;同时Rocky会对这些关键信息进行解读&#xff0c;力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议&#xff0c;一起交流…

字符设备驱动实例(ADC驱动)

四、ADC驱动 ADC是将模拟信号转换为数字信号的转换器&#xff0c;在 Exynos4412 上有一个ADC&#xff0c;其主要的特性如下。 (1)量程为0~1.8V。 (2)精度有 10bit 和 12bit 可选。 (3)采样时钟最高为5MHz&#xff0c;转换速率最高为1MSPS (4)具有四路模拟输入&#xff0c;同一时…

深入浅出解析Stable Diffusion中U-Net的核心知识与价值 | 【算法兵器谱】

Rocky Ding 公众号&#xff1a;WeThinkIn 写在前面 【算法兵器谱】栏目专注分享AI行业中的前沿/经典/必备的模型&论文&#xff0c;并对具备划时代意义的模型&论文进行全方位系统的解析&#xff0c;比如Rocky之前出品的爆款文章Make YOLO Great Again系列。也欢迎大家提…

FFmpeg中avfilter模块简介及测试代码(overlay)

FFmpeg中的libavfilter模块(或库)用于filter(过滤器), filter可以有多个输入和多个输出。为了说明可能发生的事情&#xff0c;考虑以下filtergraph(过滤器图): 该filtergraph将输入流(stream)分成两个流&#xff0c;然后通过crop过滤器和vflip过滤器发送一个流&#xff0c;然后…

Android SDK 上手指南|| 第三章 IDE:Android Studio速览

第三章 IDE&#xff1a;Android Studio速览 Android Studio是Google官方提供的IDE&#xff0c;它是基于IntelliJ IDEA开发而来&#xff0c;用来替代Eclipse。不过目前它还属于早期版本&#xff0c;目前的版本是0.4.2&#xff0c;每个3个月发布一个版本&#xff0c;最近的版本…

非常适合大学附近的校园跑腿和自习室订座小程序

推荐两款非常适合在大学内和大学周边的项目 这两款小程序分别是校园跑腿系统和自习室在线订座系统 1、校园跑腿系统&#xff0c;第一张图所示&#xff0c;支持多校运营、快递代取、校园跑腿、租借服务、代理中心、跑腿中心、人员管理、订单抽成、数据统计、众包接单、消息通…

微信消息没通知iphone can‘t show notifications

小虎最近手机微信消息没通知&#xff0c;本来以为要卸载&#xff0c;但是发现原来是多客户端登录导致消息被其他平台截取&#xff0c;所有没有通知。 解决方法 小虎是在手机和电脑端同时登录的&#xff0c;所有退出电脑端后手机新消息就有提示了。可能是一个bug。

Docker版本号说明:安装不同版本看文档变化|遇错不求人

docker实战(一):centos7 yum安装docker docker实战(二):基础命令篇 docker实战(三):docker网络模式(超详细) docker实战(四):docker架构原理 docker实战(五):docker镜像及仓库配置 docker实战(六):docker 网络及数据卷设置 docker实战(七):docker 性质及版本选择 认知升…

Java:集合框架:Set集合、LinkedSet集合、TreeSet集合、哈希值、HashSet的底层原理

Set集合 创建一个Set集合对象&#xff0c;因为Set是一个接口不能直接new一个对象&#xff0c;所以要用一个实现类来接 HashSet来接 无序性只有一次&#xff0c;只要第一次运行出来后&#xff0c;之后再运行的顺序还是第一次的顺序。 用LinkedSet来接 有序 不重复 无索引 用Tree…