首页
壁纸
留言板
友链
更多
统计归档
Search
1
TensorBoard:训练日志及网络结构可视化工具
12,588 阅读
2
主板开机跳线接线图【F_PANEL接线图】
7,034 阅读
3
Linux使用V2Ray 原生客户端
6,149 阅读
4
移动光猫获取超级密码&开启公网ipv6
4,676 阅读
5
NVIDIA 显卡限制功率
3,131 阅读
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
登录
/
注册
Search
标签搜索
好物分享
学习笔记
linux
MySQL
nvidia
typero
内网穿透
webdav
vps
java
cudann
gcc
cuda
树莓派
CNN
图像去雾
ssh安全
nps
暗通道先验
阿里云
jupiter
累计撰写
354
篇文章
累计收到
71
条评论
首页
栏目
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
页面
壁纸
留言板
友链
统计归档
搜索到
73
篇与
的结果
2023-08-09
linux 的防火墙 ufw、firwalld、iptables
1.防火墙综述linux 防火墙,常用的包括三种:ufw 、 firewalld 和 iptables。UFW、firewall、iptables,其中,UFW是Debian系列的默认防火墙,firewall 是红帽系列7及以上的防火墙(如CentOS7.x),iptables是红帽系列6及以下(如CentOS6.x)的防火墙,3者学习难度依次递增。常见的防火墙分为两种,一种是3层防火墙,另一种是 7 层防火墙。在 TCP/IP 的七层网络中,第三层是网络层,三层防火墙会在这层对源地址和目标地址进行检测。但七层防火墙会对 源端口、目标端口、源ip、目标ip 全都进行检测。2.ufw2.1 概述因为原生的 iptable 配置麻烦,学习成本较高。 ufw全称 Uncomplicated Firewall 是 ubuntu提供的一个 iptables 的接口。同时支持 ipv4 和 ipv6。最新版的UFW默认启用了IPV6配置,你也可以通过以下命令进行检查:# cat /etc/default/ufw | grep -i ipv6 IPV6=yes2.2 默认策略默认情况下,UFW 设置了:禁止所有流量转入,允许所有流量转出。(这点和 iptable 的默认允许所有流量转入不同)。我们也可以更改此默认配置:cat /etc/default/ufw |grep -i default_input # 加 -i 是关闭大小写区分。 DEFAULT_INPUT_POLICY="DROP"2.3 安装启动与关闭sudo apt-get install ufw # 安装 sudo ufw enable # 启动防火墙并设置开机启动 sudo ufw default deny # 关闭外部主机对本机的访问(不影响本机对外部主机访问) sudo ufw disable # 关闭防火墙并关闭开机自启 sudo ufw status # 查看防火墙状态2.4 设置UFW规则sudo ufw allow port_number // 开放 port_number 端口 sudo ufw allow from 192.168.1.1 // 允许指定主机的访问 sudo ufw allow ssh // 禁止外部访问ssh服务 # 由于在/etc/services中, 22端口对应的服务名是ssh。 # 上面的命令也等价于sudo ufw allow 22 sudo ufw allow 80/tcp // 也可以指定端口号和协议 // 当没有给出协议的时候,UFW 同时创建tcp和udp的规则。 sudo ufw allow 7100:7200/tcp // 批量管理端口 sudo ufw allow from 64.63.62.61 to any port 22 // 允许指定 IP 地址访问指定端口 sudo ufw allow from 192.168.1.0/24 to any port 3306 // 允许子网 sudo ufw deny from 23.24.25.0/24 //禁止来自23.24.25.0/24的所有连接 sudo ufw allow in on eth2 to any port 3306 // 允许指定网络接口的连接 sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443 //禁止从23.24.25.0/24对80和443端口的访问 2.5 删除 UFW 规则有两种不同的方式可以删除 UFW 规则。通过规则序号和通过指定的规则。通过规则序号来删除 UFW 规则很简单,特别是你刚接触 UFW。想要通过规则序号来删除,你需要找到你想删除的规则序号。想要这么做,运行下面的命令:sudo ufw status numbered输出:Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 8080/tcp ALLOW IN Anywhere想要删除规则,序号为3,这个规则允许对端口8080的连接,你可以使用下面的命令:sudo ufw delete 3删除规则的第二种方法就是指定实际的规则。例如,如果你添加过一个打开端口8069的规则,你可以通过下面的命令删除它:sudo ufw delete allow 80692.6 重置 UFW重置 UFW 将会禁用 UFW,删除所有激活的规则。如果你想撤销所有的应用规则,并且重新开始时,这个很有用。想要重置 UFW,简单输入下面的命令:sudo ufw reset3.firewall3.1 概述Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是交由内核层面的nftables包过滤框架来处理。 相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。关于 firewall 防火墙配置,需要注意的是:这里需要首先说明的是,在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。3.2 规则配置查看默认域的配置firewall-cmd --list-all应急命令firewall-cmd --panic-on # 拒绝所有流量,远程连接会立即断开,只有本地能登陆 firewall-cmd --panic-off # 取消应急模式,但需要重启firewalld后才可以远程ssh firewall-cmd --query-panic # 查看是否为应急模式管理端口firewall-cmd --add-port=<port>/<protocol> # 添加端口/协议(TCP/UDP) firewall-cmd --remove-port=<port>/<protocol> # 移除端口/协议(TCP/UDP) firewall-cmd --list-ports # 查看开放的端口开放指定端口,并重新加载firewall-cmd --add-port=443/tcp --permanent # 开放端口 firewall-cmd --reload # 重新加载 firewall-cmd --query-port=443/tcp # 查询是否放开4.iptables通过四表五连进行管理,比较复杂,暂时放弃学习,等用到了再学。参考资料linux 的防火墙 ufw、firwalld、iptables 、 - 沧海一声笑rush - 博客园 (cnblogs.com)ubuntu防火墙设置 (ufw、iptables)-小白实操记录如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙 - 知乎 (zhihu.com)Linux 防火墙教程:IPTables 表、链、规则基础-云社区-华为云 (huaweicloud.com)iptables的四表五链与NAT工作原理 - 知乎 (zhihu.com)
2023年08月09日
445 阅读
1 评论
0 点赞
2023-06-06
ossfs:Linux挂载阿里云oss Bucket
1.简介ossfs允许您在Linux系统中将对象存储OSS的存储空间(Bucket)挂载到本地文件系统。挂载完成后,您能够像操作本地文件一样操作OSS的对象(Object),从而实现数据共享。下载地址Linux发行版下载Ubuntu 20.04 (x64)ossfs_1.80.7_ubuntu20.04_amd64.debUbuntu 18.04 (x64)ossfs_1.80.7_ubuntu18.04_amd64.debUbuntu 16.04 (x64)ossfs_1.80.7_ubuntu16.04_amd64.debUbuntu 14.04 (x64)ossfs_1.80.7_ubuntu14.04_amd64.debCentOS 8.0 (x64)ossfs_1.80.7_centos8.0_x86_64.rpmCentOS 7.0 (x64)ossfs_1.80.7_centos7.0_x86_64.rpmAnolis8/Alibaba Cloud Linux 3ossfs_1.80.7_anolisos8.0_x86_64.rpmAnolis7/Alibaba Cloud Linux 2ossfs_1.80.7_anolisos7.0_x86_64.rpm2.安装2.1 下载安装下载安装包。以下载CentOS 7.0 (x64)版本为例:sudo wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm安装ossfs。Ubuntu系统以Ubuntu 16.04 (x64)版本为例,安装命令如下:sudo apt-get update sudo apt-get install gdebi-core sudo gdebi ossfs_1.80.6_ubuntu16.04_amd64.debCentOS系统以CentOS 7.0(x64)版本为例,安装命令如下:sudo yum install ossfs_1.80.6_centos7.0_x86_64.rpm2.2 源码安装安装编译环境Ubuntu 14.04:sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev \ libfuse-dev libssl-dev libxml2-dev make pkg-configCentOS 7.0:sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel \ fuse-devel make openssl-devel编译并安装git clone https://github.com/aliyun/ossfs.git cd ossfs ./autogen.sh ./configure make sudo make install3.使用3.1 配置账号访问信息。将Bucket名称以及具有该Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。文件的权限建议设置为640。sudo echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs sudo chmod 640 /etc/passwd-ossfsBucketName、yourAccessKeyId、yourAccessKeySecret请按需替换为您实际的Bucket名称、AccessKey ID和AccessKey Secret,例如:sudo echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs sudo chmod 640 /etc/passwd-ossfs3.2 将Bucket挂载到指定目录。sudo ossfs BucketName mountfolder -o url=Endpoint说明 如果是root用户,命令中不需要增加sudo。增加sudo会导致无法挂载,报错sudo: ossfs: command not found。将北京地域名称为caucshop的Bucket挂载到/ossfs目录下的示例如下:sudo mkdir /ossfs sudo ossfs caucshop /ossfs -o url=http://oss-cn-beijing.aliyuncs.com重要 如果您使用从阿里云购买的云服务器ECS来提供ossfs服务,您可以使用内网域名。例如,在该示例中您可以将OSS Endpoint 修改为oss-cn-hangzhou-internal.aliyuncs.com,从而节省流量费用。有关OSS内网域名的更多信息,请参见访问域名和数据中心。3.3 取消挂载sudo fusermount -u /tmp/ossfs参考资料快速安装 (aliyun.com)aliyun/ossfs: Export s3fs for aliyun oss. (github.com)
2023年06月06日
717 阅读
0 评论
0 点赞
2022-11-23
[LibreSpeed]:自建speedtest(服务器带宽测试工具)
1.背景自建了web服务有时候服务卡顿的时候想要测试一下客户端到服务器的带宽,使用专门的工具比较繁琐。因此考虑在服务器上搭建speedtest2.搭建步骤(基于宝塔)2.1 创建站点可以用域名-需要实现解析,也可以用IP:端口的方式访问$\color{red}{上面有个错误示范,PHP版本需要选,不能不指定PHP}$2.2 下载源码cd /www/wwwroot/speedtest.inat.top wget https://codeload.github.com/librespeed/speedtest/tar.gz/refs/tags/5.2.5/speedtest-5.2.5.tar.gz tar xzvf speedtest-5.2.5.tar.gz mv speedtest-5.2.5/* ./2.3 修改首页rm index.html cp example-singleServer-full.html index.html2.4 访问测试参考资料1.https://github.com/librespeed/speedtest
2022年11月23日
1,234 阅读
1 评论
0 点赞
2022-11-17
PIP换源
PIP换源1.临时换源使用-i参数指定临时源,任选一个即可#清华源 pip3 install markdown -i https://pypi.tuna.tsinghua.edu.cn/simple #阿里源 pip3 install markdown -i https://mirrors.aliyun.com/pypi/simple/ #腾讯源 pip3 install markdown -i https://mirrors.cloud.tencent.com/pypi/simple #豆瓣源 pip3 install markdown -i https://pypi.douban.com/simple/2.永久换源#清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #阿里源 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ #腾讯源 pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple #豆瓣源 pip config set global.index-url https://pypi.douban.com/simple/ #换回默认源 pip config unset global.index-url
2022年11月17日
350 阅读
0 评论
0 点赞
2022-06-19
linux搭建ntp时间同步服务器
1.NTP简介NTP是Network Time Protocol的缩写,又称为网络时间协议。是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议。为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。2.服务器配置2.1 安装sudo apt-get install ntp2.2 修改配置(利用server设定上层NTP服务器)sudo vim /etc/ntp.conf上层NTP服务器的设定方式为:server [IP OR HOSTNAME] [PREFER]常见的时间服务器server 2.cn.pool.ntp.org server 3.asia.pool.ntp.org server 0.cn.pool.ntp.org写入到配置文件启动ntp服务/etc/init.d/ntp start3.客户端使用服务同步时间sudo apt install ntpdate ntpdate ${服务器IP}root@wky:~# ntpdate amd.inat.top 19 Jun 01:02:33 ntpdate[3236]: step time server 10.1.131.250 offset 13812059.680274 sec root@wky:~# date 2022年 06月 19日 星期日 01:02:39 +09参考资料Ubuntu搭建NTP服务器ubuntu安装ntp服务器(linux配置ntp服务器)
2022年06月19日
711 阅读
0 评论
0 点赞
2022-06-17
Linux搭建搭建Hadoop环境
1.准备工作1.1 准备机器准备若干台Linux的机器(1-n),物理机虚拟机均可1.2 关闭selinux(每台机器)sudo vim /etc/sysconfig/selinuxreboot1.3 安装JDK(每台机器)下载解压jdkcd /software tar -zxvf jdk-8u201-linux-x64.tar.gz mv jdk1.8.0_201/ java修改环境变量,在末尾添加如下内容sudo vim /etc/profileexport JAVA_HOME=/software/java export PATH="$JAVA_HOME/bin:$PATH"source /etc/profile验证(注意如果是openjdk版本的把openjdk版本的删除掉)(base) [jupiter@centeros bin]$ java -version java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)2.搭建hadoop伪分布式(单节点)2.1 下载并解压hadoop官网:https://hadoop.apache.org/cd /software wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.1/hadoop-3.3.3.tar.gz tar -xzvf hadoop-3.3.3.tar.gz mv hadoop-3.3.3 hadoop cd hadoop配置相关环境变量sudo vim /etc/profile # 加入如下内容 #HADOOP_HOME export HADOOP_HOME=/software/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbinsource /etc/profile2.2 修改hadoop相关配置主要需要配置四个文件,对应hadoop四大模块,均位于etc/hadoop下面hadoop四大模块common:core-site.xmlcommon 及核心公共模块,默认配置(core-site.xml),主要包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的APIhdfs (hadoop distribute file system):hdfs-site.xml分布式文件系统,提供对应用程序数据的高吞吐量,高伸缩性,高容错性的访问。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。(namenode+datanode+secondarynode)mapreduce:mapred-site.xmlmapreduce 是一种分而治之思想,是一种计算模型,用以进行大数据量的计算。Hadoop的MapReduce实现,和Common、HDFS一起,构成了Hadoop发展初期的三个组件。MapReduce将应用划分为Map和Reduce两个步骤,其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。mapreduce的运行流程 input->map->shuffle->reduce->output 。input 数据输入文件分片,map负责就进数据处理,多个mapper之间并行处理,shuffle负责数据混淆分区、排序、拷贝、分组、压缩等操作,完成后将数据传给reduce进行处理,reduce负责对map阶段的数据进行汇总。yarn:yarn-site.xmlYarn是Hadoop集群的资源管理系统,由两部分功能组成资源管理和任务调度监控主要的组件,ResourceManager:Global(全局)的进程 ;NodeManager:运行在每个节点上的进程,ApplicationMaster:Application-specific(应用级别)的进程,向rm申请资源,对运行在datanode的应用进行监控;Scheduler:是ResourceManager的一个组件,Container:节点上一组CPU和内存资源容器。core-site.xml<configuration> <!-- 指定HDFS老大(namenode)的通信地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <!-- 指定hadoop运行时产生文件的存储路径 --> <name>hadoop.tmp.dir</name> <value>/software/hadoop/tmp</value> </property> </configuration>hdfs-site.xml<configuration> <!--配置hdfs副本数量--> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>mapred-site.xml<configuration> <!-- 通知框架MR使用YARN --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>yarn-site.xml<configuration> <!-- 通知框架MR使用YARN --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>2.3 运行Hadoop修改etc/hadoop/hadoop-env.shexport JAVA_HOME="/software/java"初始化HDFS系统hdfs namenode -format启动hadoop#先启动HDFS sbin/start-dfs.sh #再启动YARN sbin/start-yarn.sh查看进程信息jps(base) [jupiter@centeros hadoop]$ jps 32613 SecondaryNameNode 374 ResourceManager 903 Jps 521 NodeManager 32222 NameNode4.验证http://centeros.inat.top:9870/:HDFS管理界面http://centeros.inat.top:8088/:MapReduce管理界面3.搭建hadoop分布式(集群)参考:https://github.com/AdamJupiter/BigData/blob/master/hadoop%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/hadoop2.0%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA.md参考资料centeros安装java8hadoop伪分布式环境搭建,完整的详细步骤Hadoop-单节点配置hadoop常用配置文件https://github.com/AdamJupiter/hadoop-guide
2022年06月17日
980 阅读
0 评论
0 点赞
2022-06-15
Prometheus+Grafana:Linux设备群监控系统
1.Prometheus1.1. Prometheus简介Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。Promethus有以下特点:支持多维数据模型:由度量名和键值对组成的时间序列数据内置时间序列数据库TSDB支持PromQL查询语言,可以完成非常复杂的查询和分析,对图表展示和告警非常有意义支持HTTP的Pull方式采集时间序列数据支持PushGateway采集瞬时任务的数据支持服务发现和静态配置两种方式发现目标支持接入Grafana1.2. Prometheus架构1.2.1. Prometheus Server主要负责数据采集和存储,提供PromQL查询语言的支持。包含了三个组件:Retrieval: 获取监控数据TSDB: 时间序列数据库(Time Series Database),我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的。具备以下特点:大部分时间都是顺序写入操作,很少涉及修改数据删除操作都是删除一段时间的数据,而不涉及到删除无规律数据读操作一般都是升序或者降序HTTP Server: 为告警和出图提供查询接口1.2.2. 指标采集Exporters: Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取Pushgateway: 支持临时性Job主动推送指标的中间网关1.2.3. 服务发现Kubernetes_sd: 支持从Kubernetes中自动发现服务和采集信息。而Zabbix监控项原型就不适合Kubernets,因为随着Pod的重启或者升级,Pod的名称是会随机变化的。file_sd: 通过配置文件来实现服务的自动发现1.2.4. 告警管理通过相关的告警配置,对触发阈值的告警通过页面展示、短信和邮件通知的方式告知运维人员。1.2.5. 图形化展示通过PromQL语句查询指标信息,并在页面展示。虽然Prometheus自带UI界面,但是大部分都是使用Grafana出图。另外第三方也可以通过 API 接口来获取监控指标。2.Prometheus简单部署2.1 部署和配置prometheus(在监控中心布置)下载prometheus(网页下载地址:https://prometheus.io/download/)wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz tar -xvf prometheus-2.36.1.linux-amd64.tar.gz mv prometheus-2.36.1.linux-amd64 prometheus cd prometheus修改配置文件vim prometheus.yml# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] # node_exporter 监控数据采集 - job_name: 'node' static_configs: - targets: - "3090.inat.top:9100" - "v100.inat.top:9100" - "raspberry.inat.top:9100" - "agx.inat.top:9100" - "nx.inat.top:9100" - "nano.inat.top:9100"检查配置文件./promtool check config prometheus.yml启动测试./prometheus配置开机自启动sudo vim /etc/systemd/system/prometheus.service[Unit] Description=prometheus service After=network.target [Service] ExecStart=/software/prometheus/prometheus --config.file=/software/prometheus/prometheus.yml Restart=always RestartSec=20 TimeoutSec=300 User=root Group=root StandardOutput=journal StandardError=journal WorkingDirectory=/software/prometheus/ [Install] WantedBy=default.targetsudo systemctl daemon-reload sudo systemctl start prometheus.service sudo systemctl enable prometheus.servicesudo systemctl status prometheus.service2.2 部署Node-Exporter(在被监控的机器上布置)下载Node-Exporter(网页下载地址:https://prometheus.io/download/)wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz tar -xvf node_exporter-1.0.1.linux-amd64.tar.gz mv node_exporter-1.0.1.linux-amd64 node_exporter cd node_exporter创建monitor用户和组sudo groupadd -g 9100 monitor sudo useradd -g 9100 -u 9100 -s /sbin/nologin -M monitor修改对应文件夹的权限sudo chown -R monitor.monitor /software/node_exporter启动测试./node_exporter配置开机自启动sudo vim /etc/systemd/system/node_exporter.service[Unit] Description=node-exporter service After=network.target [Service] User=monitor Group=monitor KillMode=control-group Restart=on-failure RestartSec=60 ExecStart=/software/node_exporter/node_exporter [Install] WantedBy=multi-user.targetsudo systemctl daemon-reload sudo systemctl start node_exporter.service sudo systemctl enable node_exporter.servicesudo systemctl status node_exporter.service3.部署Grafana(在监控中心部署)下载Grafana(网页下载地址:https://grafana.com/grafana/download)sudo apt-get install -y adduser libfontconfig1 wget https://dl.grafana.com/enterprise/release/grafana-enterprise_8.5.5_amd64.deb sudo dpkg -i grafana-enterprise_8.5.5_amd64.deb设置开机自启动 sudo /bin/systemctl daemon-reload sudo /bin/systemctl start grafana-server sudo /bin/systemctl enable grafana-server sudo /bin/systemctl status grafana-server访问测试(默认用户名和密码均为admin)添加数据源添加dashbord查看dashbord参考资料Prometheus看完这些,入门就够了Prometheus 重启失败的教训Prometheus(普罗米修斯)监控Prometheus(普罗米修斯)监控系统(一)https://grafana.com/grafana/downloadhttps://prometheus.io/download/
2022年06月15日
958 阅读
0 评论
0 点赞
2022-06-13
ubuntu挂载新硬盘
1.定位新硬盘(base) 3090@3090:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 1.8T 0 disk /data sr0 11:0 1 1024M 0 rom sdc 8:32 0 14.6T 0 disk └─sdc1 8:33 0 14.6T 0 part sda 8:0 0 477G 0 disk ├─sda2 8:2 0 7.6G 0 part [SWAP] ├─sda3 8:3 0 468.4G 0 part / └─sda1 8:1 0 976M 0 part /boot/efi发现待挂载的硬盘为sdc12.硬盘格式化mkfs -t ext4 /dev/sdc1mke2fs 1.42.13 (17-May-2015) /dev/sdc1 contains a xfs file system Proceed anyway? (y,n) y Creating filesystem with 3906469376 4k blocks and 488308736 inodes Filesystem UUID: ed6952c9-b147-4cfb-b68f-d79e4fcecbb5 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 2560000000, 3855122432 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done3.挂载3.1 手动挂载挂载到挂载点/16tsudo mount /dev/sdc1 /16t查看挂载结果(base) 3090@3090:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 63G 0 63G 0% /dev tmpfs 13G 19M 13G 1% /run /dev/sda3 461G 31G 407G 8% / tmpfs 63G 180K 63G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 63G 0 63G 0% /sys/fs/cgroup /dev/sdb 1.8T 9.2G 1.7T 1% /data /dev/sda1 975M 4.3M 970M 1% /boot/efi tmpfs 13G 64K 13G 1% /run/user/1000 tmpfs 13G 0 13G 0% /run/user/1001 /dev/sdc1 15T 9.1M 14T 1% /16t3.2 配置开机自动挂载查看UUID(base) 3090@3090:~$ sudo blkid /dev/sdc1 /dev/sdc1: UUID="ed6952c9-b147-4cfb-b68f-d79e4fcecbb5" TYPE="ext4" PARTLABEL="primary" PARTUUID="bbcf63f5-3927-41e8-abc6-ca9062aec08c"修改/etc/fstabsudo vim /etc/fstab# 在末尾添加如下内容 UUID=ed6952c9-b147-4cfb-b68f-d79e4fcecbb5 /16t auto defaults 0 0 参考资料Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)ubuntu 挂载硬盘指令fstab挂载参数
2022年06月13日
495 阅读
0 评论
0 点赞
2022-06-13
ubunt设置静态IP
1.查看网卡名,确定需要配置的目标网卡ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether d8:9e:f3:35:c3:66 brd ff:ff:ff:ff:ff:ff inet 10.1.9.50/24 brd 10.1.9.255 scope global enp0s25 valid_lft forever preferred_lft forever inet6 2001:da8:a012:2da:f3c5:dc14:1316:2268/64 scope global noprefixroute dynamic valid_lft 2591982sec preferred_lft 604782sec inet6 fe80::e49c:f19c:2e03:e014/64 scope link valid_lft forever preferred_lft forever 3: enp8s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether d8:9e:f3:35:c3:74 brd ff:ff:ff:ff:ff:ff2.对指定网卡enp0s25设置固定IPsudo vim /etc/network/interfaces增加如下内容auto enp0s25 # 设置自动启动enp0s25接口 iface enp0s25 inet static # 配置静态IP address 10.1.9.67 # IP地址 netmask 255.255.255.0 # 子网掩码 gateway 10.1.9.1 # 网关3.重启网络sudo /etc/init.d/networking restart参考资料ubuntu 查看网卡的网关_Ubuntu系统怎么设置静态ip?同样适用于深度系统的教程Ubuntu系统设置静态IP
2022年06月13日
427 阅读
0 评论
0 点赞
2022-06-07
NVIDIA 显卡限制功率
1.应用背景给实验室的一台服务器Dell T7910加装了两块3090显卡,但是由于供电口不够,所有用了两个6pin转8pin的转接线进行转接,导致显卡的电源输入功率不够,跑实验的时候一跑到满载就会扛不住关机重启,暂时无法更换电源,因此考虑对显卡功率进行限制。2.配置实现2.1 临时设置nvidia-smi -pm 1 # enable persistance mode nvidia-smi -pl 250 # set power limit to 250W3090配置前的最大功率为350W,因供电原因配置限制后的最大功率为250W2.2 永久设置新建nvidia-setpower.service文件sudo vim /etc/systemd/system/nvidia-setpower.service[Unit] Description=Nvidia SetPower Service After=network.target Wants=network.target [Service] Type=simple PIDFile=/run/nvidia-setpower.pid ExecStart=sh /usr/bin/nvidia-setpower.sh Restart=on-failure # Don't restart in the case of configuration error RestartPreventExitStatus=23 [Install] WantedBy=multi-user.target新建nvidia-setpower.shsudo vim /usr/bin/nvidia-setpower.shsudo nvidia-smi -pm 1 sudo nvidia-smi -pl 250sudo nvidia-smi -i 1 -pl 250,-i可以指定第几个显卡。设置服务开机启动:systemctl daemon-reload systemctl start nvidia-setpower.service systemctl enable nvidia-setpower.service参考资料NVIDIA 显卡在 Ubuntu下限制其功率的方法ubuntu 永久 设置 降低N显卡功率 nvidia-smi
2022年06月07日
3,131 阅读
2 评论
0 点赞
2022-05-13
cifs:Ubuntu 挂载 Samba 共享文件夹
1.安装cifs-utifssudo apt-get install cifs-utils2.列举指定IP地址所提供的共享文件夹列表sudo apt install smbclient smbclient -L ${ip_addr} -U ${username}%${password}3.挂载共享文件夹sudo mount -t cifs //指定SambaIP/文件夹名 /mnt/ -o username=${username},password=${password},iocharset=utf8,vers=1.04.实现开机自动挂载在/etc/fstab的末尾加入如下内容vim /etc/fstab//指定SambaIP/文件夹名 /mnt/ cifs defaults,username=${username},password=${password},iocharset=utf8,vers=1.0参考资料Ubuntu 挂载 Samba 共享文件夹Ubuntu 下挂载samba 服务
2022年05月13日
775 阅读
0 评论
0 点赞
2022-03-17
Linux批量修改文件后缀名
1.find+awk+xargs# .jpg-->.xml find ./ -name "*.jpg" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.jpg ./{}.xml2.shell脚本#!/bin/bash find ./ -name *.jpg | while read i do echo "$i"; mv $i.jpg $i.xml done参考资料详解Linux批量更改文件后缀名
2022年03月17日
804 阅读
0 评论
0 点赞
2022-03-11
Linux配置临时IP地址
偶然遇到了需要为某个网卡添加一个临时IP的问题1.添加临时IP ifconfig enp3s0:0 10.1.9.41 netmask 255.255.255.0 # 或者 ip addr add 10.1.9.41/24 dev enp3s0:02.删除临时IP ip addr delete 10.1.9.41 dev enp3s0:0参考资料ifconfig-网络管理命令ifconfig增加一个临时IP方法及删除方法
2022年03月11日
782 阅读
0 评论
0 点赞
2022-01-13
Linux的SWAP交换分区设置准则
1.SWAP分区的作用当Linux系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。2.SWAP分区设置准则Redhat官方的文档中关于swap分区大小设置的建议物理内存建议的交换空间大小如果开启休眠功能建议的交换空间大小⩽ 2GB内存的2倍内存的3倍> 2GB – 8GB等于内存大小内存的2倍> 8GB – 64GB至少4G内存的1.5倍> 64GB至少4G不建议使用休眠因此,一般来说可以按照如下规则设置swap大小:物理内存交换空大小⩽ 2GB内存的2倍> 2GB – 4GB4GB> 4GB – 8GB等于内存大小> 8GB – 64GB8GB> 64GB16GB3.swappiness参数3.1 系统在什么情况下才会使用SWAP实际上,并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness 参数值控制。v100@v100:~$ cat /proc/sys/vm/swappiness 60swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。现在服务器的内存动不动就是上百G,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对swap的使用,从而提高系统的性能。特别是对于性能要求较高的数据库服务器,要求全部使用内存。3.2 如何修改swappiness参数临时性修改:v100@v100:~$ sudo sysctl vm.swappiness=10 vm.swappiness = 10 v100@v100:~$ cat /proc/sys/vm/swappiness 10永久修改v100@v100:~$ sudo vim /etc/sysctl.conf # 在文件里添加如下参数 vm.swappiness=10 # 激活设置 sysctl -p参考资料https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-ppc#id4394007https://www.nowcoder.com/test/question/done?tid=49008240&qid=23231#summary
2022年01月13日
509 阅读
0 评论
0 点赞
2021-12-30
Linux下出现bash: /bin/xx: 参数列表过长
1.现象描述当目录下文件过多时,执行类似如下命令会出现bash: /bin/xx: 参数列表过长的错误# 列出当前目的下的文件到txt ls * >>../all.txt # 删除符合某种条件的文件 rm *.txt # 对于remove、cp、move等同样适用。2.解决方案使用xargs+find配合进行解决。举例如下:# ls find . -name "*"|xargs ls >>../all.txt find . -type f -name "*"|xargs ls >>../all.txt # rm find . -name "*.log"|xargs rm -rf "*.log" # 对于remove、cp、move等同样适用。参考资料Linux那点事-xargs命令详解bash: /bin/ls: 参数列表过长bash: /bin/rm: 参数列表过长
2021年12月30日
1,025 阅读
1 评论
0 点赞
1
2
3
...
5