自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

B.I.T

Better In Time

  • 博客(115)
  • 收藏
  • 关注

原创 使用ansible添加zabbix的主机监控

在zabbix页面上配置主机监控项还是比较容易的,但是当要添加的主机数量很多时,手动一个个区添加还是很累的。除了手动外,可以写python脚本等去添加,好在ansible的zabbix_host模块已经帮我们实现这个功能,通过ansible playbook我们就能快速完成zabbix主机监控的添加。环境说明 环境 版本 CentOS 7 Ansible 2.3.2 Zab

2017-10-06 17:56:20 3724

原创 通过ansible批量设置随机密码

要求: 批量修改服务器的某账号(假设root账号)密码,用随机生成的字符串做密码环境: 假设/etc/ansible/hosts文件中服务器的目标组如下[target-servers]192.168.0.[1:100]执行操作1 通过openssl rand命令,在每台远程服务器上生成随机字符串用做候选口令字符ansible target-servers -m shell -a "openss

2017-09-26 20:44:36 4206

原创 关于ansible的优化

1 开启SSH长连接ansible是通过使用ssh和远程主机进行通信,所以对ssh有这很强的依赖。在OpenSSH 5.6以后支持Multiplexing这个特性,可以通过在ansible配置中设置以支持该特性。如下是配置参数,设置长连接保持时间为5天;control_path指定socket文件所保存的位置。ssh_args = -o ControlMaster=auto -o ControlPe

2017-08-07 00:22:14 4828

原创 ansible playbook中的变量定义与引用

Ansible playbook中变量的定义与引用有很多种方法,这里在本地环境测试验证,并整理如下。测试环境:使用自己的Mac笔记本上安装ansible作为控制服务器,VMware Fusion虚拟机上运行了一个Centos7的虚拟机(192.168.243.146)作为远程被控主机测试用playbook如下:cat test.yml---- hosts: test remote_user:

2017-08-06 20:33:17 10538

原创 pmm-server服务部署解读

pmm-server官方提供了容器的部署方式,通过一个docker镜像就可以运行了,然而这个容器里面包含了很多个服务:prometheus,grafana,consul,nginx等。如果不搞清里面到底有哪些东西,后期的使用和维护总感觉没有底。所以,根据pmm-server在github上的Dockerfile及脚本来解读一下它里面都包含了什么。所在github地址: https://github

2017-07-20 20:12:24 4309

原创 Prometheus监控工具初使用

之前听别人说使用Prometheus做监控,最近自己也在测试环境试用了一下。目前总的体会是安装简单方便,不需要额外的数据库服务;yaml格式的配置文件,简单易读;提供的采集用的exporter是二进制文件,运行即可;配合Grafana展示,有Prometheus专用dashboards可用,一目了然。相关环境 工具 版本 操作系统 centos7 Prometheus prom

2017-07-20 18:58:30 11581 2

原创 Prometheus采集用的exporter

在prometheus的官网上https://prometheus.io/download/ 可以下载到很多服务的exporter采集器: blackbox_exporter consul_exporter graphite_exporter haproxy_exporter memcached_exporter mysqld_exporter node_exporter push

2017-07-20 18:28:44 13831

原创 pycharm工程启动卡住没反应

今天早上用pycharm启动django工程的时候,一直卡在如下提示:Performing system checks...System check identified no issues (0 silenced).python编译器方面并没有发现什么问题,代码也没有修改,感觉很疑惑,不知道什么原因。后来发现,工程连接的数据库服务器磁盘空间满了,清理磁盘之后,工程就成功运行起来了。看来原因是工程

2017-06-06 21:03:31 15360 2

原创 [企业公众号]升级到[企业微信]之后发送消息失败

最近,看到消息,说是微信把企业公众号升级到企业微信。当时并没有在意,但是后来发现之前用企业公众号的接口来发通知消息的程序发不出去消息了。于是,我又打开升级消息,仔细的读了一下:企业号将迁移至企业微信管理后台(work.weixin.qq.com/login)进行统一管理。之前企业公众号的管理后台地址是qy.weixin.qq.com,发不了消息难道是接口地址也变了吗。登到新后台看了下,发现应用的Se

2017-06-06 19:56:04 6849 2

原创 使用firewall-cmd命令配置防火墙

例1:对外暴露1234端口firewall-cmd --permanent --add-port=1234/tcp例2:使mysql服务的3306端口只允许192.168.1.0/24网段的服务器能访问#添加富规则firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24"

2017-06-01 21:08:37 18031 1

原创 centos7上通过firewalld配置网关服务器

