自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (2)
  • 收藏
  • 关注

原创 filter和map的趣味性探索-python函数篇

技术导语: 既然map和filter函数使用方法一样,能否通过map来实现过滤的功能,又或者通过filter来实现映射变换,闲来无聊,恶意测试了下定义映射函数f1def f1(x): if x>20: return x*2 else: return 0定义过滤函数f2def f2(x): return x>20定义列表data=[30,12,43]测试样例1>> mapresult=map(f1,da.

2021-10-21 15:26:17 190

原创 navacat-多数据库类型操作工具

技术导语: 运维人员和数据库打交道是不可避免的,一款好用耐磨的工具是必不可少的。Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。多数据库支撑本人用的还是比较老旧的版本,因此截图中的数据库类型支持还不是太过丰富。但是可以看到基本的关系型数据库也是支撑到位的。无缝数据迁移支撑同模式、同库跨模式、跨库数据传输,操作更便捷。多元化操作导入

2021-10-18 17:50:25 536

原创 postgresql实现跨库查询-dblink的妙用

技术导语: 用惯了oracle的dblink,转战postgresql,会一时摸不着头脑。本期就重点详细讲解postgresql如何安装dblink模块及如何使用dblink实现跨库查询。安装contrib包rpm -ivh postgresql10-contrib-10.4-1PGDG.rhel7.x86_64 --nodeps --force安装完成后发现/usr/pgsql-10/lib下创建了dblink.so文件创建db_linkcreate extension dblink; .

2021-10-14 17:18:33 4216

原创 prometheus数据库监控-那些你必须知道的事儿

技术导语: 正如标题描述的,本章将介绍如何通过prometheus的客户端工具postgres-exporter实现postgresql数据库的监控,当然prometheus社区还提供了其他类型的数据库监控客户端,如mysql-exporter,这里就不多列举了。客户端可执行文件postgres-exporter客户端配置文件custom.yamlpg_replication: query: "SELECT EXTRACT(EPOCH FROM (now() - pg_last_xact_.

2021-10-12 16:15:23 439

原创 运维多屏操作神器-MobaXterm

技术导语: 本期介绍一个超级好用的linux远程客户端工具,用比较原始的方法解放运维操作人员的双手–多屏同步操作。这个工具就是MobaXterm,一个集颜值与效用并存的神器。服务器会话管理 VS xshell目录管理:分目录管理会话。会话管理:一个服务器可以有多个会话,会话可以理解为特定的用户与目标服务器的连接信息。对比结果:在会话管理方面,与xshell并没有太大差别。多屏操作 VS xshell同时多个屏幕同步录入操作,比较适合多台服务器的巡检或者状态查询操作。建议不要同时超过8个.

2021-10-11 14:28:07 2451

原创 极简体验-shell脚本实现应用服务开机自启

技术导语: 之前有篇文章已经基本介绍了应用服务开机自启的实现方法,本文着重基于脚本管理方便性、脚本内容通用性、脚本应用环境适配性三大方面的考虑,编写自启脚本,达到一个脚本适用所有应用服务自启的效果。关于运维工作的最佳实践在接到这个需求的初期,就在思考如何最小能力成本地编写脚本,包括后续的脚本维护。主要有如下几大难题。应用部署路径不同应用启动指令不同应用部署环境不同应用部署用户不同针对三个难题的解决方案更多的还是从部署规范上去思考。应用部署路径不同前提: 统一部署路径规范,所有应用部.

2021-09-29 16:51:50 231

原创 postgresql批量操作对象权限

技术导语: 批操才是王道(请容许我为了节省文字,这么简称“批量操作”),为什么?因为效率。数据库的操作历来是繁琐枯燥的,尤其pg库的网上相关资料相对甚少的情况下,很多极简操作是不容易被发现的,因此本文主要为了解决pg库批操问题。pg库对象介绍**数据库(database):**一般以业务类型划分,为保证业务不互相影响,而将不同业务数据分库存储,当然相关业务也可以同库分模式存储。**模式(schema):**pg库实现跨库关联查询还是比较麻烦的,现了解到的应该是创建视图的方式,无疑增加了复杂度和维护.

2021-09-29 11:36:55 334

原创 centos简单实现应用的开机自启

技术导语: 俗语说-师傅领进门,修行在个人。顺利入门就代表成功大半。本文通过简单的shell脚本和详尽的操作步骤来实现应用的开机自启。应用启动脚本编写cat /app/reboot_start.sh#!/bin/bashsu - $1 << EOF #安全起见,大部分应用会创建应用用户进行部署,因此在应用启动的时候需要切换到应用用户,应用用户也作为第一个参数传入cd $2; #进入应用启动目录,作为第二个参数传入$3; #执行启动的命令,作为第三个参数传入echo "user:.

2021-09-24 14:57:44 373

原创 prometheus进程监控-那些你不得不知道的事儿

技术导语时刻: 还在困惑不知道如何进行有效的进程监控么?初学prometheus不好理解process-exporter的配置规则么?好不容易上线使用了,总有些莫名其妙的问题费解得摸不着头脑?本文一一为你解答。...

2021-09-24 14:36:02 298

原创 运维资源管理平台-摆脱传统管理模式的困扰

这里不是诋毁excel对于运维工作的助益效果,其实很多运维工作还是离不开excel,但是作为一个技术人员,如何在工作内容上与一般行政人员有所区分,当然也没有诋毁行政人员的意思。(~~卑微的作者)接上个问题,作为一个技术人员,应该尽可能通过技术的手段来解决工作上的问题,应该尽可能追求最高效的工作方法。痛点传统excel进行服务器资源的管理存在几大弊端:1、信息同步:资源的使用变更同步给其他同事存在滞后,同时操作比较麻烦,因为要把同步后的数据通过文件的方式传递给其他同事;2、不利于追溯查询轨迹:一份清单

2021-09-22 18:04:24 441

原创 自动化运维工具-提升运维舒适度

目前对于大部分公司来说,运维团队及人员最大的困扰是什么?重复、重复、一直不断的重复。没有时间去思考个人技术能力的提升,没有时间去拥抱前沿的运维理念和工具。不要说什么时间挤挤总会有的,碎片化的时间极不利于思想方法的提炼。个人认为理想的运维状态,在常规工作中的投入应该占到极少的比重,更多的是需要偷懒,偷懒却不意味着放空大脑,而仅仅是解放双手。作为高级运维人员应该更多地思考如何有效保障系统稳定性,如何提升日常工作效率。在运维工作的策划、实施、检查、改进环节有更多的投入,同时做好应急响应和对外交付的规范标准。而所

2021-09-20 08:08:49 386

原创 蓝鲸智云-腾讯给广大运维工作者的福利

这篇文章的标题起的有点大,那是因为试用过蓝鲸社区版后,真正体会到了一个统一运维平台带来的高效运维体验是多么的舒爽。接下来就简单介绍下蓝鲸这么个神器。在介绍之前,先对运维行业的发展历程做个梳理。发展历程手工操作->脚本自动化->web自动化->调度自动化->智能化运维手工操作: 比较原始的运维模式,一切靠肝,在这个阶段,7*24小时,满负荷工作是常态。脚本自动化: 这个阶段的运维人员具备一定的脚本能力,能编写较复杂的脚本,充分利用crontab定时器,基本上实现一键巡检,

2021-09-17 17:41:57 711

原创 当使用数据库已成为一种习惯-不要太爽

在接触了如此种类繁多的数据库产品后,在见识了各种关系型/非关系型数据库后,在每天工作离不开数据库后。不知道各位同学是否培养了一些只有我们自己才会懂的习惯,这些习惯不要太爽。容我一一列举1、数据库当计算器用常见的三位数以上的运算,还是像普罗大众一样拿出手机,亦或者打开笔记本计算器?nonono,对着打开的数据库客户端界面,一顿操作。分分钟得到答案,相比较于鼠标点击计算器,手指头头点击手机屏幕。键盘上翻飞的手指关节明显效率更高嘛。postgresql:select (123+342)*12/102 "

2021-09-14 15:39:19 85

原创 postgresql慢查询定位-操作sql轨迹跟踪

部署插件contribrpm -ivh postgresql10-contrib-10.10-1PGDG.rhel7.x86_64.rpm --force --nodeps配置postgresql.confshared_preload_libraries = 'pg_stat_statements'pg_stat_statements.max = 1000pg_stat_statements.track = all #抓取所有sql注: 如果不做上述操作,如下操作会报错:pg_stat_st

2021-09-10 16:45:43 998

原创 linux磁盘空间扩容及缩减

磁盘空间缩减lvreduce -L 20G /dev/mapper/VolGroup-lv_home 注: lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G使用lvreduce减小逻辑卷的大小需注意:减小后的大小不能小于该磁盘分区已存储文件的大小,否则会丢失数据。磁盘分区扩容本文分为两个步骤,首先格式化无用的磁盘分区(/dev/centos/var_lib_mysql),随后将格式化后的磁盘分区空间分配给目标扩容分区

2021-09-09 17:51:03 2806

原创 windows注册服务-让应用使用更简单

想必各位运维同学工作中在使用windows系统的时候肯定有这样的困扰:应用太多不好管理,想要找到启动的应用路径还得去翻找台账。不同的应用启动指令也需要去找记录文档。如果长期疲于各种win应用的常规繁复操作,势必影响一天美好的心情。恭喜你,你看到了这篇文章。我能帮你解决问题。解决方法 就是将应用注册为服务,让应用启动与停止变得简单。在服务列表即可找到需要操作的应用。下载程序instsrv.exe下载地址:https://pan.baidu.com/s/1ShMV83CTLgO-WYcvyQ

2021-09-08 14:28:19 355

原创 nginx简易实现权限登录

实现效果Centos安装httpd-tools创建用户并设置密码到指定文件:htpasswd /etc/apache2/.htpasswd user2配置nginxserver {listen 80;server_name nginx-ui.base.cecdata.com;location / { proxy_pass http://127.0.0.1:8080/;}auth_basic "Administrator's Area"; #这里是验证时的提示信息auth_b

2021-09-06 21:16:10 1339

原创 postgresql主从流复制-让你的数据库可靠起来

此处仅讨论一种技术方法,不做适用性评判和实际场景解决方案优劣的比较。因为对于数据库高可靠有更完善的解决方案,但是对技术能力和硬件设备要求都是比较高的。此处通过简单的部署、配置;较少的服务器(一主一从两台)即可完成基本的数据库高可靠。网络上也有很多主从流方案的介绍,可圈可点,本文旨在更直白的阐述原理及部署过程,适当加入自己的理解,希望能对各位有所启发。...

2021-09-05 08:02:43 440

原创 keepalived实现高可用-永远干不死的服务

对于运维同学来说,高可用始终是个绕不过的话题。什么是高可用?通常是指一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。也就是所谓的只要干不死就往死里干。我们要做的就是在我们休息的时候,服务还一如既往地干着交代的事情,并且不给她偷懒的间隙。如何实现高可用的效果?这里仅提供一种思路,一种方法,不是绝对,也不是唯一。keepalived了解一下。Keepalived主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚

2021-09-02 22:58:55 104

原创 数据库实战演练-postgresql权限控制

先来上图首先我们要准确而透彻地了解postgresql的对象层级,如果没法做到那么准确,我来教你啊:【重点】postgresql对象层级:数据库(database)->模式(schema)->表(table)再参照上图可以总结出结论:1、数据库(database)权限包括connect、create、temporary,其中Connect很好理解,就是连接数据库的权限,默认创建用户即具有该权限;Create其实是创建下一个层级对象的权限,在这里就是创建模式的权限。2、模式(sch

2021-08-31 21:55:05 1684

原创 django集成grafana展示面板

相信很多运维小伙伴们在devops的春风吹拂之下,都逐渐走上了纯运维半开发的道路。那么问题来了,在这股浪潮下如何坚守本心,如何守住作为运维人员的底线,也就是运维开发和纯开发的分界点应该在哪。兹以为无外乎运维开发应该时刻以为运维工作服务为首要目标。因此基于这个理念,如何运用开发能力促进运维工作,接下来展示一个活生生的例子,利用django来完善运维监控体系。首先附上效果图:就代码来说,比较简单,使用iframe标签即可,srcz属性为grafana展示板地址<div class="panel p

2021-08-29 22:10:26 1558 2

原创 grafana实现kafka监控可视化

先附上部分百度神搜结果:展示topic列表./kafka-topics.sh --list --zookeeper 172.18.153.12:2188查看消费情况:./kafka-consumer-groups.sh --describe --bootstrap-server 127.0.0.1:9092 --group groupname对于新手来说,无疑是成吨的学习成本带来的压力,而且每次排查问题都要输入这么一大串指令,脑子有点不太够的样子。此时本次重点华丽丽地登场了。接下来详细分析

2021-08-27 21:37:34 6366 34

原创 Django实现excel导入导出

想必大家都困扰于大批量配置的繁琐和沉重的工作量,这个时候采用文件导入导出的方式能较大程度缓解配置带给系统使用人员的精神压力。基于这个目的,本文将详细介绍基于Django如何实现excel文件的导入导出。工欲善其事,必先利其器。首先需要安装依赖的模块包如下:XlsxWriterxlrdopenpyxlpytz上述功能包下载地址:https://pypi.org/接下来重头戏,首先定义好表模型。models.pyclass Host_List(models.Model): id =

2021-08-25 23:06:30 4788

原创 Django字典-入门实操

官方说明字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 。定义字典有两种方式,可以定义字典的同时定义键值对,也可以定义空字典后再增加键值对>>> dict={'name':'tom','age':18,'sex':'male'}>>> print(dict){'name': 'tom', 'age': 18, 'sex': 'male

2021-08-23 20:53:16 880

原创 Django元组-入门实操

官方说明Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号‘()’,列表使用方括号’[]’。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。定义元组可以定义空元组或者包含一个元素的元组>>>tup1=(1,2,3,'home','page')>>>tup2=()>>>tup3=(1,)访问元组通过下标索引访问元组>>> tup1=(1,2,3,'home','page')&

2021-08-21 23:10:07 431

原创 Django列表-入门实操

奉上官方说法1、序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。(OS:可以根据索引对元素进行定位相关操作)2、Python有6个序列的内置类型,但最常见的是列表和元组(OS:后续也只会重点介绍这两个)。3、序列都可以进行的操作包括索引,切片,加,乘,检查成员(OS:除了这几个外,还会介绍其他操作)。4、Python已经内置确定序列的长度以及确定最大和最小的元素的方法(举个栗子,想知道序列中的最大最小值,直接引用已

2021-08-19 21:08:46 801

原创 django实现登录

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。百度的结果千篇一律,真正可行性解决方案万里挑一,接下来就介绍下django实现百分百可复制的登录功能。效果展示为支持验证码功能,因此需要安装一些rpm包及python功能包,具体如下:centos安装组件包1、安装jpegsrc.v9d.tar.gz,解压后执行如下指令:./configure --enable-sharedmake && make installpython功能包安装1、安装django-ranged-.

2021-08-17 21:08:53 1587

原创 解锁Django复杂查询

就目前了解到的,Django的ORM操作还是比较适用于单表查询,多表关联查询更多是要依赖于外键,否则势必增加查询复杂度。接下来就为各位奉上进阶版查询三件套:extra,aggregate,annotate。所有案例均是以postgresql对象作为参照。案例模型:class Student(models.Model): id = models.AutoField student_name = models.CharField(max_length=100,unique=True)

2021-08-15 22:14:05 353

原创 Django实现分页

话不多说,先上效果图:热乎乎的代码紧随其后,思路可能比较割裂,有更优雅的写法,小伙伴们多多建言哈。后端python:from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage, InvalidPage #引入分页模块def datalists(request):#定义返回前端的结果模块 request.encoding='utf-8' data_list=Data_List.objects.al

2021-08-13 22:17:54 460

原创 pod结构说明-运行容器的容器

pod基础概念pod相当于一个运行容器的环境,有独立的ip地址,也有自己的hostname,利用namespace进行资源隔离。pod内部封装的是容器,可以封装一个或者多个相关的容器。pod网络pod有自己独立的ip地址。pod内部容器之间访问采用localhost访问。pod如何对外提供访问pod是虚拟的资源对象(进程),没有对应实体版本(物理机,物理网卡)与之对应,无法对外提供服务访问。pod如果想要对外提供服务,必须绑定物理机端口(在物理机上开启端口,让这个端口和pod端口进行

2021-08-11 20:47:23 738

原创 有状态服务vs无状态服务-k8s部署对象

切入正题之前,先引入一个小知识点控制pod集群副本的数量,永远与预期设定的数量保持一致,什么是副本控制器。对于副本控制器的基本理解就是:控制pod集群副本的数量,永远与预期设定的数量保持一致截止到当前版本,k8s副本控制器有两种类型:replicationcontrollerreplicaset区别在于:1、标签选择器功能不一样:replicaset: 可以使用标签选择器进行复合选择*单选*复合选择replicationcontroller: 仅支持单选*单选建议: 新版k8s

2021-08-09 22:30:59 968

原创 k8s-架构原理

k8s是google公司使用go语言开发,借鉴borg系统开发出来的。k8s架构介绍k8s集群服务器主要分为两类角色,分别为master和node。master节点包含如下组件:api server: k8s网关,所有指令请求都必须经过apiserver。scheduler: 调度器 根据调度算法,将请求资源调度到某一个node节点。controller: 控制器,维护k8s资源对象。etcd: 分布式存储组件,用于存储资源对象。node节点包含如下组件:docker: 运行容器的基础环境

2021-08-05 21:18:23 240

原创 k8s&云-初体验

k8s企业应用场景1、构建自动化运维平台中小型企业,使用k8s构建自动化运维平台,去运维人员降本增效。大型互联网公司更要使用。2、充分利用服务器资源3、使服务无缝迁移为什么使用k8s&k8s解决了什么问题不得不说到关于服务部署模式变迁史:物理机部署虚拟化(虚拟机)方式部署,本身虚拟机即占用庞大资源容器化方式进行部署由上服务部署模式变化带来的问题:如何对服务进行横向扩展容器宕机如何恢复重新发布新的版本如何更新,更新后,不影响业务如何监控容器如何调度创建容器数

2021-08-05 20:56:42 889

原创 Django框架结构剖析-扒开神秘的外衣

众所周知:Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。奉上Django结构案例project_name/|-- app #Django Admin管理模块| |-- migrations| | |--__init__.py| |-- __init__.py| |-- admin.py| |-- apps.py

2021-08-04 20:09:29 628

原创 prometheus问题赏析-填坑的心路历程

话不多说,问题奉上。一、关于默认时区为世界时prometheus强制使用UTC世界统一时间,比实际北京时间早8个小时,可以在grafana修改时间为浏览器当前时间。二、关于prometheus服务如何实现配置热加载生产环境在用prometheus修改配置后如何在不影响正常使用的前提下更新配置,需要启动带如下参数:–web.enable-lifecycle --web.enable-admin-api热加载语法:curl -X POST http://ip:9090/-/reload三、gr

2021-08-01 14:57:57 1257

原创 Django自研告警平台-让告警排好队

Django简介Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。Django环境安装操作系统要求Centos7.5以上1、安装python3和pip3版本信息:Python-3.8.0a1和pip-20.0.22、安装Django版本信息:Django-3.0.3(注:离线环境可能需要sqlparse 0.3.0、pytz

2021-07-29 21:34:31 593

原创 ansibe&awx问题赏析-填上你的坑

ansibe&awx问题赏析-填上你的坑一、关于awx项目迁移主要包含两个部分,包括pg库数据(主要是awx构建的对象)及projects脚本,操作步骤如下:1、停止源/目标服务器awx相关服务;2、参照配置文件install/inventory中参数路径,拷贝文件并压缩project_data_dir=/var/lib/awx/projectspostgres_data_dir="~/.awx/pgdocker"3、拷贝文件到目标服务器对应目录;4、启动目标服务器aw

2021-07-25 21:48:23 705 1

原创 awx上新须知

awx上新须知:1、文件上传:部署脚本:192.168.1.57:/var/lib/awx/projects/部署包和sql:192.168.1.57:/var/lib/awx/projects/package/对应项目文件夹配置文件带变量:192.168.1.57:/var/lib/awx/projects/对应项目文件夹/templates2、awx流程创建:1、登陆192.168.1.572、配置清单脚本2、同步清单脚本内容到清单3、创建项目:4、创建模板:5、创建工作流模

2021-01-20 14:49:08 841

原创 awx入门操作说明

什么是awxAWX是一个开源的web应用,并为ansible的任务引擎提供用户接口和REST API。它是 ansible Tower的开源版本。ansible AWX允许我们使用web接口去管理Ansible的playbooks、inventoris和调度任务awx功能模块本文仅介绍常用模块。仪表板(Dashboard):awx资源管理可视化界面,包括资源统计信息(如hosts,inventories,projects等),过往全部作业执行情况,近期使用模板,近期作业执行情况。项目(Proje

2020-09-04 11:08:24 10591

原创 Jenkins+maven+gitlab部署方案整理

一、 文档及软件下载地址1、 Jenkins下载地址:https://pkg.jenkins.io/redhat-stable/2、 jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html二、 环境要求三、软件安装jdk安装1、 解压安装包到:/usr/local/2、 配置环境变量:vim /etc/profile添加如下内容:JAVA_HOME根据实际目录

2020-06-17 15:38:54 129

jdk.tar.gz

使用ansible自动化部署jdk 1.8.0_191,该资源包包含ansible脚本及jdk部署安装包,脚本内容涵盖旧版jdk卸载及目标版本jdk部署安装

2020-06-15

deploy.zip

prometheus+alertmanager监控平台部署文件,包含prometheus、alertmanager、node-exporter、process-exporter、blackbox-exporter等

2020-06-09

空空如也

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

TA关注的人

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