自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 收藏
  • 关注

原创 安装并配置OpenResty

虽然 OpenResty 的核心是 Nginx,但又不同于Nginx,关键就在于其中的 ngx_lua 模块,把 Lua 语言嵌入到了 Nginx,可以用脚本的方式操作 Nginx 内部的进程、多路复用、阶段式处理等各种构件。OpenResty 并不是一个全新的 Web 服务器,而是基于 Nginx,它利用了 Nginx 模块化、可扩展的特性,开发了一系列的增强模块,并把它们打包整合,形成了一个"一站式”的 Web 开发平台"。

2023-03-28 21:39:49 1454 1

原创 Nginx将日志输送到Rsyslog服务

直接使用Nginx记录日志,在多台服务器的情况下日志会过于分散不容易管理,不过nginx在1.7.1版本以后,可以使用Rsyslog来记录日志。该配置也可以实现将nginx日志通过rsyslog服务输送到远程机器。

2023-03-24 19:24:32 1303

原创 值类型和引用类型

只有一些特定的类型,如:slice,map,channel,function,pointer这些天生就是引用类型,是通过引用传递的。引用类型:如:指针,slice切片,map,管道chan,interface等。值类型:基本数据类型系列,如:int,float,bool,string,,当没有任何变量引用这个地址时,该地址对应的数据空间就成了一个垃圾,由GC来回收。golang默认都是采用值传递,即拷贝传递,也就是深拷贝;而引用传递则是浅拷贝。变量存储的是一个地址,这个地址对应的空间才是真正的存储数据,

2023-02-10 10:20:16 857

原创 格式化输入

Scanf扫描从标准输入读取文本,将连续的空格分隔值存储到由格式确定的连续参数中,它返回成功扫描的项目数。如果这小于参数的数量,则err将报告错误原因。输入中的换行符必须与格式中的换行符匹配。Scan扫描从标准输入读取的文本,将连续的空格分隔值存储在连续的参数中,换行符算作空格。它返回成功扫描的项目数,如果小于参数的数量,则err将报告错误原因。byte 类型是 uint8 的别名,代表了 ASCII 码的一个字符,因此在标准输入byte类型的变量时必须接受的是一个数字。

2023-01-18 14:29:50 693

原创 格式化输出

5>、字符串与字节切片占位符:以5为例子。

2023-01-17 17:55:00 389

原创 go语言中变量和常量的注意点

2>、对不同长度的数组,unsafe.Sizeof()函数的返回值随着数组中元素的个数的增加而增加,这是因为unsafe.Sizeof()函数总是在编译期就进行求值,而不是在运行时,这就意味着unsafe.Sizeof()函数的返回值可以赋值给常量,在编译期求值,意味着可以获得数组所占的内存大小,因为数组总是在编译期就指明自己的容量,并且在以后都是不可变的。iota是一种特殊的常量,可以认为是一个可以被编译器修改的常量。在utf-8编码中占3个字节,1>、iota在const关键字出现时将被重置为0。

2023-01-17 15:44:47 372

原创 Rsync增量同步

同步目录时,若以" / "结尾则表示同步目录下所有文件,不会连同目录一起同步;若不以" / "结尾则表示同步目录下所有文件并且会连同目录一起同步。10. 无差异同步:使用" --delete "参数,一般用于两台负载均衡下面的web服务器之间的同步,或者高可用双机配置直接的同步等。

2022-12-29 14:45:03 1794 1

原创 ELK集群部署---Kibana的部署

ELK集群部署---Kibana的部署最后选择一个默认展示的索引日志即可。将ES上的三个索引全部创建。

2022-12-23 17:18:57 1224

原创 ELK集群部署---LogStash,Filebeat的部署

3. " multiline.match,multiline.negate ":multiline.match追加的位置, multiline.negate是否为否定模式。multiline.match为after,multiline.negate为true的意思就是从匹配的位置开始,只要是不满足匹配条件的,全部追加到匹配的那一行,直到再次遇到匹配条件的位置。2. " multiline.pattern ":匹配日志的正则,一般情况下会配置为从行首开始匹配。

2022-12-23 16:52:32 1653

原创 ELK集群部署---Zookeeper,Kafka集群的部署

注意:server.id=host:port:port,其中id为1-255,2888是集群间通讯的端口,3888为Leader。1>. 安装zookeeper:三个节点操作一致。3>. 启动zookeeper:三个节点同时操作。2>. 配置kafka:三个节点都要操作。3>. 启动Kafka:三个节点都要操作。1>. 安装kafka:三个节点操作一致。

2022-12-23 15:19:33 1293

原创 ELK集群部署---ElasticSearch集群的部署

ELK集群部署---ElasticSearch集群的部署安装head插件:在5.0版本之后不支持直接把插件包放入es安装目录的plugin目录下,需要单独安装。

2022-12-23 14:28:17 1041

原创 ELK常见架构

