部署Zabbix企业级分布式监控

2023-11-09

1、定义

1.1、监控定义

  • 通过一个友好的界面进行浏览整个网站所有的服务器状态

  • 可以在Web前端方便的查看监控数据

  • 可以回溯寻找事故发生时系统的问题和报警情况

#########分类########
- 传统:zabbix、nagois
- 云原生:prometheus

1.2、zabbix定义

  • 基于web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案

  • 能监视各种网络参数,保证服务器系统的安全运营

  • 提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

##########zabbix组成###################
zabbix server与可选组件zabbix agent。
通过C/S模式采集数据,通过B/S模式在Web 端展示和配置。
​
zabbix server:可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,运行在Linux等平台上。
zabbix agent:安装在被监视的目标服务器上,主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

2、原理

客户端(被监控)

zabbix agent 安装在被监控的主机上,负责定期收集客户端本地各项数据,并发送至zabbix server端

服务端(监控)

zabbix server收到数据后,将数据存储到数据库中,用户基于ZabbixWEB可以看到数据在前端展现图像。

#########监控端任务###########
zabbix监控某个具体的项目,该项目会设置一个触发器阈值,
当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,
动作包括:发送信息(邮件、微信、短信)、发送命令(shell命令、reboot、restart、install等)。

3、组成

zabbix监控部署的五个程序: zabbix_server、zabbix_agent、zabbix_ proxy、zabbix_ get、zabbix_sender

  • zabbix server(服务端守护进程):zabbix 服务端守护进程,其他四个进程数据最终都提交给它

  • zabbix agent(客户端守护进程):负责收集客户端数据(收集CPU负载、内存、硬盘使用情况等)

  • zabbix proxy(分布式代理守护进程):通常大于500台主机,需要进行分布式监控架构部署

  • zabbix get(数据接收工具):单独使用的命令,通常在server 或者proxy端执行获取远程客户端信息的命令

  • zabbix sender(数据发送工具):用户发送数据给server或proxy 端,通常用户耗时比较长的检查。

4、zabbix安装

4.1、部署 zabbix 服务端192.168.80.10

---------- 部署 zabbix 服务端 ----------
zabbix-server 内存至少 2G,推荐 4G;
​
1、关闭防火墙
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server
​
2、获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
​
3、更换 zabbix.repo 为阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
​
4、编译安装
yum clean all && yum makecache
yum install -y zabbix-server-mysql zabbix-agent
​
5、下载安装SCL
//安装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 
​
6、安装web前端
//修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下
vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1          #开启安装源
......
​
7、安装webq前端其他工具
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
​
8、安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb
​
systemctl enable --now mariadb  ##启动数据库,设置为开机自启
​
mysql_secure_installation         #初始化数据库,并设置密码,如abc123
​
Set root password? [Y/n] y  (都是y)
New password: abc123
Re-enter new password: abc123 
Password updated successfully!
Reloading privilege tables..
 ... Success!
​
​
9、登录mysql
//添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123
​
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;   ##刷新权限
​
10、导入数据库信息
rpm -ql zabbix-server-mysql         #查询sql文件的位置
​
cd /usr/share/doc/zabbix-server-mysql-5.0.24/
​
zcat create.sql.gz | mysql -uroot -pabc123 zabbix
​
​
10、设置zabbix配置
//修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix                   #124行,指定 zabbix 数据库的密码
​
//修改 zabbix 的 php 配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai        #24行,取消注释,修改时区
​
//启动 zabbix 相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

4.2、登录192.168.80.10/zabbix检验

浏览器访问:http://192.168.80.20/zabbix
点击下一步,设置数据库的密码 zabbix
安装完成后,默认的登录账号和密码为:Admin/zabbix
设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。
​
//解决 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

4.3、部署 zabbix 客户端192.168.80.20

---------- 部署 zabbix 客户端 ----------
zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。
​
1、关闭防火墙
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
​
2、服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com
​
3、客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
​
date  ##查看当前时间
​
4、设置 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.repo
​
yum install -y zabbix-agent2
​
5、修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
158 #ServerActive=127.0.0.1
Server=192.168.80.10            #80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.80.10      #120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01            #131行,指定当前 zabbix 客户端的主机名
​
6、启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
​
netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      43654/zabbix_agent2 
​
7、在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get               #安装 zabbix 主动获取数据的命令
​
zabbix_get -s '192.168.80.20' -p 10050 -k 'agent.ping'
1
zabbix_get -s '192.168.80.20' -p 10050 -k 'system.hostname'
zbx-agent01

 

4.3、玩转zabbix---监控人数