使用场景:有多台内网服务器,其中只有一台能够访问外网,但其他内网服务器也希望访问外网假设内网网段为:192.168.1.0/24 可访问外网的内网服务器的内网IP为:192.168.1.1 可访问外网的内网服务器的内网网络接口为:enoXXXXXXX在可以访问外网的服务器上做如下配置: 1) 开启ip_forward转发# 在/etc/sysctl.conf中添加net.ipv4.ip_fo

2017-06-01 20:27:34 6669

原创 关于grafana的安装和反向代理配置

centos7上安装wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.1-1.x86_64.rpmyum localinstall grafana-4.3.1-1.x86_64.rpmyum install initscripts freetype* urw-fontssystemctl e

2017-05-28 17:32:23 9109 6

原创 使用cAdvisor监控容器

有一篇关于docker容器监控工具的比较:http://dockone.io/article/397 里面一共介绍了5种工具,但是除了收费的几款,cadvisor是带监控界面的、最易入门的docker容器监控工具了。cadvisor在github上的地址为:https://github.com/google/cadvisor运行方法 使用docker容器运行cadvisor的方法如下:docke

2017-05-11 19:29:26 6824

原创 关于zkpython的安装方法

最近开发的一个项目需要用python操作zookeeper,用到了zkpython,这里备录一下安装方法。主要是linux和Mac OS系统上的安装。windows上的安装方法我没有找到,可能是不支持(有知道的朋友可以分享一下)。1 Linux上的安装 首先,安装要依赖的zookeeper的c的客户端。这里使用的是3.4.6稳定版,参照如下命令执行即可:cd zookeeper-3.4.6/src

2017-05-06 15:06:34 2425

翻译 关于RHEL7中的firewalld

netfilter的概念linux内核中包含一个强大的网络过滤子系统netfilter。netfilter子系统允许内核模块对遍历系统的每个数据包进行检查。这表示在任何传入、传出或转发的网络数据包到达用户空间中的组件之前,都可以通过编程方式检查、修改、丢弃或拒绝这些数据包。这是在RHEL7上构建防火墙的主要构建模块。与netfilter的交互尽管系统管理员理论上可以编写自己的内核模

2017-04-05 09:35:47 764

原创 关于docker容器的监控

1 docker inspect [容器ID | 镜像ID] 查看容器创建时间、容器的IP、映射的端口、挂载的目录等信息。 此命令同样也能用来查看镜像的详细信息。2 docker stats 容器ID 用来查看容器的资源使用情况,如:CPU、内存、网络、I/O另外,在docker的配置文件中添加如下的参数之后,可以采用curl来调用stats API接口DOCKER_OPTS="-H tcp:

2017-03-20 16:14:17 4252

原创 docker容器安装配置redis集群

最近想用docker容器制作一个redis集群的镜像,以免每次都要重新配置搭建。正好在github上发现一个已有的制作docker-redis-cluster的项目,感觉挺好用的,这里推荐给大家:https://github.com/eloycoto/docker-redis-cluster制作生成的docker-redis-cluster容器里面有8个redis实例,其中6个实例构成3主3从的re

2017-02-20 15:37:37 9431 5

原创 docker配置overlay存储模式

之前看到网上的一些资料,采用下面的方法配置使用overlay的存储模式:cat > /etc/systemd/system/docker.service.d/override.conf <<EOF[Service]...ExecStart=ExecStart=/usr/bin/docker daemon --storage-driver=overlayEOF但是,重启docker之后发现,

2017-02-19 14:53:21 7932

原创 关于raft共识算法

raft是一个确保分布式一致性的共识算法,使用这个算法的代表作有我们常用的etcd工具。发现一个介绍raft算法的动画,一般看算法会觉得很头疼,但是这个动画将raft算法介绍的简洁易懂: http://thesecretlivesofdata.com/raft/感兴趣的还可以查看raft的官网和论文。

2017-02-17 13:27:25 2739

原创 使用Calico配置Docker网络

试验环境 IP地址 服务器 10.200.0.101 node1 10.200.0.102 node2 10.200.0.103 etcd 软件名 版本 centos 7.2 calicoctl 1.0.2 docker 1.10.3 etcd 2.3配置与搭建1) 状态协同工具etcd搭建 calico需要是通过etcd来实现各

2017-02-16 16:46:03 13159 3

原创 Centos7上Docker仓库Harbor的搭建

之前一直使用开源的registry作为Docker的镜像仓库。Docker registry使用比较简单,但是没有用户管理机制、没有操作的记录功能、也没有展示界面等。对于企业级的Docker镜像仓库,网上都推荐VMware的开源项目Harbor。这两天在测试环境搭建了一下,发现配置安装非常的简单;Web界面也非常漂亮直观。下面简单记录下自己的搭建过程。0 环境准备 软件名 版本号 linu

