使用Prometheus监控MySQL

prometheus出了前面将了能监控系统的性能指标外,还能监控具体的应用程序,只需要按照prometheus约定的格式收集指标即可。这里介绍一下监控mysql应用。 安装Mysqld_Exporter 其中mysqld_exporter是有官方提供,下载地址: Mysql_exporter 1wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz 这些应用程序都是……

阅读全文

Go-micro学习笔记(2)gRPC使用

使用gRPC构建一个简易的商品服务注册到etcd中 创建models/protos目录,新建商品模型 1syntax = "proto3";2package models;34// 商品模型 5message ProdModel{6 // @inject_tag: json:"pid" 7 int32 ProdId = 1;8 // @inject_tag: json:"pname" 9 string ProdName = 2;10}使用protoc创建服务 1syntax = "proto3";2package models;34import "models.proto";56message ProdRequest{7 int32 size = 1;8}910message ProdListResponse{11 repeated ProdModel data = 1;12}1314service ProdService{15 rpc GetProdList(ProdRequest) returns (ProdListResponse);16}使用proto……

阅读全文

Go-micro学习笔记(1)http调用

1. go-micro体验 1package main 2 3import ( 4 "fmt" 5 "github.com/micro/go-micro/web" 6 "net/http" 7) 8 9func main(){ 10 service := web.NewService(web.Address("127.0.0.1:8000")) 11 // 使用http原生的handlefunc 12 service.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { 13 w.Write([]byte("hello world")) 14 }) 15 err := service.Run() 16 if err != nil { 17 fmt.Println(err) 18 } 19} 测试结果 1curl http://127.0.0.1:8000 2hello world 2. 使用web框架gin 1package main 2 3import ( 4 "github.com/gin-gonic/gin" 5 "github.com/micro/go-micro/web" 6 "net/http" 7) 8 9func main() { 10 r := gin.Default() 11 r.Handle("GET", "/", func(c *gin.Context) { 12 c.JSON(http.StatusOK, gin.H{ 13 "code": http.StatusOK, 14 }) 15 }) 16 service := web.NewService( 17 web.Name("demo_service"), 18……

阅读全文

Go操作Gitlab

Go操作Gitlab 环境准备 需要有一个Gitlab环境,可以使用下面的命令快速运行一个Gitlab 1 sudo docker run --detach \ 2 --hostname gitlab.example.com \ 3 --publish 443:443 --publish 80:80 --publish 22:22 \ 4 --name gitlab \ 5 --restart always \ 6 --volume /srv/gitlab/config:/etc/gitlab \ 7 --volume /srv/gitlab/logs:/var/log/gitlab \ 8 --volume /srv/gitlab/data:/var/opt/gitlab \ 9 gitlab/gitlab-ce:latest go-gitlab简介 go-gitlab几乎包含了gitlab上全部的api功能,这也是我们选择它的其……

阅读全文

Go操作Jenkins

Go操作Jenkins Jenkins是最受欢迎的开源持续集成系统,在我们的工作当中,经常用到。这里介绍Go语言的第三方库gojenkins来调用Jenkins API实现对Jenkins的相关操作。 环境准备 需要有一个Jenkins环境,可以使用下面的命令快速运行一个Jenkins 1docker……

阅读全文

使用Beego开发个人博客系统hblog(1)登录

关于beego的更多介绍可以看我前面的文章Go语言Beego框架介绍]或是查看官网。 安装 1go get -u github.com/astaxie/beego 2go get -u gtihub.com/beego/bee 创建项目 1bee new github.com/hzde0128/hblog 导入静态页面 这里使用的X-admin2.2,官网下载http://x.xuebingsi.com/2.2版本,将文件解压,html文件放入views目录,修改文件……

阅读全文

CentOS8下FastdDFS安装和使用

CentOS8下FastdDFS安装 Fastdfs简介 FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。 FastDFS 系……

阅读全文

Go语言Beego框架介绍

一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 Beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface……

阅读全文

微服务系列(6)RESTful介绍

RESTful,是目前最为流行的一种互联网软件架构。因为它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 什么是REST REST(REpresentational State Transfer)这个概念,首次出现是在 2000年Roy Thomas Fielding(他是HTTP规范的主要编写者之一)的博士论文中,它指的是一……

阅读全文

微服务系列(4)Consul介绍

Consul介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。 Consul是分布式的、高可用 的、可横向扩展的。它具备以下特性 : 服务发现:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas 提供的……

阅读全文