---------- 自定义监控内容 ----------
案列:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息
​
//在客户端创建自定义 key
1.明确需要执行的 linux 命令
who | wc -l
​
2.创建 zabbix 的监控项配置文件,用于自定义 key
vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
268 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
291 #   Format: UserParameter=<key>,<shell command>
​
cd /etc/zabbix/zabbix_agent2.d/
​
vim UserParameter_login.conf
UserParameter=login.user,who|wc -l
​
systemctl restart zabbix-agent2
​
3.在服务端验证新建的监控项
zabbix_get -s '192.168.80.30' -p 10050 -k 'login.user'
​
​
//在 Web 页面创建自定义监控项模板
1.创建模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了
​
2.创建应用集(用于管理监控项的)
点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】
​
3.创建监控项
点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user          #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period    30d     #保留时间可自定义设置
点击 【添加】
​
4.创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】
​
5.创建图形
点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】
​
6.将主机与模板关联起来(一个主机可以关联多个模板)
点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】
​
此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标
​
7.设置邮件报警
点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 qwe4546456@qq.com
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 qwe4546456@qq.com
【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义
点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
点击 【添加】,并测试功能
​
点击左边菜单栏【User settings】-->【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】设置成 qwe4546456@wo.cn
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】
​
点击左边菜单栏【配置】中的【动作】
选择相对应的动作名称点击进入,点击 【添加】
【类型】选择 触发器,【触发器】点击选择 Nunber of login users is greater than 3
点击【启用】
​
//测试邮件报警
增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

 

5、zabbix自动发现与自动注册

5.1、自动发现

//zabbix自动发现(对于agent2 是被动模式)
zabbix server主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server登记耗时较久,且压力会较大。
1、确保客户端上的zabbix-agent2 服务状态正常
systemctl is-active zabbix-agent2.service
active
​
2、在web页面删除原有的客户端主机
点击左边菜单栏[配置]中的[主机],勾选原有的客户端主机,点击删除
​
3、在服务端和客户端上配置hosts解析
vim /etc/hosts 
192.168.80.20 zbx-server
192.168.80.30 zbx-agent01
​
4、在Web页面配置自动发现
点击左边菜单栏[配置]中的[自动发现],点击[创建发现规则]
[名称]设置成mynetwork
[IP范围]设置成192.168.80.1-254
[更新间隔]设置成30s
[检查]点击[添加],[检查类型]选择Zabbix 客户端,[端口范围]设置成10050,[键值]设置成system. uname
[设备唯一性准则]选择IP地址
[主机名称]选择DNS名称
[可见的名称]选择主机名称
勾选[已启用],点击[更新]

 

5.2、自动注册

//zabbix自动注册(对于agent2是主动模式)
zabbix agent2会主动上报自己的信息,发给zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致zabbixagent2可能找不到zabbix server
1、环境准备.
点击左边菜单栏[配置]中的[自动发现],勾选发现规则,点击禁用
点击左边菜单栏[配置]中的[主机],勾选原有的客户端主机,点击删除
vim /etc/hosts
192.168.80.20 zbx-server
192.168.80.30 zbx-agent01
​
2、修改zabbix-agent2 配置文件
vim /etc/ zabbix/ zabbix_ agent2. conf
HostnameItem=system.hostname
#139行,取消注释
​
grep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf
-----------
PidFile=/var/ run/zabbix/zabbix_agent2.pid
LogFile=/var/1og/zabbix/zabbix_agent2.1og
LogFileSize=0
Server=192.168.80.10
ServerActive=192.168.80.10
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf 
ControlSocket=/tmp/agent.sock
​
systemctL restart zabbix-agent2.service
​
3、在web页面配置自动注册
点击左边菜单栏[配置]中的[动作],上方菜单选择[ Autoregistration actions],点击[创建动作]
[名称]设置成Auto registration
点击[添加],[类型]选择主机名称,[操作者]选择包含,
[值]设置成zbx-agent01
点击.上方菜单栏[操作],点击[添加],[操作类型]选择添加主机,点击[add]
再点击[添加],[操作类型]选择添加到主机群组, [主机群组]选择Linux servers, 点击[add]
再点击[添加],[操作类型]选择与模板关联,[模板]搜索Linux, 选择Template os Linux by zabbix agent, 点击[add]
点击下方的[添加]
点击左边菜单栏[配置]中的[主机]刷新,等待一段时间后即可刷新出自动发现的客户端主机
在服务端查看zabbix 日志
tail -f /var/1og/zabbix/zabbix_server.log

 

6、部署zabbix代理服务器