相比上一个架构,该架构增加了filebeat模块,它是一个轻量级的日志收集处理工具,部署在客户 端,Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,但缺点是logstash如果出现故障,会造成日志丢失。该架构是最简单的一种架构,该架构通过logstash来收集日志,通过elasticsearch来分析,检索日志,通过kibana展示。该种架构使用fluentd来替换了Logstash,使用fluentd的插件同样可以直接将日志发送给 Elasticsearch。

2022-12-16 16:13:36 227

原创 基于Dockerfile制作基于ubuntu启动ssh服务的镜像

【代码】基于Dockerfile制作基于ubuntu启动ssh服务的镜像。

2022-11-30 16:06:10 563

原创 基于容器制作基于ubuntu启动ssh服务的镜像

1. 拉取ubuntu镜像:这里拉取的是ubuntu:18.04版本。

2022-11-30 15:16:56 315

原创 端口映射与容器互联

" -p"(小写p):可以指定要映射的端口,并且在一个指定的端口上只可以绑定一个容器。支持的格式有∶" IP∶HostPort∶ContainerPort "," IP::ContainerPort " ," HostPort:ContainerPort "。当使用"- P"(大写P)标记时,Docker会随机映射一个端口到内部容器开放的网络端口(端口范围在Linux系统使用的端口之外,一般都过万)∶。在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的。

2022-11-24 11:35:53 951

原创 Docker数据管理

如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用" docker rm -v "命令来指定同时删除关联的容器。如果用户需要在容器之间共享一些持续更新的数据,最简单的方法就是使用数据卷容器,其实数据卷容器就是一个普通的容器,只不过是专门用它提供数据卷供其他容器挂载使用。1>. 备份数据卷: 通过参数" --volumes-from "从数据卷挂载数据卷,然后备份数据卷中的数据,例如∶。即在容器中的" /web "目录下的数据,保存在了宿主机的" /root/test "目录下。

2022-11-24 11:00:39 336

原创 CentOS7二进制方式安装Docker

【代码】CentOS7二进制方式安装Docker。4. node1主机上是提前使用yum方式安装好的docker,将同版本RPM包安装得docker启动脚本文件拷贝到node2主机上6. 配置镜像加速,这里使用的是阿里云镜像加速:8. 配置docker命令的命令补全功能:

2022-11-22 16:36:30 657

原创 Ingress暴露服务的方式

同样用deployment模式部署ingres-controller,并创建对应的服务 ,但是type为NodePort,这样,ingress就会暴露在集群节点ip的特定端口上。由于nodeport暴露的端口是随机器口,一般会在前面再搭建一套负载均衡器来转发请求。用DaemonSet结合nodeselector来部署ingress-controller到特定的node上,然后使用HostNetwork直接把该pod与宿主机node的网络打通,直接使用宿主机的80/433端口就能访问服务。

2022-11-22 11:56:08 1329

原创 部署k8s集群:

为此,Mirantis和Docker联合创建了cri-dockerd项目,用于为Docker Engine提供一个能够支持到CRI规范的垫片,从而能够让Kubernetes基于CRI控制Docker。7. 配置ipvs功能:在kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的两者比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块。只在master1上执行,因为master1当前是集群的leader。

2022-11-21 17:11:46 1363

原创 Prometheus邮件告警

【代码】Prometheus邮件告警。

2022-11-20 12:19:53 683

原创 可视化图形工具Grafana

选择prometheus资源当如Dashboard。6. 访问Grafana,

2022-11-19 17:38:51 180

原创 Prometheus监控案例

【代码】Prometheus监控案例。

2022-11-19 16:51:16 472

原创 部署Prometheus

【代码】部署Prometheus。

2022-11-19 16:04:59 213 1

原创 部署Dashboard

【代码】部署Dashboard。

2022-11-19 11:20:09 180

原创 zabbix监控方式

Zabbix-Trapper 监控方式可以一次批量发送数据给Zabbix Server,与主动模式不同,Zabbix-Trapper可以让用户控制数据的发送,而不用Zabbix-Agent进程控制,这意味着可以使用Linux定时任务 , 或者借助其他程序调用 Zabbix-Trapper 发送数据给 ZabbixServer。通过zabbix_sender可以批量传递key值,可以创建一个文本,每行定义一个key值,可以使用不同的主机名以及key、key值。3>. 配置zabbix的SSH的。

2022-11-10 19:31:39 2085

原创 zabbix配置钉钉报警

2. 在群聊中添加一个机器人:在" 群设置 -- 智能群助手 -- 添加机器人 -- 选择自定义机器人 --填入机器人的信息 "。1. 修改机器人配置为加签方式:在" 群设置 -- 智能群助手 -- 选择刚刚的机器人 -- 安全设置点击加签 "。步骤和方式一一致,但是报警信息中就不需要再加入关键词" zabbix "安装pip,pip是python的包管理器。

2022-11-09 14:25:18 4765 1

原创 zabbix监控Linux

选择监控的模板,这里是被动监控linux系统。查看添加的监控主机的最新数据是否监控到数据。4. 通过web页面配置linux监控,添加监控主机及套用模板设置。

2022-11-07 20:18:13 1286

原创 Keepalived+NFS+DRBD