2017-01-23 18:17:32 8114 2

原创 关于Mesos Agents出现Deactivated状态问题的排查

最近新初始化了几台mesos agent节点,将其接入之前的mesos master。mesos master的界面能看到agents已经连接上的信息,但是节点的连接状态分分钟就在变化: Registered时间始终是a minute age,生成的agent id也是不断的在变化。在Mesos界面的Agents状态栏里看到: Deactivated的表示是无效的,说明这4台agent是

2017-01-20 14:52:03 2395

原创 django集成xadmin的方法

xadmin是django的一个第三方的管理后台实现,它的功能比自带的admin功能更加强大。 xadmin项目在github上的地址为:https://github.com/sshwsfc/xadmin xadmin相关文档可以在这里查看:http://xadmin.readthedocs.io/en/docs-chinese/文档上有些地方写的还是比较简要,按照上面的步骤做,有时候报错了可能

2017-01-16 14:14:11 7685

原创 docker的devicemapper存储驱动

最近在官网上看了下devicemapper的说明文档,这里简要总结一下。1 诞生的背景期初docker是运行在Debian和Ubuntu系统上的,使用的是AUFS方式的存储。后来很多企业希望在Redhat系linux上运行docker,并决定基于现有的Device Mapper技术开发一个新的存储方案,这就是devicemapper。2 镜像的分层和共享Device Mapper技术不是按照文件级别

2017-01-11 16:04:01 6812

原创 Jenkins升级:1.x到2.x

Jenkins推出2.0的版本已经有一段时间了,相比1.x来讲,从界面到功能都有很大的改良,其中最吸引人的就是pipeline特性了。Jenkins的pipeline是基于Groovy DSL,可以通过简单脚本将原本独立运行于单个或多个节点的任务灵活的连接起来,实现复杂的发布流程,并且还能提供直观的展示界面。公司之前搭建的时候,使用的是Jenkins 1.625.3的版本,由于有很多任务在上面,不好

2017-01-08 21:17:53 5059

原创 marathon升级:1.1.1到1.3.6

思路:将三台marathon节点停掉其中的两台,这样剩下的一台marathon即为leader节点。将那两台进行升级之后运行起来,再将未升级的那台marathon服务停掉,升级后的其中一台节点会成为leader,再将剩余的那台marathon也进行升级即可。marathon升级操作比较简单,不用先卸载,使用官方的repo直接通过yum命令会自动升级:yum install marathon

2017-01-03 20:22:51 1210

原创 mesos升级:0.28.2到1.1.0

最近在测试环境将mesos做一下升级,从0.28.2升级到了1.1.0版本。升级过程比较平滑,这里简单的做一下说明。思路:三个mesos master节点,先停掉两台mesos-master服务,剩下的一台会自动成为leader节点。然后对停掉的两台进行版本升级,最后再停掉剩余的一台,新版本的两台中的一台会成为leader,这时再对剩余的一台老版本进行升级。具体步骤如下: 1) 停止老版本meso

2017-01-03 19:50:54 1561

原创 对于ssh连接太慢的简单解决方案

默认情况下,感觉ssh连接太慢的话,我们可以修改一下ssh的/etc/ssh/sshd_config配置文件,主要有两个参数项: - UseDNS - GSSAPIAuthentication 将他们都设为no即可,详细原理这里不做说明。下面是一个用来设置这两个参数项的ansible playbook的yml脚本,仅供参考:- hosts: '{{hosts}}' remote_user:

2016-12-27 20:04:20 1685

原创 vmware player 配置NAT模式下虚拟机的端口映射

在windows7系统中,我有时候会使用vmware player来跑linux虚拟机。当要想实现端口转发功能的话,就需要做些手动配置。vmware nat的配置文件在 C:\ProgramData\VMware\vmnetnat.conf。 这个文件里面有一些注释,可以参考来配置自己想要的端口映射。如:...[incomingtcp]# Use these with care - anyon

2016-12-09 19:33:03 7867 1

原创 nginx安装nginx_concat_module模块报400错误的问题

在向nginx添加该模块之前,修改nginx_concat_module的源代码文件ngx_http_concat_module.c,将application/x-javascript更改为application/javascript,然后再编译安装

2016-12-08 21:44:16 731

原创 centos上自制repo源来安装指定版本的rpm包