---------- 部署 zabbix 代理服务器 ----------
分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题
​
agent --> proxy --> server
​
​
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy
​
//设置 zabbix 的下载源,安装 zabbix-proxy
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.repo
​
yum install -y zabbix-proxy-mysql zabbix-get
​
//安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb
​
systemctl enable --now mariadb
​
mysql_secure_installation         #初始化数据库,并设置密码,如 abc123
​
//添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123
​
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
​
//导入数据库信息
rpm -ql zabbix-proxy-mysql      #查询 sql 文件的位置
​
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.24/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy
​
//修改 zabbix-proxy 配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.80.10                #30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy                  #49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix                   #196行,指定当前数据库 zabbix 用户的密码
​
//启动 zabbix-proxy
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
​
//在所有主机上配置 hosts 解析
vim /etc/hosts
192.168.80.20 zbx-server
192.168.80.30 zbx-agent01
192.168.80.13 zbx-proxy
​
//在 Web 页面配置 agent 代理
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
​
点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 192.168.80.30
点击 【添加】
​
//配置 agent 使用 proxy
1.在客户端修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.80.30            #80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.80.30      #120行,指定 zabbix 代理服务器的 IP 地址
​
2.在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.80.20
【由agent代理程序监测】选择 zbx-proxy
​
再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】
​
3.分别在客户端和代理服务器上重启服务
systemctl restart zabbix-agent2
​
systemctl restart zabbix-proxy
​
点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常
​
在服务端查看日志
tail -f /var/log/zabbix/zabbix_proxy.log

 

7、设置 zabbix-snmp 监控

---------- 设置 zabbix-snmp 监控 ----------
SNMP,简单网络管理协议
​
1.服务端安装 snmp 监控程序
yum install -y net-snmp net-snmp-utils
​
2.修改 snmp 的配置文件,并启动服务
vim /etc/snmp/snmpd.conf
......
view    systemview    included   .1             #57行,添加此配置
​
systemctl start snmpd
​
3.使用 snmp 命令测试
snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: zbx-server
-------------------------------------------------------
–v 1|2c|3:指定SNMP协议版本
–c:指定共同体字符串
sysname:为 snmp 的 key
-------------------------------------------------------
​
4.在 Web 页面配置 snmp 方式监控
点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【Interfaces】点击【添加】选择 SNMP ,端口设置成 161
点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理
再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
点击 【更新】,等待一段时间后 Zabbix server   的可用性就变成了 SNMP 监控方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部署Zabbix企业级分布式监控 的相关文章

  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • InstaPy:“错误,无法确定 64 位 Linux 的正确文件名”

    有人知道如何解决或解决这个问题吗 来自控制台的堆栈跟踪 执行后报告错误 InstaPy Version 0 6 9 Workspace in use home zanettra InstaPy Error unable to determi
  • 停止服务时单元陷入故障状态(状态=143)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的问题 我有 CentOS 和 java 进程在上面运行 Java进程是通过启动 停止脚本来操作的 它也创建了 java 实例的 p
  • 在 LINUX 上使用 Python 连接到 OLAP 多维数据集

    我知道如何在 Windows 上使用 Python 连接到 MS OLAP 多维数据集 嗯 至少有一种方法 通常我使用 win32py 包并调用 COM 对象进行连接 import win32com client connection wi
  • 如何以编程方式从Linux中的进程名称获取进程ID

    在我的项目中 我们使用 ACE 自适应通信环境 中间件来编写可在 Windows 和 Linux 上运行的独立于操作系统的代码 要求是从进程名称中获取进程 ID 由于 ACE 不支持这一点 因此我们必须使用特定于平台的宏来分离 Window
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • Linux shell 脚本中的 while 循环超时

    这工作正常 无限循环 while TRUE do printf done 我在尝试着timeout this while loop与timeout命令 所有这些都不起作用 timeout 5 while TRUE do printf don
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs

