搭建本地yum repo

pass

指定特定repo 安装,比如安装wget。(指定特定repo 是为了从最快的repo安装)

yum --disablerepo=\* --enablerepo=os install wget

安装 EPEL

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm

安装JDK 8,配置JAVA_HOME

pass

安装es,启动

pass
nohup ./elasticsearch --cluster.name sflow --node.name sflow1 &

准备数据,数据格式如下:

TAG,SRC_MAC,DST_MAC,VLAN,COS,IN_IFACE,OUT_IFACE,SRC_IP,DST_IP,SRC_MASK,DST_MASK,SRC_PORT,DST_PORT,PROTOCOL,PACKETS,BYTES
10019,52:54:00:6f:d0:9e,52:54:00:58:86:ec,2662,31,3,2,42.120.83.55,42.120.83.125,24,24,15113,17359,ipv6-route,12,2070
10084,52:54:00:04:bd:01,52:54:00:18:dc:b2,1122,81,2,3,42.120.85.119,42.120.85.196,24,24,12110,14868,rsvp,19,4404

创建index,index设计如下

index name 格式为 "sflow_routerIP_interfaceID_direction"

  • 统一前缀可以跨indices调用
  • 一个index存储一个interface的一个方向,缩小单个index的数据量

mapping设计

  • not_analyzed 目的是可以精确匹配,不计算score,提升速度。(ES 是全文搜索引擎,默认模糊匹配并且计算匹配score)
  • 增加IP_PAIRE 字段对应 SRC_IP+DST_IP。目的是测试不同方式多字段聚合效率(对比script方式)

template设计

  • 把mapping 放入template
  • 统一前缀(sflow_)的 index将自动采用template

template如下:

curl -XPUT localhost:9200/_template/template_sflow -d '
{
"template" : "sflow_*",
"mappings" : {
"sflow" : {
"properties" : {
"@timestamp": { "index": "analyzed", "type": "date" },
"SRC_MAC" : { "type" : "string", "index" : "not_analyzed"},
"DST_MAC" : { "type" : "string", "index" : "not_analyzed"},
"IP_PAIRE" : { "type" : "string", "index" : "not_analyzed"},
"SRC_IP" : { "type" : "ip", "index" : "not_analyzed"},
"DST_IP" : { "type" : "ip", "index" : "not_analyzed"},
"SRC_PORT" : { "type" : "integer", "index" : "not_analyzed"},
"DST_PORT" : { "type" : "integer", "index" : "not_analyzed"},
"VLAN" : { "type" : "integer", "index" : "not_analyzed" },
"PROTOCOL" : { "type" : "string", "index" : "not_analyzed" },
"BYTES" : { "type" : "long", "index" : "not_analyzed" },
"PACKETS" : { "type" : "long", "index" : "not_analyzed" }
}
}
}
}
'

导入数据

pass

查询曲线

  1. 某端口,某方向,一段时间曲线

  2. 某端口,某方向,某tag,一段时间曲线

  3. 某端口,某方向,多tag,一段时间曲线

  4. 一组端口,某方向,一段时间曲线

  5. 一组端口,某方向,某tag,一段时间曲线

  6. 一组端口,某方向,多tag,一段时间曲线

查询topN

  1. 某端口,某方向,某tag,一段时间topN

  2. 某端口,某方向,多tag,一段时间topN

  3. 一组端口,某方向,某tag,一段时间topN

  4. 一组端口,某方向,多tag,一段时间topN

查询某个点的time series data

删除数据

  1. 删除某端口某段时间
  2. 删除某组端口某段时间
  3. 删除某个index
  4. 删除某组index

CentOS 7 es搭建测试的更多相关文章

  1. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  2. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  3. Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

    标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9 ...

  4. Tsung CentOS 操作系统下搭建tsung性能测试环境_Part 2

    CentOS 操作系统下搭建tsung性能测试环境_Part 2 by:授客 QQ:1033553122 --------------------接CentOS 操作系统下搭建tsung性能测试环境_ ...

  5. CentOS 7下搭建配置SVN服务器

    CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...

  6. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  7. 基于CentOS与VmwareStation10搭建hadoop环境

    基于CentOS与VmwareStation10搭建hadoop环境     目 录 1. 概述.... 1 1.1. 软件准备.... 1 1.2. 硬件准备.... 1 2. 安装与配置虚拟机.. ...

  8. 用docker搭建测试环境--docker的基本操作

    上一篇文章中最后执行了docker pull centos的指令,经过一段时间的等待,会从hub.docker.com上下载docker官方最新的centos的images,接下来熟悉一下docker ...

  9. Linux常用命令及搭建测试环境

    题外话:三大操作系统------Linux.Unix.Windows,Unix系统如常见的Mac OS,Linux的很多命令跟Unix是通用的,所以就有一些开发人猿喜欢用苹果的原因.Linux发行版特 ...

随机推荐

  1. API设计指南(译)

    API的设计在软件系统中的重要性不言而喻,在swift.org上看到一篇“API Design Guidelines”,虽然是就Swift而言,但对于其它语言也有不少可以借鉴的地方,在这里粗略翻译一二 ...

  2. restful api的简单理解

    百度百科的描述:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. RES ...

  3. 关于NSCELL

    作为一个初学者,我一直很弄不明白NSCell的子类,比如,NSButtonCell,NSImageCell及其对应的控件之间的关系.今天,在做一个TableView实现的时候,我终于开始有点悟了——好 ...

  4. js进行的一些判断

    表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$& ...

  5. Libjingle 库

    Libjingle 是google talk voice(语音聊天) 和 p2p interoperability(点对点操作)库,是提供了google talk,p2p文件共享和语音呼叫能力的组件集 ...

  6. 笔试算法题(36):寻找一棵二叉树中最远节点的距离 & 根据二叉树的前序和后序遍历重建二叉树

    出题:求二叉树中距离最远的两个节点之间的距离,此处的距离定义为节点之间相隔的边数: 分析: 最远距离maxDis可能并不经过树的root节点,而树中的每一个节点都可能成为最远距离经过的子树的根节点:所 ...

  7. php与mysql事物处理

    PHP与MYSQL事务处理 mysql事物特性 (原子性,一致性,隔离性,持久性) /*MYSQL的事务处理主要有两种方法.1.用begin,rollback,commit来实现begin 开始一个事 ...

  8. [Python3网络爬虫开发实战] 1.3.2-Beautiful Soup的安装

    Beautiful Soup是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据.它拥有强大的API和多样的解析方式,本节就来了解下它的安装方式. 1. 相关链接 官方文 ...

  9. python 多线程并发threading & 任务队列Queue

    https://docs.python.org/3.7/library/concurrency.htmlpython程序默认是单线程的,也就是说在前一句语句执行完之前后面的语句不能继续执行先感受一下线 ...

  10. <struct、union、enum>差异

    关于C++和C的区别 区别最大的是struct,C++中的struct几乎和class一样了,可以有成员函数,而C中的struct只能包含成员变量. enum,union没区别. struct的定义 ...