首页 文章 精选 留言 我的

精选列表

搜索[撒谎模式],共10000篇文章
优秀的个人博客,低调大师

“大数据时代”开启产业转型新模式

有人把数据比喻为蕴藏能量的煤矿,不同煤矿的挖掘成本又不一样。与此类似,大数据并不在“大”,而在于“有用”,价值含量、挖掘成本比数量更为重要。现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。 大数据带来新产业 说起“大数据”这三个字,很多人都听过,但要说真正了解“大数据”是什么意思,相信绝大多数人都并不清楚。近日,记者来到位于南河道高新大厦的汉唐大数据研究院,这里是由兰州睿创波迪信息科技有限公司发起,在省、市相关政府部门支持下,联合国内知名高校、科研院所,聘请了十多名包括院士、长江学者、千人计划学者在内的国内顶级专家,集产、学、研一体的大数据研究机构,同时,作为兰州市高新区创业中心重点扶持项目之一,也得到了一整层楼共1066㎡的创业场所作为扶持。 “近两年,大家对大数据的概念听得很多,但大都是一些概念上的炒作,人们都不知道大数据到底是做什么的。很多人都问过我一个问题,你的数据从哪来?其实大数据而言,它不仅是一个数据的加工分析利用,其实是一整个技术产业链的发展,需要各方面的配套,并不是单纯某个方面的问题。”兰州睿创波迪信息科技有限公司总经理张亚东说。他认为,大数据的概念比较多,可能现在大众比较认同的一种解释是:数据量大、或者复杂到一定程度,已经用传统的方式无法进行处理的数据,称之为大数据。与传统数据相比较,大数据呈现出诸多新的特性,如数据容量大、数据类型繁多、价值密度低及处理速度快等,其最核心的价值就是在于对海量数据进行存储、分析与挖掘,需要研究与之相应地一系列新方法、新技术或新标准。 从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术。简而言之,从各种各样类型的数据中,快速获得有价值信息的能力,就是大数据技术。 研究差异决定细化走向 “其实一开始建数据院是为了服务我们自己的项目,睿创波迪信息科技有限公司是以做软件为主,包括移动互联网这块,需要一些大数据的分析,我们聘请的博士就是大数据研究领域的专业人士。在项目开展过程中发现以传统的项目角度来做大数据存在诸多问题,主要是由于当前项目与人的生活、商业、医疗、教育、物业等方面都有关系,是一个产业性的问题,单独靠一两个人或一两个企业是很难解决的。所以去年我们就跑去北京,到中科院、清华这些专业人士聚集的地方‘取经’,最终邀请到数位活跃在物联网、云计算、数据库的国内知名专家加入我们,可以说他们的一些技术、成果,通过我们可以很好的应用到现实中,所以大家一拍即合,为了搭建一个良好的协作平台,最终由睿创波迪作为发起方,共同筹建成立了我们这个汉唐大数据研究院。” 张亚东告诉记者,初期以面向消费服务的商业大数据研究为目标,研究基于时空数据的数据采集、存储、检索体系架构,建设CTM公共商业数据平台,在此基础上围绕安全、交通、健康、金融、商业、生活等,凝练出几个准国家级重点实验室或工程中心的研究方向,形成几个具有自有特色的研究实体。目前,研究院下设有:大数据基础理论与关键技术研究中心、智慧生活大数据研究中心、隐私安全大数据研究中心、 健康与教育大数据研究中心。 记者了解到,根据不同的研究方向,每个实验室所侧重的数据研究方向也各有不同。比如在智慧生活大数据研究中心,围绕智慧生活,包括家居、商业、交通、旅游等,相关的系统架构、关键技术为主要研究目标,以产业化应用为目的,研究方向主要包括智慧社区、智慧商业、智慧交通、智慧旅游等方面。“我们正在榆中建立西北首个真正意义上的‘智慧社区’,它不等同于拥有很多智能化设备的智能社区,而是像‘智慧城市’这种概念,为每个人提供的服务都是不一样的,可以说是个性化服务,数据能自动识别、自动判别为不同的人提供不同的服务。但‘智慧城市’是一个很宽泛、涉及的行业非常广的一个项目,它的建设周期或者建设成本是非常耗时耗力的,所以我们以点入手,先从社区开始。”张亚东表示,在我们生活中,每个人每天面临到的信息量都非常的大,像视频、图像、语音等等这些“非结构化”的数据信息的采集、存储、加工、利用就是未来大数据要做的事情。 力争建设大数据“贝尔实验室” 在谈到如何将大数据技术应用到实际生活中时,张亚东表示,接下来汉唐大数据研究院将和地产公司亨威集团合作,在榆中建立一座“主题购物公园”。“传统的城市综合体都是提着大包小包的在购物,如何将拎包购物变成一个休闲娱乐购物呢?”他解释,逛商场时看中某件商品,扫描刷卡以后可以继续去逛街去吃饭去休闲娱乐,而不用自己拎着大包小包,整个逛完以后买好的商品全部都打包好直接送到家里,或者直接送到地下停车场顾客的车位旁,是不是很方便呢?“这都是我们下一步计划要做的事情,都是应用大数据的技术,更有可能的是,比如你在商场里走路,通过你走路的快慢,你眼光的方向,通过大数据的集中处理,就可以判断出你感兴趣的东西是什么,你走的慢,要么是有事情在这里等人,要么就是你有个感兴趣的东西在这里,这就是大数据的视频技术。很多个体无意识的行为,在一个群体里面,他就是有规律可寻的,这就是大数据体现在生活中的一个方面。” 技术服务商是研究院今后扮演的重要角色。把政府、企业、高校、研究院所、资本和创业型企业连接起来,实现产学研对接、推动行业发展是中心建设的重要目标。力争建设成为大数据行业的“贝尔实验室”,并将研究院建设成为学科、学术、技术、产业、机制等均在国内具有引领地位的大型创新平台。 “兰州有个三维标准大数据研究院,也是在做数据的研究分析数据标准化的工作。我们更注重从实际市场需求出发来做,这就是我们之间的差别。我们拥有的专家队伍,包括长江学者、千人计划学者等,可能与目前一些已经成立的大数据研究院相比,相对具有一定的优势,另一方面,我们提出的概念就是CTM,C是con-sumers消费者,M是make制造,我们围绕人们的生活,拥有具体的、能落地的应用目标。”张亚东认为,因为传统方式对数据的分析利用受到一定的局限性,所以大数据将会是未来的一个方向。“从物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器出现以后,无一不是数据来源或者承载的方式,这也为大数据今后的发展提供了无限的可能性。” 加快数据兰州建设意义重大 目前,汉唐大数据研究院学术委员会由十余位国内知名专家组成,中国工程院院士、中国技术经济学家及数量经济学家李京文院士担任,常务副主任由中国计算机学会(CCF)大数据专委会委员丁治明教授担任,其余专家均为相关领域教授或研究员,研究方向涵盖大数据、云计算、公共安全、人工智能、物联网等领域。 该委员会认为,当今世界变化很快,我们已经进入了大数据时代,做为新的热点技术,大数据已形成产业化发展潮流,呈现出井喷式爆发性增长。大数据已经渗透到各个行业和领域,成为重要的生产因素,是带动产业升级转型和催生新业态的利器,对人们的生产生活必将产生重大而深远的影响。从经济和产业发展维度看大数据及相关产业发展潜力,我国独特的位势和经济社会高速稳定发展,给大数据及其应用带来了巨大的发展空间,国家大数据战略也已发布。但是如何获取、存储、分析、处理大数据,需要我们不断去创新,去研究解决这些问题。 甘肃于丝绸之路腹地,是华夏文明的重要源头,兰州做为丝路重镇,位于丝绸之路经济带黄金地段,汉唐大数据研究院落地兰州高新技术产业开发区,是对国家大数据战略的响应,对“云上兰州、数据兰州”的建设,对甘肃在丝绸之路经济带的作用和地位都有着长远的意义。抢占先机,赢得未来,汉唐大数据研究院将把握科技革命历史机遇,推动甘肃大数据产业发展,并带动相关产业的创业创新。本文转自d1net(转载)