随机推荐

  • 无尽神域服务器维护,关于对无尽神域的感受亲爱的无尽神域开发团队:

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 关于对无尽神域的感受 亲爱的无尽神域开发团队 你们好 我是一位无尽神域的普通玩家 首先感谢你们能开发出这么一款我个人认为的优质游戏 从公测到现在玩的这十几天了 好的体验有很多 也有些希望开发团队
  • 我从未结束的Java之旅

    目录 开篇 毕业 第一份工作的结束 大胆北漂 第一次在北京租房 供应链 新的开始 好景不长 餐饮 误打误撞 线上事故 事故原因 复盘 开篇 简单的做个自我介绍 码龄九年 主要从事java开发 对前端和python略有了解 是一个技术不精湛但
  • C#位运算相关知识梳理

    位和字节的介绍 位 b 也叫比特位 是计算机数据最小的单位 用二进制0和1来存储 字节 byte 1 byte 8 b 一个字节 8位 字符 char 1 char 2byte 16b 1个字符 2 个字节 16位 KB 1KB 1024b
  • 最新信息安全毕设选题题目推荐

    0 简介 毕业季马上就要开始了 不少同学询问学长网安专业选题以及开题相关的问题 今天跟大家分享信息安全毕设选题 最新的信息安全 网络安全 专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖
  • linux视频教程

    这15 张光盘最为值得推荐的是国嵌的视频教程 其中的一些wince资料以及中嵌的视频教程也比较适合初学者 国嵌视频教程由嵌入式Linux专业培训机构成都国嵌公司免费提供的4个培训班完整最新视频 总共包含4张DVD光盘 76个视频文件 总时长
  • VC++6.0的兼容性问题解决方案

    VC6 0 能够在 XP 下很好的运行 无需进行额外的设置 但在 Win7 Win8 和 Win10 下 安装完成后还要修改兼容模式才可以 在Win7或Win10下使用VC6 0 对于Win7和Win10 需要将VC6 0的兼容模式修改为
  • Jupyter Notebook查看文件

    Jupyter Notebook查看文件 打开dos 输入Jupyter Notebook 打开dos 切换到ipynb文件所在路径下 输入Jupyter Notebook Jupyter Notebook 看到图片都丢失了 返回上一级的目
  • WSL——Kali子系统安装及其相关配置

    Kali子系统安装及其相关配置 一 WSL简介 二 开启WSL功能 三 安装kali子系统 四 安装Windows Terminal 五 对Kali的设置 1 更换更新源 2 安装完整版Kali 六 配置图形化桌面并连接 1 下载 X410
  • mac下编译安装php7.4.5及相关扩展安装

    php7 4 5下载地址 https www php net distributions php 7 4 5 tar gz MAC版本 macOS catalina 10 15 4 编译参数 configure prefix Users m
  • 【ML】对数据处理的几种方法

    数据处理的几种方式 1 All in 2 Backward Elimination 后退梯度 3 Forward Elimination 前进梯度 4 Bidirectional Elimination 比较梯度 5 Score Compa
  • gin框架27--自定义 HTTP 配置

    gin框架27 自定义 HTTP 配置 介绍 案例 说明 介绍 本文主要介绍如何自定义HTTP配置 在gin框架中可以直接使用 http ListenAndServe 来实现 案例 源码 package main import github
  • react中,useState异步更新带来的问题,怎么解决

    React 的 useState 是异步更新状态的 但是有时候我们需要在状态更新后执行一些操作 如果直接使用 setState 可能会导致状态的更新不及时 此时可以使用以下几种解决方案 使用 useEffect 来监听状态的变化 并在其中执
  • WeOpen Good 开源公益计划正式启动!聚开源智慧·行科技向善

    PART 1 缘起和初心 8 15 20 当看到这些数字 你第一时间会想到什么 少 不足一提 亦或是什么呢 1 我们生活的地球上 有超过 70 亿人口 其中 10 亿以上的人 也就是相当于总人口约 15 的人有某种形式的残疾 2 世界范围内
  • linux的自旋锁struct spinlock_t的使用

    在linux中提供了一些机制用来避免竞争条件 最简单的一个种就是自旋锁 例如 当一个临界区的数据在多个函数之间被调用时 为了保护数据不被破坏 可以采用spinlock来保护临界区的数据 当然还有一个就是信号量也是可以实现临界区数据的保护的
  • 直接把软件界面做成游戏界面。CEGUI 专用游戏界面开发库。

    下载 http www cegui org uk wiki index php Downloads 更多中文教程 http www ispinel com 2010 05 26 971 首先感谢李素颙同学的热心和耐心指导 做游戏或者计算机图
  • 对应用数据开发还有疑惑?看这篇就够了!数据存储、管理,通通掌握!

    原文 对应用数据开发还有疑惑 看这篇就够了 数据存储 管理 通通掌握 点击链接查看更多技术内容 数据管理可以做什么 应用数据的持久化怎么实现 如何实现数据库加密 在开发应用进行应用数据的处理时 您是否也会有这些疑问呢 现在 我们推出了更为清
  • Access Token(访问令牌)学习

    Access Token 访问令牌 是一种用于身份验证和授权的令牌 在软件开发中 访问令牌通常用于访问受限资源或执行特定操作 Access Token 通常由身份验证服务器颁发 以授权客户端应用程序代表用户访问受保护的资源 当用户进行身份验
  • opencv笔记之--图片模糊操作和锐化操作

    一 模糊操作 usr bin env python coding utf 8 import cv2 as cv import numpy as np def blur demo image dst cv blur image 15 1 cv
  • go换源

    Windows 版本 SETX GO111MODULE on go env w GOPROXY https goproxy cn direct SETX GOPROXY https goproxy cn direct Linux 版本 ec
  • 部署Zabbix企业级分布式监控

    1 定义 1 1 监控定义 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在Web前端方便的查看监控数据 可以回溯寻找事故发生时系统的问题和报警情况 分类 传统 zabbix nagois 云原生 prometheus 1 2 z