- 博客(143)
- 资源 (10)
- 收藏
- 关注
原创 Jenkins配置构建Golang项目
1. 环境这里,我已经安装好了Jenkins环境,重新安装可参考,并且安装好了JDK、Tomcat、Git、Maven。2.Jenkins部署项目2.1 新建任务2.2 配置这里,我举例配置一个编译golang项目的流水线构建项目。描述:数据联网系统后台数据接入服务,基于Golang持续构建。<li> 取包路径: <a href="http://172.20.32.143/Melineye_DAG/Melineye_DAG-gosr.
2020-09-21 16:02:03
2840
原创 MinIO Go Client API使用
1. 前言本文我们将学习MinIO Go Client API使用,MinIO安装参考。对于完整的API以及示例,请参考Go Client API Reference。2.Go Client2.1 初始化MinIO ClientMinIO client需要以下4个参数来连接与Amazon S3兼容的对象存储endpoint:对象存储服务的URLaccessKeyID:Access key是唯一标识你的账户的用户ID,默认minioadminsecretAccessKey:Se..
2020-09-21 15:44:02
2750
原创 Linux上Tomcat+Nginx安装部署以及发布
1.Tomcat安装1.1 下载官网下载,这里我下载的版本:apache-tomcat-9.0.38.tar.gz,上传到了/home目录下。1.2 安装# tar -zxvf apache-tomcat-9.0.38.tar.gz# mv apache-tomcat-9.0.38/ tomcat // 重命名为tomcat1.3配置环境变量# vim /etc/profile注意:这里我已经安装好了JDK环境,不重复安装了,自行安装。1.4...
2020-09-17 19:15:23
811
原创 Linux下Jenkins 安装与配置
1. Jenkins简介Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。功能包括:持续的软件版本发布/测试项目、监控外部调用执行的工作。2. 安装环境Centos7.x jdk jenkins tomcat这里,我已经提前安装好了JDK、Tomcat、Git、Maven,如果没安装的自行安装。3. Jenkins安装3.1 下载官方下载,或在线下载,在线安装文档参考#wget https://pkg.jenkins.io/r...
2020-09-16 13:22:32
7543
1
原创 Linux 搭建安装Maven环境以及编译打包
1.前言这里,已经提前下载并安装好JDK 。如果没安装,先安装JDK。2. 安装Maven2.1 下载#wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz2.2 解压# tar -zxvf apache-maven-3.3.9-bin.tar.gz# mv apache-maven-3.3.9 /usr/loc.
2020-09-15 14:59:25
9961
原创 MinIO安装以及使用
1.Minio介绍MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从数KB到最大5TB都能很好的支持。开源并且用Go语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。相比 hadoop hdfs 分布式存储服务轻量很多,且支持单节点部署。SDK(API):官方安装文档,MinIO提供了很多语言的SDK跟API支持:java
2020-09-10 20:00:19
13588
原创 Shell比较字符串、数值
1. 整数比较操作符 解释 举例 -eq 等于 if [ "$a" -eq "$b" ] -ne 不等于 if [ "$a" -ne "$b" ] -gt 大于 if [ "$a" -gt "$b" ] -ge 大于等于 if [ "$a" -ge "$b" ] -lt 小于 if [ "$a" -lt "$b" ] -le 小于等于 if [ "$a" -le "$b" ] < ..
2020-09-09 15:27:34
408
原创 Shell脚本中获取本机ip地址
1.单网卡方法1:#!/bin/shlocal_ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`echo "${local_ip}"ifconfig -a //和window下执行此命令一样道理,返回本机所有ip信息grep inet //截取包含ip的行grep -v 127.0.0.1 //去掉本地指向的那行grep
2020-09-09 11:40:01
13630
原创 shell脚本检测监控程序
1. 需求使用脚本监控指定程序是否运行,如果程序没有运行,启动程序。2. 脚本#!/bin/bash# 判断是否脚本传参if [ ! -n "$1" ] ;then echo -e "\033[31m*脚本传参为空,请检查... \033[0m" exit 1fi# 时间格式time=$(date "+%Y-%m-%d %H:%M:%S")# log日志文件logFile='./monitor.log' #功能需求: 监控程序是否运行,如果程序没有运行,那么启动程序
2020-09-01 14:21:59
800
原创 ElasticSearch单机多实例伪集群部署
1. 前言es集群生产环境中,一般不建议单机部署多实例,如果使用的是一台高配(高内存)物理机,内存≥512GB,单实例部署就有点浪费资源了(单实例安装参考),此时应考虑单机多实例伪集群部署。系统环境:Centos 7.6运行环境:jdk1.8Elasticsearch版本:6.7.02.单机多节点(伪集群)es 伪集群:es服务在同一台机器上根据不同的端口启动服务,构成在本机上的一个集群模式2.1 解压,复制三份# tar -zxvf elasticsearch-6...
2020-08-31 17:00:49
1465
2
原创 shell 脚本修改 json 中某个字段的值
1. 需求使用脚本动态修改global.json文件json内容中的LocalIp、Ip的值(不清楚IP具体的值)。{ "LocalIp":"172.20.34.22", "DemonPort":"19000", "Consul":{ "Ip":"172.20.32.218", "Port":"8500" }}2. 解决办法两种方法脚本如下:#!/bin/bashaddr='172.20.32.210'ip='172.20.32.210'# 方法1#se
2020-08-27 17:54:13
4593
原创 Prometheus监控平台Alertmanager配置告警
1. 前言接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行学习使用Alertmanager告警配置。2. 告警概述官方文档Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器。Prometheus的警报分为两个部分。Prometheus服务器中的警报规则将警报发送到Alertmanager。该Alertmanager 然后管理这些警报,包括沉默,抑制,聚集
2020-08-21 10:16:41
10718
9
原创 Linux下DNS服务器离线安装
1. 环境CentOS7.6DNS SERVER:172.20.32.220域名:dnps.com本篇介绍的离线安装,离线包安装成功后,配置参考在线安装参考。2. 下载离线安装包因为安装时离线环境,所以提前在有网络的服务器上下载好了需要的软件包注意:在使用downloadonly时,需要在没有安装过依赖的机器上执行,如果执行的机器之前安装过所需依赖,执行downloadonly后,会提示依赖已经安装,不能下载,会导致离线安装缺少依赖包。下载DNS服务依赖包#yum -y.
2020-08-19 15:25:34
4131
原创 Supervisor守护java进程
1. 前言这里,supervisor已经安装完成,离线安装参考,在线安装参考。需求:守护java进程,由于java应用传参启动,因此使用脚本进行封装传参启动。2. 配置配置文件:*.ini[program:web]#运行程序的命令command=/opt/datanet/datanet-supervisor.sh 2#命令执行的目录directory=/opt/datanet#stdout日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervis
2020-08-18 16:02:02
3022
原创 Shell脚本命令行传参
1.Shell 特殊参数解释# echo $0 # 当前脚本的文件名(间接运行时还包括绝对路径)。# echo $n # 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1 。# echo $# # 传递给脚本或函数的参数个数。# echo $* # 传递给脚本或函数的所有参数。# echo $@ # 传递给脚本或函数的所有参数。被双引号 (" ") 包含时,与 $* 不同# echo $? # 上个命令的退出状态,或函数的.
2020-08-18 15:18:49
1777
原创 Prometheus监控平台配置redis_exporter
目录1. 前言2.安装配置redis_exporter3.Prometheus配置4.Grafana配置1. 前言接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行学习使用Redis来获取需要监控的相关指标。代理插件不一定非要安装在redis端官方文档参考指南2.安装配置redis_exporter2.1 下载下载地址,也可以wget在线下载,这里我下载到了home目录下# wget https://github.com/ol...
2020-08-12 13:30:08
5860
原创 Prometheus监控平台配置process-exporter
目录1. 前言2.安装配置kafka_exporter3.Prometheus配置4.Grafana配置1. 前言接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行学习使用process-exporter可以用来检测所选进程的存活状态信息。process-exporter源码2.安装配置kafka_exporter2.1 下载安装包下载,这里我下载到了home目录下2.2 解压/usr/local目录下,并重命名# t...
2020-08-11 19:06:24
5190
1
原创 Prometheus监控平台配置kafka_exporter
目录1. 前言2.安装配置kafka_exporter3.Prometheus配置4.Grafana配置1. 前言接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行Prometheus的一些常用监控。Dashboard模板下载(.json文件)Kafka现有开源的集群监控方案:kafka-manager、kafka-monitor、kafka-eagle、KafkaOffsetMonitor,但有所限制监控指标被固化,不易扩展、预警功能弱。...
2020-08-11 10:45:34
8368
原创 Centos7开机启动自定义脚本
1. 需求服务安装部署完成后,实现自定义脚本开机自启动。这里我需要开机自启三个不同目录下的脚本,并且又先后顺序启动服务器版本:Centos7.62. 配置开机自启动2.1自定义脚本赋予可执行权限这里,分别要自启动三个不同目录脚本,分别为/opt/start.sh、/opt/datanet/start.sh、/opt/datanet/dnpsservice/start.sh注意:自定义脚本必须具有可执行权限。# chmod +x /opt/start.sh /opt/dat...
2020-08-10 17:08:22
562
原创 Prometheus监控平台配置Elasticsearch
目录1. 前言2.安装配置elasticsearch_exporter3.Prometheus配置4.Grafana配置1. 前言接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行Prometheus的一些常用监控。Dashboard模板下载(.json文件)elasticsearch-prometheus-exporter是ES用于Prometheus exporter的插件,可以通过给elasticsearch安装这个插件并配置Prom...
2020-08-10 14:42:47
3592
3
原创 Prometheus监控平台配置node_exporter
一. 前言接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行Prometheus的一些常用监控。二. 安装配置node-exporter(监控linux机器)2.1下载解压下载地址,这里我下载下来上传到了/home目录下,版本node_exporter-0.18.1.linux-amd64.tar.gz#tar -xvf node_exporter-*.linux-amd64.tar.gz -C /usr/local/# mv node_exporte.
2020-08-07 18:29:13
21896
2
原创 Prometheus+Grafana监控部署
目录1.Prometheus介绍2. 下载安装3.安装Grafana1.Prometheus介绍Prometheus是一套开源的监控、报警、时间序列数据库的组合,Go语言开发。随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。Za...
2020-08-07 16:38:10
2538
原创 Golang处理json的key不带双引号转换为json对象
问题:json对象中的key不带双引号,导致json.Unmarshal()解析失败。样例数据:{ AGE: 45, SEX: 2, JGSJ: "20200731152755", DEVICEID: "ea0d0534cb3a4806b08cce001c33bf1f", JKSBBH: "321282840000047700128094", KKBH: "5f91fc407b364d74a2a251e6bceaf4ba", XSFX: "", DWMC: "新桥鑫宏发超市",
2020-08-06 09:58:29
2318
原创 Linux下NFS服务的安装与配置
目录1. 环境2. NFS介绍3. 下载安装服务端4. 客户端安装5.测试6.Window上挂载NFS1. 环境CentOS7.6以2台机器为例,服务端:172.20.32.219 客户端:172.20.32.2182. NFS介绍NFS(Network File System):它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端...
2020-08-05 10:04:01
10991
原创 docker安装zabbix和grafana监控系统
1. 环境Centos7.6 docker-ce-18.03.1 Zabbix 5.0.2Zabbix docker官方说明文档 Grafane docker部署参考 zabbix-docker官方git以及详细docker-compose参考文档2. Docker安装Docker环境安装基础使用,可参考另外一篇文章Docker安装使用,这里我简单安装,不详细docker安装说明。# yum update -y //网上说yum包更新到...
2020-07-31 17:46:55
724
原创 Grafana离线安装部署
目录1. 环境2. 离线下载3. 离线安装4. 页面访问1. 环境Centos7.6 Grafana版本:grafana-6.6.1-1.x86_64官网下载 Zabbix离线安装参考 在线Grafana安装部署参考 注意: 这里我已经安装Zabbix Server,Grafana一般和Zabbix Server部署在同一台机器。2. 离线下载1)官网下载rpm包,这里我下载的版本是grafana-6.6.1...
2020-07-31 16:42:33
8653
1
原创 Zabbix离线安装部署
1. 环境Centos7.6 Zabbix4.2.5官网下载 在线安装参考2. 离线下载1)下载zabbix 相关的rpm 包2)利用yum 工具下载php相关的rpm包(这里离线下载,需要修改镜像源)#yum -y install php --downloadonly --downloaddir=/data/down/这里提供了已经下载好的所有依赖包,可点击下载(推荐)。2. 离线安装1) 关闭selinux#vi /et...
2020-07-31 11:15:56
13670
7
原创 Zabbix Agent 客户端安装配置
目录1. Zabbix Agent 介绍2. 下载安装3.Grafana导入模板1. Zabbix Agent 介绍zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式。主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/prox..
2020-07-28 18:06:07
1848
原创 linux下Grafana安装配置
目录1. 环境2.Grafana介绍3. 安装配置4. 页面访问1. 环境centos7.x Grafana版本:grafana-6.6.1-1.x86_642.Grafana介绍Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知,主要特点:1) 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;2) 数据源...
2020-07-27 14:47:06
4751
原创 Linux搭建DNS服务器
1. 环境CentOS7.6DNS SERVER:172.20.32.232更改主机名:dnps.com2.DNS服务器简介DNS(Domain Name System)域名系统:目前提供网络服务的应用使用唯一的32位的IP地址来标识,但是由于数字比较复杂、难以记忆,因此产生了域名系统(DNS),通过域名系统,可以使用易于理解和形象的字符串名称来标识网络应用(如www.baidu.com、www.taobao.com)。访问互联网应用可以使用域名,也可以通过IP地址直接访问该应用,在使.
2020-07-23 17:47:49
2999
原创 Centos7安装Zabbix4.0
1. 安装环境centos7.x zabbix4.0.x LST 官方文档 安装包下载2.环境搭建LAMP1)更新系统组件到最新的版本#yum -y update2) 关闭selinux#vi /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效#setenforce 0 #临时关闭命令...
2020-07-20 19:18:47
938
原创 Golang协程调度原理( G、M、P)
1. 什么是协程?协程,又称微线程,纤程。英文名Coroutine。对于进程、线程,都是有内核进行调度,有CPU时间片的概念,进行抢占式调度。协程的调用有点类似子程序,但是和子程序相比,协程有挂起的概念,协程可以挂起跳转执行其他协程,合适的时机再跳转回来。goroutine使用方式非常的简单,只需使用go关键字即可启动一个协程,并且它是处于异步方式运行,你不需要等它运行完成以后在执行以后的代码。2. 协程调度原理?G(Goroutine):一个G代表一个goroutineM(Mach
2020-07-09 13:47:08
5249
原创 Rabbitmq知识点总结
1.概念 Broker:简单来说就是消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue:消息队列载体,每个消息都会被投入到一个或多个队列。 Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。 Routing Key:路由关键字,exchange根据这个关键字进行消息投递。 vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。 producer:消息生产者...
2020-07-03 13:20:11
553
原创 C++——TCP和UDP头部结构(下)
1. TCP头部结构OSI七层模型网络传输层中,TCP是面向连接、可靠的、字节流传输。TCP协议通信双方必须先建立连接,通信双方必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP是全双工的,即双方的数据读写可通过一个连接进行。完成数据交换之后,通信双方都必须断开连接以释放系统资源。TCP协议的这种连接是一对一的,所以基于广播和多播(目标是多个主机地址)的应用程序不能使用TCP服务。而无连接的UDP则十分适合这种广播和多播。TCP协议使用字节流(UDP使用数据报),实.
2020-07-02 16:56:42
1626
原创 Centos7 下网络IP配置
使用VMware vSphere client 已经安装 Centos7系统,以下为如何配置静态IP网络配置。1. 修改IP地址#vi /etc/sysconfig/network-scripts/ifcfg-ens160TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_D.
2020-06-11 14:38:40
272
原创 Golang学习篇——对象池sync.Pool
1. 什么是sync.Pool?Go 1.3 的sync包中加入一个新特性:Pool,官方文档。简单的说:它就是一个临时对象池,这个类设计的目的是用来保存和复用临时对象,以减少内存分配,降低CG压力。2. 为什么需要sync.Pool?增加临时对象的重用率,减少内存分配,减少GC负担,goroutine对象越多GC越慢,因为Golang进行三色标记回收的时候,要标记的也越多,自然就慢。3.sync.Pool使用思路:搞一个池子,预先放入临时产生的对象,然后取出使用官方fmt包就.
2020-06-08 18:05:07
1687
原创 Golang实现Time定时器超时退出方式
1.time.After假设业务中需调用服务接口A,要求超时时间为5秒,那么如何优雅、简洁的实现呢?可以采用select+time.After的方式,十分简单适用的实现。package mainimport ( "fmt" "time")//发送者func sender(c chan int) { for i := 0; i < 20; i++ { c <- i if i >= 5 { time.Sleep(time.Second * 7).
2020-06-08 13:36:44
5330
原创 Golang学习篇——协程池
目录1.为什么需要协程池?2. 简单的协程池3.go-playground/pool4. ants(推荐)1.为什么需要协程池?虽然go语言自带“高并发”的标签,其并发编程就是由groutine实现的,因其消耗资源低(大约2KB左右,线程通常2M左右),性能高效,开发成本低的特性而被广泛应用到各种场景,例如服务端开发中使用的HTTP服务,在golangnet/http包中,每一个被监听到的tcp链接都是由一个groutine去完成处理其上下文的,由此使得其拥有极其优秀的并发量...
2020-06-05 13:11:10
14945
原创 C++实现字符串分割(split)
// 字符串分割 std::vector<std::string> CDataCollector::SplitString(std::string& str, const std::string& pattern){ std::string::size_type pos; std::vector<std::string> vecStr; str += pattern; //扩展字符串以方便操作 std::size_t iSize = str.size.
2020-06-04 16:36:49
687
原创 Elasticsearch如何删除数据以及索引
1.删除数据,保留索引数据结构1) 删除索引下全部数据,保留数据结构(注意请求方式是Post)索引:data2.0-2020.03.26注意:请求方式是Post,只删除数据,不删除表结构POST /索引/_delete_by_query?pretty2) 根据匹配条件删除指定数据(注意请求方式是Post)索引:data2.0-2020.03.26POST 索引名称/文档名称/_delete_by_query3) 根据主键删除数据(注意请求方式是DELETE)...
2020-06-03 17:57:21
18026
Visual Assist X 2114 (支持vs2015 win10 x64).zip
2020-04-24
cmake-3.17.1-Linux-x86_64.tar.zip
2020-04-24
depends22_x64.zip
2020-04-24
apache-ftpserver-1.1.1.zip
2020-04-24
FTPserver.zip
2020-04-24
cmake-3.17.1-win64-x64.msi
2020-04-15
Jsoncpp解析
2017-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人