优秀的个人博客,低调大师

Firefox 准备引入真正的隐身浏览模式

Mozilla 希望隐私浏览能够名副其实。 他们公司目前正在 Firefox 上测试一项增强的隐身浏览的功能,它能够阻止那些能被第三方用来追踪浏览行为的网站元素。大部分浏览器,包括 Firefox 在内,都有一个“Do Not Track”选项,但很多公司并没有真正兑现它。 Mozilla 这个正在实验的工具,旨在拦截广告网络、分析公司等外部团体通过 Cookies 和浏览器的 fingerprinting 来跟踪用户。 Mozilla 周五的时候表示,这个功能现在可以在 Firefox 开发者版本(包括 Windows,Mac,Linux,以及 Firefox Aurora on Android)使用。这项工具目前在是在 prebeta 阶段,未来可能被纳入 Firefox 浏览器的主要版本中。它可能会导致一些“数据饥渴型”网站不能正常加载,但用户如果愿意可以自行解封特定的网站。 这项功能也可以更好地识别那些不安全的浏览器加载项,它们可能会安装恶意程序或者收集用户信息。 文章转载自 开源中国社区 [http://www.oschina.net]

优秀的个人博客,低调大师

Windows上搭建Standalone模式的Spark环境

Java 安装Java8,设置JAVA_HOME,并添加 %JAVA_HOME%\bin 到环境变量PATH中 E:\java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) Scala 下载解压Scala 2.11,设置SCALA_HOME,并添加 %SCALA_HOME%\bin 到PATH中 E:\ scala -verion Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL Spark 下载解压Spark 2.1, 设置SPARK_HOME,并添加 %SPARK_HOME%\bin 到PATH中,此时尝试在控制台运行spark-shell,出现如下错误提示无法定位winutils.exe。 E:\>spark-shell Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 17/06/05 21:34:43 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:379) at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394) at org.apache.hadoop.util.Shell.<clinit>(Shell.java:387) at org.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:2327) at org.apache.hadoop.hive.conf.HiveConf$ConfVars.<clinit>(HiveConf.java:365) at org.apache.hadoop.hive.conf.HiveConf.<clinit>(HiveConf.java:105) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.apache.spark.util.Utils$.classForName(Utils.scala:229) at org.apache.spark.sql.SparkSession$.hiveClassesArePresent(SparkSession.scala:991) at org.apache.spark.repl.Main$.createSparkSession(Main.scala:92) at $line3.$read $$ iw $$ iw.<init>(<console>:15) at $line3.$read $$ iw.<init>(<console>:42) at $line3.$read.<init>(<console>:44) at $line3.$read$.<init>(<console>:48) at $line3.$read$.<clinit>(<console>) at $line3.$eval$.$print$lzycompute(<console>:7) at $line3.$eval$.$print(<console>:6) at $line3.$eval.$print(<console>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:786) at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1047) at scala.tools.nsc.interpreter.IMain$WrappedRequest $$ anonfun$loadAndRunReq$1.apply(IMain.scala:638) at scala.tools.nsc.interpreter.IMain$WrappedRequest $$ anonfun$loadAndRunReq$1.apply(IMain.scala:637) at scala.reflect.internal.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31) at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:19) at scala.tools.nsc.interpreter.IMain$WrappedRequest.loadAndRunReq(IMain.scala:637) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:807) at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:681) at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:395) at org.apache.spark.repl.SparkILoop $$ anonfun$initializeSpark$1.apply$mcV$sp(SparkILoop.scala:38) at org.apache.spark.repl.SparkILoop $$ anonfun$initializeSpark$1.apply(SparkILoop.scala:37) at org.apache.spark.repl.SparkILoop $$ anonfun$initializeSpark$1.apply(SparkILoop.scala:37) at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:214) at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:37) at org.apache.spark.repl.SparkILoop.loadFiles(SparkILoop.scala:105) at scala.tools.nsc.interpreter.ILoop $$ anonfun$process$1.apply$mcZ$sp(ILoop.scala:920) at scala.tools.nsc.interpreter.ILoop $$ anonfun$process$1.apply(ILoop.scala:909) at scala.tools.nsc.interpreter.ILoop $$ anonfun$process$1.apply(ILoop.scala:909) at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97) at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909) at org.apache.spark.repl.Main$.doMain(Main.scala:69) at org.apache.spark.repl.Main$.main(Main.scala:52) at org.apache.spark.repl.Main.main(Main.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit $$ runMain(SparkSubmit.scala:743) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 从错误消息中可以看出Spark需要用到Hadoop中的一些类库(通过HADOOP_HOME环境变量,因为我们之前并未设置过,所以文件路径null\bin\winutils.exe里面出现了null),但这并不意味这我们一定要安装Hadoop,我们可以直接下载所需要的winutils.exe到磁盘上的任何位置,比如C:\winutils\bin\winutils.exe,同时设置 HADOOP_HOME=C:winutils 。 现在我们再次运行spark-shell,又有一个新的错误: java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState': at org.apache.spark.sql.SparkSession$.org$apache$spark$sql$SparkSession $$ reflect(SparkSession.scala:981) at org.apache.spark.sql.SparkSession.sessionState$lzycompute(SparkSession.scala:110) at org.apache.spark.sql.SparkSession.sessionState(SparkSession.scala:109) at org.apache.spark.sql.SparkSession$Builder $$ anonfun$getOrCreate$5.apply(SparkSession.scala:878) at org.apache.spark.sql.SparkSession$Builder $$ anonfun$getOrCreate$5.apply(SparkSession.scala:878) at scala.collection.mutable.HashMap $$ anonfun$foreach$1.apply(HashMap.scala:99) at scala.collection.mutable.HashMap $$ anonfun$foreach$1.apply(HashMap.scala:99) at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230) at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40) at scala.collection.mutable.HashMap.foreach(HashMap.scala:99) at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:878) at org.apache.spark.repl.Main$.createSparkSession(Main.scala:96) ... 47 elided Caused by: java.lang.reflect.InvocationTargetException: java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveExternalCatalog': at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.apache.spark.sql.SparkSession$.org$apache$spark$sql$SparkSession $$ reflect(SparkSession.scala:978) ... 58 more Caused by: java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveExternalCatalog': at org.apache.spark.sql.internal.SharedState$.org$apache$spark$sql$internal$SharedState $$ reflect(SharedState.scala:169) at org.apache.spark.sql.internal.SharedState.<init>(SharedState.scala:86) at org.apache.spark.sql.SparkSession $$ anonfun$sharedState$1.apply(SparkSession.scala:101) at org.apache.spark.sql.SparkSession $$ anonfun$sharedState$1.apply(SparkSession.scala:101) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.sql.SparkSession.sharedState$lzycompute(SparkSession.scala:101) at org.apache.spark.sql.SparkSession.sharedState(SparkSession.scala:100) at org.apache.spark.sql.internal.SessionState.<init>(SessionState.scala:157) at org.apache.spark.sql.hive.HiveSessionState.<init>(HiveSessionState.scala:32) ... 63 more Caused by: java.lang.reflect.InvocationTargetException: java.lang.reflect.InvocationTargetException: java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: --------- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.apache.spark.sql.internal.SharedState$.org$apache$spark$sql$internal$SharedState $$ reflect(SharedState.scala:166) ... 71 more Caused by: java.lang.reflect.InvocationTargetException: java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: --------- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:264) at org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:358) at org.apache.spark.sql.hive.HiveUtils$.newClientForMetadata(HiveUtils.scala:262) at org.apache.spark.sql.hive.HiveExternalCatalog.<init>(HiveExternalCatalog.scala:66) ... 76 more Caused by: java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: --------- at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522) at org.apache.spark.sql.hive.client.HiveClientImpl.<init>(HiveClientImpl.scala:188) ... 84 more Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: --------- at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:554) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) ... 85 more <console>:14: error: not found: value spark import spark.implicits._ ^ <console>:14: error: not found: value spark import spark.sql ^ Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.1.1 /_/ Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60) Type in expressions to have them evaluated. Type :help for more information. scala> 错误消息中提示零时目录 /tmp/hive 没有写的权限: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: --------- 所以我们需要更新E:/tmp/hive的权限(我在E盘下运行的spark-shell命令,如果在其他盘运行,就改成对应的盘符+/tmp/hive)。运行如下命令: E:\>C:\winutils\bin\winutils.exe chmod 777 E:\tmp\hive 再次运行spark-shell,spark启动成功。此时可以通过 http://localhost:4040 来访问Spark UI

优秀的个人博客,低调大师

《Flume日志收集与MapReduce模式》一导读

Preface 前 言 Hadoop是个非常优秀的开源工具,可以将海量的非结构化数据转换为易于管理的内容,从而更好地洞察客户需求。它很便宜(几乎是免费的),只要数据中心有空间和电源,它就能够水平扩展,并且可以处理传统数据仓库难以解决的问题。需要注意的是,你得将数据填入Hadoop集群中,否则你所得到的只不过是昂贵的热量产生器而已。你很快就会发现,一旦对Hadoop的使用经过 “试验性”阶段后,你就需要工具来自动化地将数据填充到集群中。过去,你需要自己找到该问题的解决方案,但现在则不必如此!Flume一开始是Cloudera的项目,当时它们的集成工程师需要一次又一次地为客户编写工具来实现数据的自动化导入。时至今日,Flume已经成为Apache软件基金会的项目,并且处于活跃开发状态中,很多用户已经将其用于产品环境多年。本书将会通过F

优秀的个人博客,低调大师

【Elastalert】告警模式之spike配置详解实例

打开微信扫一扫,关注微信公众号【数据与算法联盟】 转载请注明出处: http://blog.csdn.net/gamer_gyt 博主微博: http://weibo.com/234654758 Github: https://github.com/thinkgamer 写在前边的话 Elastalert是由python2.6写的一个告警框架,针对ELK日志分析系统来讲具有很大的作用,在 Elastalert-基于Elasticsearch层面的监控告警框架中,我们了解了Elastalert框架和配置使用了frequence的告警规则,这篇文章我们来看下Spike告警规则,相对来讲,spike rule不是很好理解,希望读者们能够细心阅读,有什么不懂的问题,可以留言讨论 该文永久地址:http://blog.csdn.net/Gamer_gyt/article/details/53381279 环境说明 ubuntu:16.04 Elastalert :0.14 Elasticsearch 2.4.1 Logstash 2.4.0 Kibana 4.6.1 其中的发邮件配置部分参考: Elastalert-基于Elasticsearch层面的监控告警框架 配置文件解读 # 可选的,elasticsearch 所在主机的ip地址 # es_host: elasticsearch.example.com # 可选的,elasticsearch的服务端口 # 这里的elasticsearch之所以说是可选是因为在config.ymal中已经配置过了 # es_port: 14900 # 可选,是否使用SSL加密传送数据,这是因为elasticsearch如果被search-guard或者x-pack/shield保护的话,要启用 #use_ssl: True # 可选,对应访问elasticsearch的账号和密码 #es_username: someusername #es_password: somepassword # 必选的,rule的唯一名字 name: Event spike # 必选的,rule的类型 type: spike # 必选的,监控的索引 index: logstash-* # 二选一,cur:当前窗口,ref:参照窗口 后边会着重讲述 threshold_cur: 5 #threshold_ref: 5 # 必选的,窗口参照时间 timeframe: hours: 2 # 必选的,衡论是否进行报警的一个警戒线 spike_height: 3 # 必选的,spike_type有三种类型,up,down,both spike_type: "up" # 必须的,进行匹配过滤的条件 # 更多过滤条件设置参考: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl.html filter: - query: query_string: query: "field: value" - type: value: "some_doc_type" # 必须的,报警方式 alert: - "email" # 必选的,邮件的接受地址 email: - "elastalert@example.com" 重要参数解释 spike_type: up:意味着只会匹配超过当事件发生的次数超过spike_height down:意味着只会匹配超过当事件发生的次数低于spike_height both:都会进行匹配 spike_height:最后一个时间帧中的事件数与上一个命中时触发警报的时间帧的比率 threshold_ref:要触发的警报在参考窗口中必须存在的事件的最小数量。例如,如果spike_height:3和threshold_ref:10,则“引用”窗口必须包含至少10个事件,“当前”窗口至少为触发警报的三倍。 threshold_cur:当前窗口中必须存在的触发警报的最小事件数。例如,如果spike_height:3和threshold_cur:60,则当前窗口具有多于60个事件并且参考窗口少于三分之一时,将发生警报。 (当前窗口和参照窗口,而这个窗口就是一个时间段(timeframe)) spike的报警规则 1、如果设置了threshold_ref或者threshold_cur,那么比较对应的ref或cur是否大于threshold_ref或者threshold_cur,如果大于,接着看2,否则不警报; 2、是否满足公式 ref * spike_height < cur ,如果是则警报,否则不警报。 例如: spike_type:up 12:00-14:00发生事件的次数为5,14:00-16:00发生事件的次数为20 设置threshold_cur:6,spike_height:3 由于4<6所以不进行报警 如果我们设置的threshold_cur:4 由于5>4,那么我们看是否满足公式 ref * spike_height < cur ,5*3 > 6不报警 但是如果我们设置的spike_height:1,那么5*1<6,就会进行报警 (这里不是太好理解,大家多读几遍) 实例 前提是ELK和Elastalert都配置OK logstash的配置文件rsyslog_test.conf input { tcp{ port => 5000 type => syslog } udp{ port => 5000 type => syslog } } output { stdout { codec=> rubydebug } elasticsearch { hosts => ["127.0.0.1:9200"] } } elastalert 的example_spike.ymal es_host: 127.0.0.1 es_port: 9200 name: spike rule type: spike index: logstash-* threshold_ref: 3 timeframe: minutes: 1 spike_height: 1 spike_type: "up" filter: - query: query_string: query: "host: 127.0.0.1" - term: _type: "syslog" use_count_query: true doc_type: syslog #SMTP协议的邮件服务器相关配置(我这里是163 mial) smtp_host: smtp.163.com smtp_port: 25 #用户认证文件,需要user和password两个属性 smtp_auth_file: smtp_auth_file.yaml email_reply_to: thinkgamer@163.com from_addr: thinkgamer@163.com alert: - "email" email: - "1923361654@qq.com" 邮件配置部分参考: Elastalert-基于Elasticsearch层面的监控告警框架 系统的/etc/rsyslog.conf,最后加入 *.* @@localhost:5000 *.* @localhost:5000 启动elasticsearch和logstash的rsyslog_test.conf 启动elastalert的example_spike.ymal python -m elastalert.elastalert –verbose –rule example_rules/example_spike.yaml 适当的控制系统的登录日志,最终spike窗口显示如下: master@ubuntu:/opt/elk/elastalert$ python -m elastalert.elastalert --verbose --rule rules/spike.yaml INFO:elastalert:Starting up INFO:elastalert:Queried rule spike rule from 2016-11-28 01:26 PST to 2016-11-28 01:27 PST: 0 hits INFO:elastalert:Ran spike rule from 2016-11-28 01:26 PST to 2016-11-28 01:27 PST: 0 query hits, 0 matches, 0 alerts sent INFO:elastalert:Sleeping for 59 seconds INFO:elastalert:Queried rule spike rule from 2016-11-28 01:27 PST to 2016-11-28 01:28 PST: 22 hits INFO:elastalert:Ran spike rule from 2016-11-28 01:27 PST to 2016-11-28 01:28 PST: 22 query hits, 0 matches, 0 alerts sent INFO:elastalert:Sleeping for 59 seconds INFO:elastalert:Queried rule spike rule from 2016-11-28 01:28 PST to 2016-11-28 01:29 PST: 98 hits INFO:elastalert:Ran spike rule from 2016-11-28 01:28 PST to 2016-11-28 01:29 PST: 98 query hits, 0 matches, 0 alerts sent INFO:elastalert:Sleeping for 59 seconds INFO:elastalert:Queried rule spike rule from 2016-11-28 01:29 PST to 2016-11-28 01:30 PST: 110 hits INFO:elastalert:Sent email to ['1923361654@qq.com'] INFO:elastalert:Ran spike rule from 2016-11-28 01:29 PST to 2016-11-28 01:30 PST: 110 query hits, 1 matches, 1 alerts sent INFO:elastalert:Sleeping for 59 seconds 这个时候邮箱收到邮件内容: OVER !

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册