在之前的devops工具链中完成了jenkins以及gitlab配置之后,可以实现基础的CI/CD操作。操作流程整体的操作的流程如下所示:在开发环境配置好代码之后,将代码上传到gitlab,jenkins拉取gitlab的代码,由maven插件build,打包好后,构建 docker镜像,上传到目标服务器中运行,可以通过tag选择版本代码。本地编写代码使用idea编写一个基础的springboot
基础部分1.大数据的文件读取利用生成器generator迭代器进行迭代遍历:forlineinfile2.迭代器和生成器的区别1.迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置函数。i
现状公司有使用日志易,对应用层监控,并实现了大屏告警。同时也能够查询到相关的日志记录相关的日志易查询语句如下:#总量 logtype:Nginx AND Nginx.url:\/$SubMenuName$* AND NOT `JS_CSS_JPG_FONT` | stats count() as TotalCount #错误数(大于500) logtype:Nginx AND Nginx.url:
将windows更新设置为未配置1、 按Win+R打开运行,输入gpedit.msc回车打开本地组策略编辑器2、 在组策略左侧找到计算机配置>>管理面板>>windows组件>>windows更新3、 右侧双击“配置自动更新”,点击“未配置”然后点击确定保存设置,这里显示 “未配置”,你要再选择一次才有效。 关闭自动更新服
现在需求,要求内存稳定占用一定比率,不能像之前一样使用资源消耗脚本,因为那样内存使用只会在一定时间内波动。思路:1、在Linux中挂载tmpfs是一种将内存作为文件系统使用的方法。tmpfs可以创建一个临时文件系统,将文件保存在内存中,这样就能消耗一定的内存空间2、使用dd命令生成tmpfs文件,并挂载3、检查当前内存使用率,使得内存利用率大于60%脚本如下:#!/bin/bash #通过以下脚本
总结自己在使用华为云的一些心得SMN介绍消息通知服务(Simple Message Notification,SMN)是可靠的、可扩展的、海量的消息处理服务。它可以依据用户的需求主动推送通知消息,最终用户可以通过短信、电子邮件等方式接收。SMN对接CES,AOM等监控,将告警发送出来参考文档://support.huaweicloud./productdesc-smn/smn_pd
OAuth 就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。令牌与密码令牌(token)与密码(password)的作用是一样的,都可以进入系统,但是有三点差异。(1)令牌是短期的,到期会自动失效,用户自己无法修改。密码一般长期有效,用户不修改,就不会发生变化。(2)令牌可以被数据所
vhostRabbitMQ 中有一个概念叫做多租户:我们安装一个 RabbitMQ 服务器,每一个 RabbitMQ 服务器都能创建出许多虚拟的消息服务器,这些虚拟的消息服务器就是我们所说的虚拟主机(virtual host),一般简称为 vhost。本质上,每一个 vhost 都是一个独立的小型 RabbitMQ 服务器,这个 vhost 中会有自己的消息队列、消息交换机以及相应的绑定关系等等,
架构生产者(Publisher):发布消息到 RabbitMQ 中的交换机(Exchange)上。交换机(Exchange):和生产者建立连接并接收生产者的消息。消费者(Consumer):监听 RabbitMQ 中的 Queue 中的消息。队列(Queue):Exchange 将消息分发到指定的 Queue,Queue 和消费者进行交互。路由(Routes):交换机转发消息到队列的规则。在 Ra
想再windows写一个模拟内存,硬盘资源消耗的脚本,发现还是用python编写最好思路消耗可用内存的70%消耗当前硬盘剩余空间的70%,生成一个文件增加基本逻辑判断,一旦内存消耗过大,硬盘占用过多就终止脚本执行15分钟每天01:00执行import os import psutil import sys import logging import time #占用内存`` #占用硬盘 #配置
user nginx nginx; worker_processes 8; worker_rlimit_nofile 65535; error_log /var/log/nginx/error.log error; pid logs/nginx.pid; events { use epoll; worker_connections 65535; multi
生产上mysql配置文件my.cnf[mysqld] #default-character-set=utf8 basedir=/data/mysql datadir=/data/mysql/data #skip-grant-tables lower_case_table_names=1 socket=/tmp/mysql.sock port=3306 server-id=2 innodb_flus
redhat安装完后是不能直接用yum源的,会提示没有注册,需要修改成centos8的源里使用阿里云Centos8yum源cd /etc/yum.repos.d/ #下载阿里云yum源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo mv redhat.repo red
在windows服务器上,经常需要批量telnet大量地址段端口,来确认网络是否畅通。如果一个个telnet耗时耗力,使用其他第三方程序,则担心不合规,有影响。因此考虑使用windows批处理或者powershell来编写思路写一个input文件,将ip和端口信息保存脚本从input文件逐行读取,循环telnet,将不通的端口记录,输出到output中powshell$ports = @(6000
公司有一些云服务器,在华为云上,很多云服务器资源占用率不高,处于空闲状态。我担心领导检测到这些资源空闲的云服务器,会要求我们降低配置,同时会降低云服务器的采购预算。所以就想写一个shell脚本,模拟资源占用思路使用stress对内存进行压测,占用剩余内存的80%,可以模拟CPU和内存消耗使用dd工具生成大文件,占用第二块硬盘剩余空间的80%,可以模拟硬盘空间消耗和IO脚本持续20分钟,一旦检测到内
在项目中,需要使用华为云的API,来查询相关信息。本次记录了使用python的request模块,调用华为云LTS基础使用方法。关于华为云LTS,见官网文档:https://support.huaweicloud.com/lts/index.html关于华为云API,见官方文档:https://support.huaweicloud.com/api-lts/lts_api_0030.htmlapi
介绍对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。在项目开发过程中,我们会产生大量的对象数据,包括:日志文件,数据库脚本文件、安装包,容器镜像,图像、视频等等,我们不仅仅是需要有一个集中的地方来存储,还需要能基于 Web 的方式来访问它们。一般的
以上是prometheus架构图,一个完整的监控流程是数据采集(exporter),采集到数据之后,做数据可视化(grafana),然后是监控告警部分。promethues的角色是数据的采集,存储,定制告警规则,数据的展示是grafna,告警则是借助alertmanger来实现。详细参考官方网站https://prometheus.io/docs/alerting/latest/notificat
CAdvisorCAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。安装部署#安装部署 docker pull google/cadvisor:v0.24.1 #centos7上安装指定版本 #启动 docker run \ --volume=/:/roo
process-exporter介绍在prometheus中,可以借助process-exporter用来检测所选进程的状态信息,官网地址https://github.com/ncabatoff/process-exporter运行方法: process-exporter [options] -config.path filename.yml若选择监控的进城并对其进行分组,可以使用命令行参数或者y
源码安装nginx的步骤如下:1、安装编译安装包2、下载源码包3、解压源码包4、编译安装5、设置启动以下是dockerfile编写示例#指定基础镜像 FROM centos:7 #添加标签 LABEL label="nginx_test" #在编译安装前需要安装相关依赖包 RUN yum -y install gcc gcc-c++ autoconf automake make pcre-de
docker搭建服务docker pull elasticsearch:7.8.0 docker stop elasticsearch docker rm elasticsearch docker run -itd --restart always -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms256m -Xmx512m" -e "discover
DNS基本原理定义DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的,又名“域名解析服务器”,域名解析就是将域名转化为IP地址。其中域名必须对应一个IP地址,而IP地址不一定有域名。互联网的域名结构域名因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(
现在很多软件配置文件都是.toml格式的了,所以作为运维人员,很有必要了解下toml。官网网址https://toml.io/cn/概念为人而生的配置文件格式。TOML 旨在成为一个语义明显且易于阅读的最小化配置文件格式。TOML 被设计成可以无歧义地映射为哈希表。TOML 应该能很容易地被解析成各种语言中的数据结构。TOML 旨在成为一个最小化配置文件格式,它:语义明显易于阅读能无歧义地映射为哈
测试使用的elasitcsearch版本是6.3nodejs版本10.9linux版本为centos7.9elasicsearh-head插件Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作。在Elasticsearch5.x版本以后,head插件已经是一个独立的Web App了,所以不需要和Elasticsearch进行
结构体验证用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多。package main import ( "fmt" "time" "github.com/gin-gonic/gin" ) // person type Person struct { //不能位空并且大于10 Age int `form:"age" binding:"re
cookie介绍HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出Cookie就是解决HTTP协议无状态的方案之一,中文是小甜饼的意思Cookie实际上就是服务器保存在浏览器上的一段信息。浏览器有了Cookie之后,每次向服务器发送请求时都会同时将该信息发送给服务器,服务器收到请求后,就可以根据该信息处理请求Cookie由服务器创建,并发送给
全局中间件所有的请求都经过此中间件// 所有请求经过此中间件 package main import ( "fmt" "time" "github.com/gin-gonic/gin" ) //定义中间件 func MiddleWare() gin.HandlerFunc { return func(ctx *gin.Context) { t := time.Now() f
数据格式响应package main import ( "net/http" "github.com/gin-gonic/gin" ) // 定义接收数据的结构体 type Login struct { //binding ,required修饰字段,若接收为空值,则报错,是必须字段 User string `form:"username" json:"user" uri:"u
json数据解析和绑定客户端传参,后端接收并解析到结构体package main import ( "net/http" "github.com/gin-gonic/gin" ) // 定义接收数据的结构体 type Login struct { //binding ,required修饰字段,若接收为空值,则报错,是必须字段 User string `form:"userna
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号