Jesse's home


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

Elasticsearch索引迁移

发表于 2020-09-30 | 分类于 elk |

Elasticsearch索引迁移

介绍

旧Elasticsearch版本:2.4.4

新Elasticsearch版本:2.4.4

近期dev环境服务器迁移到一台新的物理机,所以需要迁移部分Elasticsearch索引数据.

Elasticsearch索引迁移有许多方法.测试过elasticsearch-exporter.但是没有成功.报错如下:

1
2
3
4
5
6
7
8
[work@docker elasticsearch-exporter]$ node exporter.js -a 10.0.0.250 -b 10.0.0.101 -p 9200 -q 9200 -i mid_mg_gc_datasource_items -j mid_mg_gc_datasource_items
Elasticsearch Exporter - Version 1.4.0
Reading source statistics from ElasticSearch
The source driver has not reported any documents that can be exported. Not exporting.
Number of calls: 0
Fetched Entries: 0 documents
Processed Entries: 0 documents
Source DB Size: 0 documents
阅读全文 »

Openvpn客户端无法连接OpenSSL

发表于 2020-09-22 | 分类于 Linux-Service |

Openvpn客户端无法连接OpenSSL: error

背景

今天阿里云的Openvpn服务器部署了docker服务后,需要升级内存配置.服务器升级重启后,发现客户端无法连接Openvpn.


故障表现

在openvpn客户端日志中发现下面报错信息:

1
2020-09-22 16:00:49 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.

openvpn服务端日志报错信息:

1
2
3
4
5
6
7
8
9
ue Sep 22 15:47:49 2020 27.115.51.166:26184 TLS: Initial packet from [AF_INET]27.115.51.166:26184, sid=c0cb2b12 4b3187b2
Tue Sep 22 15:47:49 2020 27.115.51.166:26184 VERIFY ERROR: depth=0, error=CRL has expired: CN=xxxxxx
Tue Sep 22 15:47:49 2020 27.115.51.166:26184 OpenSSL: error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed
Tue Sep 22 15:47:49 2020 27.115.51.166:26184 TLS_ERROR: BIO read tls_read_plaintext error
Tue Sep 22 15:47:49 2020 27.115.51.166:26184 TLS Error: TLS object -> incoming plaintext read error
Tue Sep 22 15:47:49 2020 27.115.51.166:26184 TLS Error: TLS handshake failed
Tue Sep 22 15:47:49 2020 27.115.51.166:26184 SIGUSR1[soft,tls-error] received, client-instance restarting
Tue Sep 22 15:48:06 2020 27.115.51.166:33480 TLS: Initial packet from [AF_INET]27.115.51.166:33480, sid=11b9760e 97f6d068
Tue Sep 22 15:48:07 2020 27.115.51.166:33480 VERIFY ERROR: depth=0, error=CRL has expired: CN=xxxxxx

日志关键字

阅读全文 »

kong利用request-transformer插件重写URL

发表于 2020-09-10 | 分类于 Linux-Web , kong |

kong利用request-transformer插件重写URL

介绍

最近业务整合后有一个需求,将URL:www.abc.com/api/item/111 想重写成www.xyz.com/open/item/itemdetail?id=111,并且域名不变,不能发生302跳转.

使用Nginx的rewrite redirect指令可以实现URL重写需求,但是redirect会跳转到新域名,不符合需求.

刚好该业务的的前端是用Kong网关处理,所以研究kong的插件实现这个需求


request-transformer介绍

request-transformer是Kong官方的插件,允许修改重写用户的请求,还可以使用正则表达式匹配URL,并将匹配到的字符串保存在变量中,然后使用模板将变量转换成用户的请求

简而言之:就是重写用户的请求,包括URL,args,headers,methods等等

官方地址: reuqest-transformer官方地址

github项目地址: request-transformer github

阅读全文 »

zabbix监控vmware主机以及GuestOS

发表于 2020-08-26 | 分类于 监控 |

zabbix监控vmware主机以及GuestOS

介绍

ESXI主机无法安装zabbix agent,所以不能使用传统的agent客户端监控vmware主机,但是Zabbix有自导的vmware hypervisors监控模板.Zabbix 通过 vmware collector 进程来监控虚拟机,使用SOAP协议从vmware web服务器获取必要的监控信息.


准备工作

1.在zabbix服务器修改zabbix_server.conf配置文件

1
2
3
4
5
StartVMwareCollectors=6
VMwareCacheSize=50M
VMwareFrequency=10
VMwarePerfFrequency=60
VMwareTimeout=300
阅读全文 »

搭建Anaconda和jupyter notebook

发表于 2020-08-25 | 分类于 Linux-Service |

搭建Anaconda和jupyter notebook

一.什么是Anaconda

Anaconda可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

2. 特点

Anaconda具有如下特点:

  • 开源
  • 安装过程简单
  • 高性能使用Python和R语言
  • 免费的社区支持

其特点的实现主要基于Anaconda拥有的:

  • conda包
  • 环境管理器
  • 1,000+开源库
阅读全文 »

使用goreplay收集线上真实http流量

发表于 2020-08-25 | 分类于 elk |

使用goreplay收集线上真实http流量

背景介绍

在很多场景中,我们需要将线上服务器的真实Http请求复制转发到某台服务器中(或者测试环境中),并且前提是不影响线上生产业务进行.