为了统一规划和管理,一般都期望在各服务器上使用相同的软件版本来部署服务。直接使用通用的镜像源(如阿里、163的),安装的都是当前最新版的软件包,这样就会因为软件包的升级而导致安装的版本不一样。例如docker的安装,由于docker社区非常活跃,版本更新非常的快,导致测试环境中docker的安装版本从1.6到1.10各版本都有。为了避免上述问题,下面以在centos7上安装docker为例,来自制一

2016-12-08 21:33:50 5617

原创 误提交到no branch之后再merge

最近使用git的时候,不注意看所在分支状态,一不小心就把代码误提交到* (no branch)上了。 这个时候,再切换到master等其他分支的时候,刚才的提交是没有的,但是还有挽救的办法。如下图,在checkout到master分支的时候,第一行的提示信息里面会显示出之前在(no branch)上提交的id号: 这个时候,使用git merge命令来指定提交id号之后,就可以将误提交到(no

2016-12-05 10:30:21 501

转载 Mongodb的应用场景

今天看到别人分享的一篇博文,感觉很有参考价值,忍不住转载一下。 转发自:http://blog.csdn.net/xiaoxiong_web/article/details/53404428?ref=myread客户场景1、用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用MongoDB。2、在一些第三方信息的获取或者抓取,因为MongoDB的schem

2016-11-30 11:08:55 964

原创 WAF该如何实现?

对于现在的互联网,网络攻击每天都在发生,很多攻击是在七层,也就是OSI七层模型中的应用层。因此,Web应用防火墙(Web Application Firewall,简称WAF)愈发显得重要。我现在所在的公司,也一直存在被攻击的现象,时常会出现服务接口被刷从而影响到业务的正常访问。由于自己并不是专门的安全从业人员,当问题出现的时候,只能采用有限的方法来临时解决问题:在nginx服务器上运行了一个脚本,

2016-10-30 20:23:20 3522

原创 关于gitlab备份

在之前的文章里讲到了如何使用docker运行gitlab服务,这里来说一下关于gitlab的备份。方法一因为是使用的docker容器运行的gitlab,考虑备份的时候,第一反应可能就是想直接拷贝容器的挂载目录。但是直接拷贝的目录,能不能直接在另外一台服务器上正常运行的起来呢? gitlab容器运行用的数据确实都在挂载目录里面,理论上来讲是可以直接拿来用的。但是,我尝试了一下,直接拷还是存在一些问题

2016-10-25 13:32:10 6693

原创 日常实用tips

日常工作中,总是在服务器上捣腾,这里简单整理一下比较常用的命令和小技巧。1 清除linux服务器上的cachesyncecho 3 > /proc/sys/vm/drop_caches2 tomcat设置编码方式为UTF-8 useBodyEncodingForURI=”true” URIEncoding=”UTF-8”3 随机生成密码的方法 openssl rand -base64 12

2016-10-18 23:59:37 529

原创 利用GitLab API来获取仓库中某个文件的内容

相比于SVN的集中化版本控制方式,Git属于分布式版本控制系统,更适合代码的分支化管理。但是在下载Git项目的时候,不能像SVN那样只拉取指定的目录或文件,而是要下载整个repo。个人觉得Git的这个特点,在有些时候还是不太方便的。最近在查看GitLab的Help文档的时候,发现GitLab提供了很多GitLab API,利用GitLab API是可以实现对仓库中某个文件内容的获取的。实现方法 通

2016-09-30 19:08:24 28593 3

原创 数人云开源的容器管理面板Crane的试用

相比Marathon、K8S等其他的容器编排工具,Swarm是Docker官方力推的产品,作为后起之秀,其功能特性已经不弱于Mesos/K8s。因为,Docker仍在快速的迭代,非官方的产品在新特性方面可能跟不上发展的速度,不少企业都开始关注和转向Swarm,使用Swarm比较有代表性的有DaoCloud和数人云等做容器云服务的企业。最近在github上发现了一个数人云开源的基于Swarm的容器管理

2016-09-27 22:54:49 3566

原创 Jenkins控制台输出乱码的问题

这两天在用Jenkins构建maven编译任务时,发现有编码的报错: unmappable character for encoding ANSI_X3.4-1968我使用的Jenkins On Mesos框架,Jenkins Master和Jenkins Slave都是用Docker运行的。当时第一反应就是设置Docker容器的系统环境变量LANG为UTF-8,但是并没有解决问题。后来查看J

2016-09-18 23:48:33 12030 2

原创 关于tomcat8启动报APR/native library which is not available的问题解决

在centos上使用tomcat8配置支持http2.0的时候,server.xml的配置文件里面有这么一段配置:<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtoc

2016-08-31 17:12:37 18661 2

空空如也

空空如也

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

TA关注的人

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