分类目录归档:运维

es迁移分片

在导入大量数据时,不使用数据备份并仅使用一个节点,速度会较之前提升2倍左右,导入速度提升明显。

第一步

设置cluster.routing.allocation.disable_allocation的值,通过reroute api对索引分片进行手动分配。

curl -H "Content-Type:application/json" -XPUT 192.168.56.225:9200/_cluster/settings -d'{
    "transient": {
        "cluster.routing.allocation.enable": "none"
    }
}'

第二部

手动将116上的主分片迁移至225节点(这里迁移的是索引test的第0个分片。可通过修改shard后面的至指定分片序号)

curl -H "Content-Type:application/json" -XPOST '192.168.56.225:9200/_cluster/reroute' -d  '{
    "commands" : [
        {
            "move" : {
                "index" : "test", "shard" : 0,
                "from_node" : "192.168.56.116", "to_node" : "192.168.56.225"
            }
        }
    ]
}'

第三部

可通过 GET /_cat/shards 来查看索引的分片部署情况,当所有主分片都成功迁移至225节点时,停止116节点的es服务,把cluster.routing.allocation.disable_allocation的值改为默认值。

curl -H "Content-Type:application/json" -XPUT 192.168.56.225:9200/_cluster/settings -d'{
    "transient": {
        "cluster.routing.allocation.enable": "all"
    }
}'

 

 

 

logstash持久队列

我们可以使用 Logstash 的持久化队列技术尽量保证数据可靠传输至 output;

适用场景:传输可靠性要求稍低的场景下(和 Kafka 类比),替换架构中的 Kafka 或者加固 Logstash 本身的可靠性,因为即使 queue.checkpoint.writes:1,也有可能因为磁盘故障(检查点文件 和 queue 文件同时损坏)丢至多 1 条数据,核心的问题是在于没有多副本和选举相关的实现;

Deliver 策略:at-least-once;

解决elasticsearch集群Unassigned Shards 无法reroute的问题

1.背景&问题描述

由于系统宕机,导致大量索引出现了Unassigned 状态。在上一篇文章中,我们通过reroute API进行了操作,对主分片缺失的索引,经过上述操作之后,分配了主分片。但是在接下来的操作中,对于副本分片,reroute出错!
如下是索引 alarm-2017.08.12,第0个分片的副本没有分配:

继续阅读

Easy Metasploit Install on Windows Subsystem for Linux

Steps to install Metasploit on Windows 10 using the Windows Subsystem for Linux

1.) Enable Developer Mode
C:\> reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock” /t REG_DWORD /f /v “AllowDevelopmentWithoutDevLicense” /d “1”

2.) Enable Windows Subsystem for Linux
C:\> DISM /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux

3.) Reboot

4.) Type “bash” at cmd line to get into Windows Subsystem for Linux and create a new password for your user.

5.) Install Metasploit
test@Desktop:/mnt/c$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall


原文连接: dafthack

 

docker挂载宿主机目录时的权限问题

在CENTOS7上挂载宿主机目录到容器中时,出现了目录拒绝访问的问题,尝试了修改文件夹权限及属主,都没用。在看了csdn的一篇文章后,恍然大悟。


解决方法

1.在运行容器的时候,给容器加特权,及加上 –privileged=true 参数:

docker run -i -t -v /soft:/soft –privileged=true 686672a1d0cc /bin/bash

2.关闭selinux:

setenforce 0

3.添加selinux规则,改变要挂载目录的安全文本

继续阅读

ss-panel部署

一、安装并配置 ss-panel

本教程打算先配置好前端,当然你想要先配置后端可以拉下去。

0x01 环境要求

作为前端的 ss-panel 是使用 PHP 编写的网页应用程序,它对你的主机运行环境有一定的要求。

  • PHP 5.6 或更高
  • MySQL 5.5 或更高
  • 支持 URL 重写的 Web 服务器(Nginx / Apache 均可)

本教程所使用的环境是 NGINX + PHP 7 + MariaDB 10。当然其他主流 LNMP/LAMP 架构都可以,确保你的站点可以访问后就继续吧。

在centos7下可以直接用下面的脚本一键安装

# 一键安装lnmp环境 
$ curl -o cnmp.sh https://gist.githubusercontent.com/sendya/38142d682144f7e658ea203c5ca694fd/raw/f0bb5ce7fe713b72ed2ea883f608113bd697a78a/cnmp.sh && bash cnmp.sh 
# 修改数据库密码 
$ mysqladmin -u root password "123"

安装后,NGINX配置目录在 /data/nginx/conf.d;站点主目录在 /data/web/。

 

继续阅读

社工库数据格式化之Kettle Spoon

前言

现在的数据库种类越来越多,数据库备份的格式也越来越复杂,所以数据格式化一直是一个老生常谈的问题。据库备份文件格式那么多,既有SQL的,也有BAK的,还有TXT的等。数据库种类也有很多,MySQL,Oracle,SQL server等,怎么对这些数据库进行管理?昨天泄露access格式的数据库,今天泄露了excel格式的数据库,明天又泄露了SQL格式的数据库。要格式化那么多种类的数据库,压力山大啊!搭建个本地的社工库怎么那么复杂?

这里就要说到kettle。首先得说说Pentaho这个企业。Pentaho主要致力于大数据的分析,整理和管理,并且这家公司开发出来的工具是开源的!没错,就是开源的。任何人都可以查看这个项目的源代码,并且对其进行更改和研究。这家公司开发了很多管理工具或者框架,最为出名的就是kettle了。Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。ELT的全称为Extraction, Transformation Loading,其中文解释为提取,转换和加载。Kettle这个工具里面有SPOON,PAN,CHEF,Encr和KITCHEN这么五个基本组建。

继续阅读

Centos7搭建OpenGTS

0x01.OpenGTS简介

OpenGTS ™(“GPS跟踪系统”)是第一个可用的开源项目,专门提供基于网络的 GPS 跟踪服务。 迄今为止,OpenGTS™已被下载并投入了使用于95个国家。车辆和跟踪资产类型包括出租车,送货面包车,卡车/拖车,农用设备,个人车辆,服务车辆,集装箱,船舶,全地形车,专人跟踪,手机等。 虽然OpenGTS ™设计以填补需求入门级船队跟踪系统为主,它也是非常高度可配置和可扩展性以及规模较大的框架。

更多链接:

继续阅读

Apache && Nginx wordpress伪静态(简)

0x01.Apache

在网站的根目录下创建.htaccess,配置如下(要在主配置文件中允许分布式配置):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

0x02.Nginx

将以下配置加入网站配置文件(一般是nginx.conf)的server容器

if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

 

Apache && Nginx 挂载startssl证书

0x01.apache

1.在startssl申请证书后,会提供一个压缩包下载,里面对应了多种web服务器的ssl证书格式。解压*domain*.zip里面的ApacheServer.zip会得到2个文件:

  • 1_root_bundle.crt
  • 2_www.kn1f4.com.crt

2.复制证书文件及私钥到以下目录

$ cp 1_root_bundle.crt /etc/pki/tls/certs/server-chain.crt
$ cp 2_*domain*.crt /etc/pki/tls/certs/localhost.crt
#这里的*domain*是提交startssl申请的域名
$ cp server.key /etc/pki/tls/private/localhost.key

3.在httpd.conf中加入以下配置(或去掉注释)

继续阅读