" 共享存储DRBD的部署和配置 "系统盘sda:20G。存储盘sdb:20G。系统盘sda:20G。存储盘sdb:20G。

2022-10-28 21:29:17 786

原创 共享存储DRBD的部署和配置

5. 卸载文件系统并切换为备节点,注意:资源配置文件通常我们以" .res "结尾。注意:主节点先挂载,载写入数据;从节点先升级,再挂载。6. 从节点上切换为主节点,

2022-10-28 17:30:50 1007

原创 二进制方式安装Mysql并配置Mysql主从

4. 初始化数据库:初始化数据库会得到数据库的起始密码。

2022-10-26 21:27:19 795

原创 Haproxy+Keepalived

5. 配置Windows的域名解析:修改"

2022-10-25 19:25:11 596

原创 Nginx+Keepalived示例补充

该示例是通过" killall -0 nginx "命令实现对Nginx服务的高可用,如果Nginx服务启动,则该命令的退出码应为0,反之,退出码为1。而" killall "命令是" psmisc "包提供的。以上都是Master节点的配置,而BACKUP节点只需要对角色,优先级,router_id进行修改即可。该示例是通过脚本的方式对Nginx实现高可用,通过判断脚本的退出码来实现。

2022-10-25 18:02:54 1043

原创 Keepalived实现高可用

2>. 启动主备keepalived服务,观察VIP情况;在一个 HA 集群中, 如果主节点死机了,备用节点会进行接管,主节点再次正常启动后一般会自动接管服务。但是在实际业务中,这种现象叫做抖动,不建议来回切换, 毕竟服务的切换存在一定的风险和不稳定性。可以实现主节点故障恢复后不再切回到主节点, 让服务一直在备用节点下工作, 直到备用节点出现故障才会进行切换。3>. 启动主备keepalived服务,观察VIP情况;3>. 启动主备keepalived服务,观察VIP情况;设置 nopreempt。

2022-10-25 18:00:38 486

原创 安装Keepalived

注意:该版本的keepalived,编译安装完会自动生成服务启动的文件。

2022-10-25 17:19:16 483

原创 Haproxy的ACL配置及案例

配置解析:1. 如果访问的请求的URL路径的后缀名为" .jpg .jpeg .png .gif .html ",就匹配名为" static_page "的acl规则,如果条件成立,则调用名为" static_host "的后端配置,即静态配置。2. 如果访问的请求的URL路径的后缀名为" .php ",就匹配名为" update_page "的acl规则,如果条件成立,则调用名为" update_host "的后端配置,即动态配置。

2022-10-22 17:27:48 1618

原创 Haproxy实现负载均衡

补充:roundrobin:基于权重的轮询动态调度算法,支持权重的运行时调整,不同于lvs中的rr轮训模式,HAProxy中的roundrobin支持慢启动(新加的服务器会逐渐增加转发数),其每个后端backend中最多支持4095个real server,支持对real server权重动态调整,

2022-10-21 21:59:18 935

原创 Nginx实现负载均衡

注意:1. "proxy_set_header X-Forwarded-For $remote_addr"参数的作用:在代理向后端服务器发送的 http请求头中加入 X-Forward-For字段信息,用于后端服务器程序、日志等接收记录真实用户的 IP ,而不是代理服务器的 IP这是反向代理时,节点服务器获取用户真实 IP的必要功能配置。注意:1. upstream是关键字必须有,后面的www_server_pools为一个Upstream集群组的名字,可以自己起名,调用时就用这个名字。

2022-10-20 20:56:03 1420

原创 LVS基于ldirectord实现健康检查

此时发现当后端两台服务器都故障则启动了127.0.0.1服务器。LVS的配置按照上一篇的LVS-NAT模式配置。此时发现故障的node2已经从集群中剔除掉了。192.168.255.137(内网地址)192.168.188.11(外网地址)

2022-10-19 17:27:50 406

原创 LVS-NAT模式集群搭建

3>. 真实服务器配置:node2和node3配置相同。6>. 负载调度器操作系统必须是 Linux。4>. 负载调度器必须位于客户端和真实服务器之间,充当网关。2>. 真实服务器必须将网关指向负载调度器。3>. RIP 通常都是私有。1>. 集群节点,必须在一个网络中。192.168.255.100(内网地址)5>. 支持端口映射。192.168.188.11(外网地址),真实服务器可以使用任意系统。,仅用于各个集群节点通信。ens33(外网网卡)ens37(内网网卡)

2022-10-18 17:08:26 405

原创 LVS-DR模式集群搭建

8>. LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的并发请求和转发更多的服务器数量。3>. 集群节点RS通常来说最好带外部IP,而不使用Director及某固定机器作为默认网关,以便将数据包直接回复给客户端计算机,且不会产生回包的瓶颈;5>. 注意:以上配置都只是命令行的配置,因此都是临时配置,重启一下网络,RS上的vip,路由都会消失,因此要使其长期有效可以使用脚本来配置LVS-DR模式。4>. 所有集群节点。

2022-10-17 21:49:14 454

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除