运维平台架构设计及开发(持续更新中...)

开发环境: Python 2.x GoLang 1.6 Django 1.6 Bootstrap 3.0 JQuery1.8 架构: 模块介绍: Agent:使用GoLang开发,主要收集主机信息、执行下发任务、主机状态上报、服务检测等 Master:使用GoLang开发,接收Agent上报的信息,存储到MySQL Dashboard:使用Python Django开发,前台展示及管理。前端使用B......
Python 2019年01月26日 17:15:58

Consul集群K/V数据(3)

Consul 提供了一个简单的键值存储(KV store)。它可以用于保存动态配置、辅助服务间协作、建立领导选举以及其他开发者想要实现的功能。 有两种方法可以访问 Consul KV 存储:通过 HTTP API 或者 Consul KV CLI。下面通过 Consul KV CLI 的使用方法。 ./consul kv get nginx/worker_connections Error! No......
Linux服务 2022年10月25日 09:46:07

Consul介绍与安装配置(1)

在传统的单体架构下不够灵活不能很好的适应变化,从而向微服务架构进行转换,而伴随着大量服务的出现,管理运维十分不便,于是开始搞一些自动化的策略,服务发现应运而生。所以如果需要使用服务发现,应该 了解 服务治理的痛点。 介绍 Consul 是 HashiCorp 公司的一个开源的服务注册与发现工具,具有分布式、高可用性、可横向扩展、多数据中心的服务发现和配置共享的服务软件。Consul 官网目前主要推......
Linux服务 2022年10月24日 10:36:39

Consul集群ACL配置(2)

Consul使用 Access Control Lists(ACL-访问控制列表)来控制对UI、API、CLI、服务通信和代理通信的访问;ACL的核心是将规则分组为策略,然后将一个或多个策略与令牌相关联。 Consul使用token的形式进行安全控制访问,这里的token就是随机的字符串,有了token就有对应的操作权限,就好比之前说到WebAPI接口加访问控制一样,通过一个授权token就可以访......
Linux服务 2022年10月24日 10:13:22

Python通过ssh代理连接MySQL

#!/usr/bin/env python # -*- coding:utf-8 -*- import sshtunnel import pymysql db_host = 127.0.0.1 db_user = root db_password = 123123 db_port = 3306 db_database = test ssh_keyFile = /Users/test/.ssh/id......
Python 2022年08月01日 17:44:19

GoLang 中几种http请求方式

使用 net/http 包的函数 GET请求 import net/http ... resp, err := http.Get( http://wwww.ywfuns.com ) 利用http.client结构体来请求 import net/http ... clt := http.Client{} resp, err := clt.Get( http://wwww.ywfuns.com ) 使......
GoLang 2020年09月15日 15:13:21

Prometheus alertmanager 告警(4)

上一节 Prometheus node_exporter 部署(3) 一站式运维告警解决方法 电话、短信、微信、邮件、多人排班、分派策略 介绍 Prometheus 将数据采集和报警分成两个模块。报警规则配置在Prometheus Servers上,然后发送报警信息到AlertManger,Alertmanager 对收到的告警信息进行处理,包括去重,降噪,分组,沉默,抑制,策略路由,告警通知。 ......
其他 2020年07月20日 09:53:28

Python Celery队列、定时任务

介绍 Celery (开源)是一个 Python 编写的简单、灵活、可靠的用来处理大量信息的异步的分布式任务队列,主要用于实时处理和任务调度, 同时提供操作和维护分布式系统所需的工具。Celery可以支持多台不同的计算机执行不同的任务或者相同的任务。 组件 Brokers Celery 有生产者和消费者的角色,brokers 是生产者和消费者存放/拿取产品的地方(队列),常见的 brokers 有......
Python 2020年01月06日 14:31:27

Ansible 使用

简介 ansible是一个自动化IT工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible其关注点并非配置管理、应用部署或IT流程工作流,而是提供一个统一的界面来协调所有的IT自动化功能,因此Ansible的系统更加易用,部署更快。 ansible可以让用户避免......
其他 2019年11月12日 12:01:44

rpm文件打包

安装rpmbuild工具包 yum -y install rpm-build 生成打包目录(我这里采用手动方式创建) mkdir rpmbuild/ cd rpmbuild mkdir {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} 进入SPECS目录,编写SPEC文件,先看下SPEC编写格式及说明 Name: 软件包的名称,后面可使用%{name}的方式引用......
Linux命令 2019年09月17日 10:31:25

Go 两种读写文件的方式

1、使用 io/ioutil 库 package main import ( fmt io/ioutil ) var ( filename = /tmp/tt.txt ) func main() { // 读取文件 返回[]byte 类型 body, err := ioutil.ReadFile(filename) if err != nil { panic(err) } fmt.Println(......
GoLang 2019年08月23日 11:03:12