-
本文对Python以及相关环境搭建汇总安装系列python3.6和pip3:Windows10下安装与升级与踩坑之路 python3.6和pip3:Mac下安装与升级与踩坑之路python3.6和pip3:Centos下安装与升级与踩坑之路python3.6和pip3:Ubuntu下安装升级与踩坑之路踩坑系列pip3:no acceptable C compiler found in $PATHp
-
最近在测试一个项目,里面涉及到一个测试case:在linux服务器上,当网络带宽较差时,观察服务的消息处理能力和表现。限制网卡带宽有许多方法,比如Wondershaper或者ethtool。那验证限速效果呢?最简单的方式是利用wget一个外网上的包,比如各种软件的下载包,在下载过程中,wget会显示带宽的下载速率,然后通过下载速率x2来估算整个带宽。但这种方式需要人工观察整个过程,只有下载速率,也
-
引言本文介绍如何在无法访问国外网络的情况下,在Ubuntu上安装kubectl。安装步骤1. 更新源sudo apt update2. 添加apt密匙apt-key add apt-key.gpg3.添加k8s国内的源cat <<EOF >/etc/apt/sources.list.d/kubernetes.listdeb http://mirrors.ustc.edu.cn/k
-
什么是minikube?minikube是单机版的kubernetes,主要用于方便个人学习和研究K8s。你仅需要一些一些容器环境(例如docker)或者虚拟机环境,然后在此之上使用minikube start就可以启动K8s。环境依赖:2核以上CPU2GB以上内存20GB可用的存储空间外部容器或者虚拟机环境:Docker, Hyperkit, Hyper-V, KVM, Parallels, P
-
前言Telegraf 是一个用 Go 编写的用于收集机器数据的代理程序。它可部署到机器上收集系统和服务的统计数据,并通过配置写入到 InfluxDB 数据库,然后在通过Grafana或者Chrongraf用于数据展示。核心功能完全由GO编写,编译产物仅为一个二进制程序,安装运行无需外部依赖运行时内存占用很小对于当前大部分流行的服务来说,telegraf已经有现成的插件支持插件系统可以支持对其他服务
-
背景最近公司的网络不稳定,本地电脑访问公司内网的环境老是超时,请教了下组内的老前辈,得知可以通过使用ssh的socket5代理,通过隧道的方式走通。如图,我本机机器到ServerA的延时较低,但是直接访问ServerB延时较高(A和B之间网络结构关系不明),这样可以在A与B通过ssh实现socket5代理,实现隧道转发功能。我只要在浏览器配上A提供的Socket5代理,即可以轻松访问B。操作过程帮
-
背景公司的机器上安装了某些node包有冲突,这时候我想去清理一下现有的node包缓存,重新去安装一下node包,但是node_module的目录在哪个路径呢?解决方法1. 查看node_modules的目录,执行:npm root -g2. 查看npm的可执行文件所在目录:npm bin -g 3. 我们还可以修改npm的工作目录。 npm config set prefix /usr/local
-
前言Elasticsearch Curator是一款ES索引(或快照)的清理神器,可以帮你轻松管理ES中的索引和快照,整体实现过程如下:从ES集群中获取索引或者快照,作为待执行列表通过用户定义的filters(过滤器)从待执行列表中删除索引或者快照通过待执行列表,可以为其定义各种各样的处理动作项目官网:https://www.elastic.co/guide/en/elasticsearch/cl
-
背景最近我所在项目的进程管理工具从supervisor切换到pm2了,原因之一是因为长期二者兼容导致维护成本过大。后来经过和研发同学沟通,最终选择统一成pm2,因为pm2在windows下也可以对进程进行管理,方便他们在windows本地开发环境起服务调试。supervisor的进程配置文件中自带了日志切分策略;而pm2本身是没有日志管理功能的。如果某服务的运行时间过长,日志会不断堆积,最终会造成
-
背景最近在项目中需要编译arm架构的某驱动docker镜像,但是手头上没有现成的arm架构的机器环境,于是在网上搜索了下如何在x86机器模拟arm环境来进行编译。我找到了一款神器:multiarch/qemu-user-static简介项目地址:https://github.com/multiarch/qemu-user-staticqemu-user-static是一个用于利用当前操作系统来运行
-
简介上文介绍了ansible的shell模块,今天要为大家分享的是command模块和raw模块的使用。command和raw模块和shell一样,都是用于执行shell命令,三者都不具备幂等性,如果有能替代的ansible模块,尽量不要说使用该模块。对比模块用途特点shell均用于执行shell模块可以使用环境变量,也可以使用变量和操作符(例如 '|', '<', '>', '&am
-
简介shell模块是ansible里面比较常用的模块。顾名思义,shell模块用于执行shell命令。我们利用ansible批量在多台机器上执行shell命令,该模块非常的简单粗暴。对于ansible很多模块,都可以用shell替代达到相对应的效果。虽然shell模块看起来非常万能,但存在着许多风险。例如:shell注入风险,非幂等性(即统一命令多次执行的结果可能是不一样的)如何使用帮助ansib
-
背景项目中搭建了一套集群环境,整个集群机器的网络可用性通过一个shell脚本来进行监控。该脚本在检测网络连通性失败的情况下会打印错误日志并发送邮件通知给相关人员。那如何使用linux命令来发送邮件呢?这里找到了一个好工具:mailx。简介Mailx is an intelligent mail processing system, which has a command syntax remini
-
背景接前文,Promethues已经配置完毕,下面通过导入的Grafana的面板来配置RocketMQ监控页面Dashboard这里我们直接使用Grafana现成的面板配置node_exporter:https://grafana.com/grafana/dashboards/1860rocketmq_exporter的dashboard地址:https://grafana.com/grafana
-
背景我搭建了一套rocketmq的集群,现在要对下表所示的rocketmq集群进行监控,这里前面已经介绍到了node_exporter和rocketmq_exporter,那么今天就在Promethues上配置对应的exporter。机器节点ip备注promethues192.168.0.5promethues服务节点(rocketmq_exporter)nameserver1192.168.0.
-
1.背景接前文,之前分享了node_exporter的安装,对于rocketmq而言,不仅要监控最基本的机器信息,同时也要监控rocketmq的服务可用性。常见的一些服务指标包括:producer的消息生产tps,consumer的消费tps,整个集群的broker的tps等。这里我们使用rocketmq-exporter来采集相关的信息。2.项目地址:https://github.com/apa
-
简介在运维监控系统中,一般都有一个叫做agent的程序。它运行在被采集机器上,用于采集机器或者其上运行服务的相关信息。常见的采集数据包括机器的cpu,内存,disk等,或者是上面跑的一些常见开源软件的信息(比如rocketmq的运行信息),这里介绍一个用于采集机器信息的小程序:node_exporter,是和promethues搭配使用的一个agent。背景公司项目中使用了rocketmq作为中间
-
前言本文介绍一个硬盘分区的工具:parted,可以用于大于2T的硬盘分区(小于2T也可以的,主要是和fdisk工具对比)环境查看当前系统的硬盘执行:lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
└─sda1 8:1 0 100G 0 part /
sdb 8:1
-
1.前言本文演示如何在linux下(Centos7和Ubuntu16)安装maven环境2.安装maven可以选择maven安装包或者通过yum/apt安装maven最新版2.1 通过maven安装包安装下载地址:http://mirror.bit.edu.cn/apache/maven/maven-3/1)在linux机器上下载maven安装包wget http://mirror.bit.edu
-
前言在使用pip安装安装locust的过程中,会遇到各种各样的问题,例如:执行:pip3 install locust报如下错误:no acceptable C compiler found in $PATH 这个错误指的是环境里未安装gcc编译器,安装一个就可以了解决方法Centos:sudo yum install -y gccUbuntu:sudo apt install -y gcc后话由
-
在MAC下安装了iotop,在启动的时候报了一个错:system integrity protection is on, some features will not be available网上查了下,是因为Mac启用了SIP策略,那该如何关掉SIP呢? 1.首先查看sip状态sudo csrutil status输出如下:System Integrity Protection status:
-
1.前言本文主要介绍GO环境的搭建,包含在Linux,Mac和Windows上的搭建,部分内容参考了GO的官方文档。2.简述Go 语言支持以下系统:LinuxMac OS XWindowsFreBSBGo的下载地址:https://golang.google.cn/dl/ 3.GO版本软件的发行版本一般分为稳定版和历史版本。稳定版经过了经过长久测试且其涵盖了较新功能,适合刚入手者选用;历史版本的可
-
前言最近项目用到了RocketMq,需要在Cento7系统上搭建一套集群环境用于测试。整个的环境搭建过程中,我遇到了一个比较初级的问题:启动RocketMq的broker失败。 问题经过首先我看了下broker启动时候打印的信息,里面的IP引起了我的注意,我感觉这个IP的网段比较陌生,如图:执行:ip a,查询机器的所有网卡信息。 原来这个ip是docker0的ip,也就是说在启动broker的时
-
本文以Win10位系统为例,演示如何安装python3.6和相应环境。安装Python3的机器必须要能访问外网才能进行如下操作! 1. 安装方式使用windows installer包进行安装,全程基本都是界面操作。2. 确认本地Python3版本本地Python3安装一般存在三种情况:系统内置python3.6版本系统未安装任何python3版本系统安装了python3版本,但是非3.6注意:
-
本文以Mac OS的64位系统为例,演示如何安装python3.6和相应环境。安装Python3的机器必须要能访问外网才能进行如下操作!说明:macOS版本信息 1. 安装方式在MAC下安装python有两种方式:通过brew命令安装 (不推荐)源码安装 (推荐)用brew安装的话,一般只能安装内置的python3.7和python3.8版本,如果是安装python3.6比较麻烦,而且安装完之后
-
本文以Centos7系统为例,演示如何安装python3.6和相应环境。安装Python3的机器必须要能访问外网才能进行如下操作! 1. 安装方式在Centos下安装python有两种方式:通过yum安装 (推荐)源码安装这里推荐第一种方式安装,因为yum安装会帮你做很多善后工作,而源码安装可能需要配置和系统修改的地方比较多。无论是第一点还是第二点,首先要确认当前系统中Python3是否已安装。
-
本文以Ubuntu16.x系统为例,演示如何安装python3.6和相应环境。安装Python3的机器必须要能访问外网才能进行如下操作! 1. 安装方式在Ubuntu下安装python有两种方式:通过apt安装 (推荐)源码安装这里推荐第一种方式安装,因为apt安装会帮你做很多善后工作,而源码安装可能需要配置和系统修改的地方比较多。无论是第一点还是第二点,首先要确认当前系统中Python3是否已安
-
1. 环境安装主机名称IPzookeeper1192.168.21.66zookeeper2192.168.21.57zookeeper3192.168.21.17 2.准备zookeeper2.1 安装jdk8(必须)1)Centos(普通用户请在命令前加sudo)yum install java-1.8.0-openjdk* -y2)Ubuntu(普通用户请在命令前加sudo)add-apt-
-
最近为公司客户搭建一套ToB的平台,该平台的部署机器在客户那边(无法直接登录,需要通过***访问)。为了方便从外部直接访问平台的web页面,我通过frps工具反向代理到我一台公有云机器,这样就可以直接通过该机器的公网IP访问私有环境的web页面。但直接使用公网IP访问可能会涉及到web安全问题,比如公网ip扫描。为了规避这个问题,我将nginx的代理配置为域名访问,隐匿了IP直接访问。如下是使用效
-
1. 拉取镜像#elasticsearch 6.x和7.x版本有很多不一样需要确认docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.22. 启动容器docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.
测试生财
分享到朋友圈
- 关注技术:python 自动化运维 性能测试
- 入住博客:2020-08-09 159天