这篇博文将基于AWS服务构建日志分析解决方案,对EKK架构进行实践,参考文档

Amazon Elasticsearch Service

Amazon Elasticsearch Service 是一项完全托管的服务,方便您部署、保护和运行大量 Elasticsearch 操作,且不用停机。该服务提供开源 Elasticsearch API、受托管的 Kibana 以及与 Logstash 和其他 AWS 服务的集成,支持您安全获取任何来源的数据,并开展实时搜索、分析和可视化。使用 Amazon Elasticsearch Service 时,您只需按实际用量付费,没有预付成本或使用要求。有了 Amazon Elasticsearch Service,您无需承担运营开销,便可获得所需的 ELK 堆栈

一个来自Eddie Xie关于Elasticsearch的系列教程:https://kalasearch.cn/blog/elasticsearch-tutorial/

Amazon Kinesis

Amazon Kinesis 可让您轻松收集、处理和分析实时流数据,以便您及时获得见解并对新信息快速做出响应。Amazon Kinesis 提供多种核心功能,可以经济高效地处理任意规模的流数据,同时具有很高的灵活性,让您可以选择最符合应用程序需求的工具。借助 Amazon Kinesis,您可以获取视频、音频、应用程序日志和网站点击流等实时数据,也可以获取用于机器学习、分析和其他应用程序的 IoT 遥测数据。借助 Amazon Kinesis,您可以即刻对收到的数据进行处理和分析并做出响应,无需等到收集完全部数据后才开始进行处理。

Kibana

Kibana 是一种开源数据可视化和挖掘工具,可以用于日志和时间序列分析、应用程序监控和运营智能使用案例。它提供了强大且易用的功能,例如直方图、线形图、饼图、热图和内置的地理空间支持。此外,它还提供了与 Elasticsearch 的紧密集成,后者是一款流行的分析和搜索引擎,这使得 Kibana 成为了可视化 Elasticsearch 中存储数据的默认之选。

阅读全文 »

文章概述

本来这篇文章写得是爬虫学习日志,但是后来发现前置工作也是虚拟环境的配置还是有待一提。日前在做cv的时候使用SIFT对图像的特征进行提取,当时没有手写SIFT函数,而是调用了opencv的一个函数,其中存在的一个问题是后来SIFT算法申请了专利,后续版本的opencv不再支持这个函数,于是当时搜索了很久找到支持该函数的旧版本,期间python版本还从3.7降到了3.68以支持这个函数的调用,而命令行输入python —version的时候仍然显示版本是3.7,这就显得库和包的版本控制比较混乱,然而当时我并没有意识到这个问题。后来电脑重装了一次,也是最近在学习爬虫的时候以及后来学习深度学习的时候我才开始重视python的包管理问题,目前看到的几种虚拟环境配置方式有:

  • virtualenv
  • conda env
  • docker

目前我已经尝试了virtualenv和conda env,docker还没有尝试过。感觉virtualenv和conda env两种使用上差不多,但是我选择了conda env,个人不使用virtualenv的原因在于:

  1. virtualenv似乎不支持jupyter notebook的集成
  2. conda env似乎比virtualenv多了一个生成配置文件并能根据配置文件创建相同环境的功能,这使得环境的在不同设备上的share更加地方便

但是最近在薅某IaaS提供商羊毛的时候,发现虽然有yml文件,但是将conda env从本地同步到远程仍然很麻烦,创建新的环境之后还要将该环境“注入”到jupyter notebook中,如果你没有某种快速部署的脚本的,这也是一个繁琐的步骤。

因此决定学习一下docker进一步对虚拟环境进行配置(还没学完)。

我学了一下docker,然后先用jupyter/tensorflow-notebook跑了一下,发现这种方式搭环境还是比较快的。然后我尝试了一下自己做一个docker jupyter notebook镜像用来做深度学习(因为我发现在自己的机器上写代码真的是心累,不禁拖慢的编码速度而且跑起来也很慢),我的思路是先pull一个ubuntu的镜像作为basic image,然后按照上面conda env的步骤创建虚拟环境,将kernel注入到jupyter notebook中,然后commit重新打包成新的镜像然后push到docker hub中。这样就可以在后续中pull下来试用啦。

emmmm,但是我感觉我实现的并不是很好,原因如下:

  1. 我理解这个images本质是一个ubuntu系统,run之后还需要进到里面启动jupyter notebook,过程感觉略有繁琐。
  2. 而对比jupyter/tensorflow-notebook其只需要run命令就可以,而不需要进到里面启动,但目前为止我没有搞懂这是怎么实现了。
  3. 做这个image的初衷是为了在远程服务器上使用自己习惯的环境,以及做开发环境的区分。但目前看来前者的目的貌似达到了,但是后者似乎可以通过run多个container来实现??比如我一个image包含ts+opencv和ts+panda(虽然没冲突但我举不出来例子),然后我可以通过run两个container(分别是ts+opencv的container和ts+panda的container)来实现开发环境区分的目的,这看来貌似我的做法有点多余?毕竟如果要配置新的环境又要进到容器进行配置,完了commit and push。
