使用elasticsearch-dump迁移elasticsearch集群数据

缘起

最近某个5节点es集群发现其中1个主节点(被选中master)cpu负载很高,其中3节点master角色,所有节点默认data角色,初步操作重启这个主节点,使其角色变更减少压力,发现不起作用。
后来使用Cerebro分析发现其中有个geo_infomation信息索引只有一个分片,且大小超过20G,默认单分片在SSD盘中大小最好不超过20G,HDD盘中大小最好不超过10G时性能最佳,这里分片不均衡导致集群压力分配不均。
所以现在需要改变geo_information的索引分片信息,由于不可变更已经生成索引的分片信息,所以只能新建一个索引(默认5分片),然后迁移索引mapping和dat[……]

继续阅读

emoji表情包导致wiki无法保存

故障现象

接到使用者反馈编辑后保存不了

对应的url为 http://wiki.minminmsn.com/pages/viewpage.action?pageId=42319234

处理过程

查看前端日志

[root@wiki confluence]# grep "viewpage.action?pageId=42319234" access.log |grep -Ev "200 "|grep POST
172.30.30.12 - - [18/Sep/2020:11:37:43 +0800] "POST /rest/tinymce/1/drafts HTTP/1.1" 500 4[......]

继续阅读

使用goaccess分析nginx日志

GoAccess简介

GoAccess 是一款开源(MIT许可证)的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序即可访问。

能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化服务器的方式呈现。 GoAccess 解析指定的 Web 日志文件并将统计结果输出到 X 终端。功能如下:

  • 通用统计: 此面板展示了几个主要指标,比如:有效和无效请求的数量,分析这些数据所花费的时间,独立访客的情况,请求的文件,静态文件(CSS, ICO, JPG 等)的完整URL,404错误,被解析的日志文件的大小以及消耗的带宽。
  • 独立访客[……]

    继续阅读

软件交付的原则

摘自Jez Humble David Farley《持续交付:发布可靠软件的系统方法》

为软件的发布创建一个可重复且可靠的过程

这个原则是我们写这本书的一个目标:让软件发布成为一件非常容易的事情。事实上,它的确应该是件很容易的事,因为在发布之前,对发布流程中的每一个环节,你都已经测试过数百次了。它就应该像单击一个按钮那么容易。这种可重复性和可靠性来自于以下两个原则:

  1. 几乎将所有事情自动化;
  2. 将构建、部署、测试和发布软件所需的东西全部纳入到版本控制管理之中。

归根结底,软件部署包括三件事:

  • 提供并管理你的软件所需要的运行环境,这包括硬件配置、所依赖的软件、基础设施以及所需的外部服[……]

    继续阅读

Rancher集群部署后需要做的几件事

架构图

总体流程

  • 开发代码提交到Gitlab
  • Rahcher设置代码库为Gitlab
  • Rahcher流水线配置编译源码
  • Rahcher流水线Build Docker镜像
  • Rancher流水线Push Docker镜像到私有镜像库Harbor
  • Rancher流水线根据k8s yaml部署文件部署容器

重要步骤

1.添加LDAP认证
全局–安全–认证–编辑–启用OpenLDAP认证
设置仅允许授权的用户和组织,方便账号管理及安全使用

2.添加通知
Local–工具–通知
默认支持Slack、Mail、PagerDuty、Webhook、企业微信、钉[……]

继续阅读