例如:

  1. 通常可能会通过ab等压测工具来对单一http接口进行压测。但如果是需要http服务整体压测,使用ab来压测工作量大且不方便,通过线上流量复制引流,通过将真实请求流量放大N倍来进行压测,能对服务有一个较为全面的检验.
  2. 将线上流量引入到测试环境中,测试某个中间件或者数据库的压力
  3. 上线前在预发布环境,使用线上真实的请求,检查是否准备发布的版本,是否具备发布标准
  4. 用线上的流量转发到预发,检查相同流量下一些指标的反馈情况,检查核心数据是否有改善、优化.
阅读全文 »

ELK使用x-pack插件实现权限控制

发表于 2020-08-25 | 分类于 elk |

ELK使用x-pack插件实现权限控制

介绍

Elsticsearch集群搭建完成,使用Kibana可以直接访问WEB界面,或者使用curl命令行工具也可以直接访问ES的索引,并且可以直接对索引进行增删改查的操作.这在生产中可能就会有严重的安全隐患.

为了防止Kibana的重要管理功能配置,或者ES的重要索引数据被认为的误删,误配置.就有必要对ES和Kibana进行权限管控.

而Xpack插件就非常方便,完美的实现了这个功能


Xpack介绍

Xpack能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana提供全面保护.在Elastic Stack7.x中已经免费开放基础版本功能.但是更高版本的X-PACK仍然需要付费购买.

而且在7.x版本中Xpack默认就已经安装了,无需另行安装插件.

x-pack详细介绍请点击官方文档

x-pack免费版提供一下功能

  • TLS 功能。 可对通信进行加密;
  • 文件和原生 Realm。 可用于创建和管理用户;
  • 基于角色的访问控制。 可用于控制用户对集群 API 和索引的访问权限;
  • 通过针对 Kibana Spaces 的安全功能,还可允许在Kibana 中实现多租户
阅读全文 »

ELK收集mysql5.7慢日志

发表于 2020-08-25 | 分类于 elk |

ELK收集mysql5.7慢日志

介绍

公司ELK平台计划收集生产业务的所有mysql慢日志.由于所有环境中均使用mysql5.7版本,所以其他mysql版本的慢日志格式不在讨论范围之内.

慢日志的grok正则匹配我折腾了很久,网上的大多文档中给出的logstash的grok正则其实并不能正确的解析到mysql慢日志的字段.

这个博客的grok正则经过实践可行.而且filebeat,logstash的filter配置也是参考这个博客配置的:博客地址


MySQL慢日志

慢日志格式如下:

1
2
3
4
5
6
7
8
9
10
11
[work@msf-mysql-master log]$ sudo head slow_2019072103.log
/usr/local/mysql5.7/bin/mysqld, Version: 5.7.24-log (MySQL Community Server (GPL)). started with:
Tcp port: 3306 Unix socket: /mysql_log/msf/tmp/mysql.sock
Time Id Command Argument
# Time: 2019-07-21T08:54:04.145255+08:00
# User@Host: u_msf[u_msf] @ [10.111.10.40] Id: 131421254
# Query_time: 1.595300 Lock_time: 0.000031 Rows_sent: 20 Rows_examined: 809259
use msf_prod;
SET timestamp=1563670444;
SELECT `id`,`type`,`honey`,`remark`,`created_at` FROM `t_log_user_honey` WHERE `user_id` = '1000014423' ORDER BY `created_at` DESC LIMIT 20 OFFSET 0;
# Time: 2019-07-21T10:51:06.184010+08:00
阅读全文 »

Filebeat+logstash收集Nginx访问日志

发表于 2020-08-25 | 分类于 elk |

Filebeat+logstash收集Nginx访问日志

环境:

Filebeat: 7.0

Logstash:7.0

elasticsearch:7.0


介绍

logstash默认自带了apache标准日志格式的grok正则表达式:

1
2
COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{NOTSPACE:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)
COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}

对于 nginx 标准日志格式,可以发现只是最后多了一个 $http_x_forwarded_for 变量。所以 nginx 标准日志的 grok 正则定义是:

1
MAINNGINXLOG %{COMBINEDAPACHELOG} %{QS:x_forwarded_for}

如果Nginx日志格式不是标准的日志格式,则需要自行编写grok正则,匹配日志内容.

但是grok正则表达式不容易上手,非常难写.复杂不说,而且logstash使用正则表达式来处理日志格式,其性能也会受到很大的影响.

所以这里推荐另外一种收集方式.

本文档参考博客:https://www.popyone.com/post/13.html

本文档参考书籍:ELK权威指南中文版第二版

阅读全文 »

Filebeat+logstash收集Nginx错误日志

发表于 2020-08-25 | 分类于 elk |

Filebeat+logstash收集Nginx错误日志

介绍

在上一个笔记<Filebeat+logstash收集Nginx访问日志>中分享了如何收集logstash的访问日志,这篇笔记主要是记录如何收集nginx的错误日志

Nginx 错误日志是运维人员最常见但又极其容易忽略的日志类型之一。Nginx 错误日志即没有统一明确的分隔符,也没有特别方便的正则模式,但通过 logstash 不同插件的组合,还是可以轻松做到数据处理。


阅读全文 »
1234…21
Jesse

Jesse

求知若饥,虚心若愚.

209 日志
44 分类
41 标签
RSS
© Tue Jun 12 2018 08:00:00 GMT+0800 (GMT+08:00) — 2021 Jesse