阅读全文 »

说说最近踩的坑,为了在windows的电脑下做并行程序设计作业埃拉托色尼素数筛选法,用的是MPI,然后发现这类库对于windows的用户非常不友好,比如说MPICH2后续已经不支持windows,OpenMPI貌似只支持linux,而微软维护的MS-MPI能够支持windows,但是我在使用clion(cmake)进行包引入的时候出了很多问题,可能的原因是windows下没有mpicc/mpicxx,可能的解决方案是使用微软自家的VS去做,但是我觉得VS太过臃肿而不想下载,最终我得出来的结论是:windows + clion + MPI 暂时无法实现,即使翻阅了很多网上的资料也没有响应的解决方案,无奈之下只能在远程的linux下编程,使用的是ubuntu 16.04这个系统,然后思路是因为要编程所以配置一个ubuntu GUI,然后装上lion,把之前写的代码从git下clone下来,然后由于我的服务器是在华为云上的一个7天体验卷,也就只有2核4G,所以我打算后续在工作室一台比较老的服务器上写代码,然后比较坑的是那个玩意儿没有公网IP,因此我想看看能否通过teamviewer来从远程连接,虽然感觉可能性不大hhh。

2019-05-19续——

后来我测试了一下teamviewer连接服务器,但是这个被归为了商业用途就是要收费的(就很烦),算了算了…只能老老实实用windows的远程连接8。后续在linux服务器上写完了几个优化之后(见后),在测试阶段发现优化后的时间反而边长了,虽然后来用了增加cache命中率来提升性能,但是我认为加速还是受到了干扰,于是只能去专业的实验室用里面的电脑搞事情,所以我又把windows上mpi的配置搞了一边,还生成了一下不同优化的exe,然后再拿回自己的电脑测试,现在想一想,之前无法在自己的电脑的windows上用clion编译可能是和cmake建立动态链接失败有关,但是自己对这方面不熟,网上资料不全,所以搞着搞着就放弃了。但是安装了mpi还是能够执行编译生成的exe文件滴。

阅读全文 »

安装

全局安装(不推荐)

1
npm install webpack webpack-cli -g

全局的话容易发生webpack3和webpack4的版本冲突

局部安装(推荐)

1
2
npm install webpack webpack-cli -D
# npm install webpack webpack-cli --save-dev

查看版本

1
npx webpack -v

查看包版本

1
npm info webpack
阅读全文 »

在Hexo中使用echarts

使用插件hexo-tag-echarts3,该插件已经被收录到echart的插件中

Install

1
$ npm install hexo-tag-echarts --save

Usage

1
2
3
{% echarts 400 '85%' %}
\\TODO echarts option goes here
{% endecharts %}

Bug

在所用主题目录下<font color=#c7254e>layout\_partial</font>中的head.swig里加入:

1
<script src="http://echarts.baidu.com/dist/echarts.common.min.js"></script>

Test

阅读全文 »

最近在阅读机器学习西瓜书SVM(Support Vector Mechine)部分的时候,其目标函数使用了拉格朗日乘子法并将其转化为拉格朗日对偶性问题进行求解,并且在后面引入软间隔的SVM也使用了同样的方法,因此自己在网上查阅了相关的资料对其原理进行探索,最后整理在下文。

阅读全文 »

​ 因为不是天天都有时间来维护博客,因为比较菜所以要做很多输入才有时间思考才有可能做输出,因此之前很多关于Hexo日常使用的命令都忘得一干二净,所以写下来省得以后又得查,但是以前怎么配置的hexo已经完全忘了hhh,如果有时间再写吧,但是这个东西的迭代还是很快的,所以写了以后也未必有用,就像评论系统的引用,看了很多以前的博文都是要自己手动添加yml代码,但是现在只需要在配置文件进行相关的配置即可。

​ 另外,打算记一点markdown语法,因为以后可能要码公式。

阅读全文 »

​ 我之前在写学校艺术中心的项目页面的时候要求有大量的动画,一开始我写的页面动画非常不流畅,有很多卡顿,因此我通过在慕课网上学习了让你页面速度飞起来 Web前端性能优化以及在优达学堂(我是通过在谷歌开发者帮助上找到这个网址的)来了解一些关于现代浏览器页面渲染的原理和过程,当然还有The Applied Science of Runtime Performance - Chrome Dev Summit 2014 (Paul Lewis) 、张鑫旭的回流与重绘:CSS性能让JavaScript变慢?如何不择手段提升scroll事件的性能?(最早来自知乎?)以及该文章内引用的其它文章…不再一一列举。为此我还在小组会上做了一定的分享,因此我将在下面记录下所学的内容。

​ 这可能不是一篇正经的博文,这是自己总结写给自己看的,因为可能只有我能看得懂hhh,一起之前分享后的整理,但是看完优达学堂确实能比较好地理解整个过程(墙裂推荐)。

阅读全文 »