首页 文章 精选 留言 我的

精选列表

搜索[NVR系统],共10000篇文章
优秀的个人博客,低调大师

ELK日志集中化管理系统安装

ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。 ELK Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。 ELK由三个组建构成,分别是 Elasticsearch,负责数据的索引和存储 Logstash ,负责日志的采集和格式化 Kibana,负责前端统计的展示 大致的架构如下: redis提供队列来作为broker负责log传输过程中的缓冲,也可以由kafka等来代替。 一、logstansh安装 1、JDK安装 1 2 3 4 5 yum-y install java-1.8.0 [root@ELKServer~] #java-version openjdkversion "1.8.0_101" OpenJDKRuntimeEnvironment(build1.8.0_101-b13) OpenJDK64-BitServerVM(build25.101-b13,mixedmode) 2、logstansh安装 1 2 3 4 5 wgethttps: //download .elastic.co /logstash/logstash/logstash-2 .3.4.zip unziplogstash-2.3.4.zip mv logstash-2.3.4 /usr/local/ echo "PATH=$PATH:/usr/local/logstash-2.3.4/bin" >> /etc/profile source /etc/profile 3、新建logstansh配置文件目录 1 mkdir /usr/local/logstash-2 .3.4 /conf 4、测试logstansh 1 2 3 4 5 [root@ELKServerlogstash-2.3.4] #logstash-e"input{stdin{}}output{stdout{}}" hello Settings:Defaultpipelineworkers:1 Pipelinemainstarted 2016-07-28T12:47:41.597Z0.0.0.0hello 二、redis安装 1、redis安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 wgethttp: //download .redis.io /releases/redis-2 .8.20. tar .gz yum install tcl-y tar -zxvfredis-2.8.20. tar .gz mv redis-2.8.20/ /usr/local/ [root@ELKServerlogstash-2.3.4] #cd/usr/local/redis-2.8.20/ [root@ELKServerredis-2.8.20] #makeMALLOC=libc [root@ELKServerredis-2.8.20] #makeinstall [root@ELKServerredis-2.8.20] #cdutils/ [root@ELKServerutils] #./install_server.sh#所有选项默认 Welcometotheredisserviceinstaller Thisscriptwillhelpyoueasily set uparunningredisserver Please select theredisport for thisinstance:[6379] Selectingdefault:6379 Please select theredisconfig file name[ /etc/redis/6379 .conf] Selecteddefault- /etc/redis/6379 .conf Please select theredislog file name[ /var/log/redis_6379 .log] Selecteddefault- /var/log/redis_6379 .log Please select thedatadirectory for thisinstance[ /var/lib/redis/6379 ] Selecteddefault- /var/lib/redis/6379 Please select theredisexecutablepath[ /usr/local/bin/redis-server ] Selectedconfig: Port:6379 Config file : /etc/redis/6379 .conf Log file : /var/log/redis_6379 .log Data dir : /var/lib/redis/6379 Executable: /usr/local/bin/redis-server CliExecutable: /usr/local/bin/redis-cli Isthisok?ThenpressENTERtogoonorCtrl-Ctoabort. Copied /tmp/6379 .conf=> /etc/init .d /redis_6379 Installingservice... Successfullyaddedtochkconfig! Successfullyaddedtorunlevels345! StartingRedisserver... Installationsuccessful! 2、查看redis的监控端口 1 2 3 [root@ELKServerutils] #netstat-tnlp|grepredis tcp000.0.0.0:63790.0.0.0:*LISTEN2085 /redis-server * tcp00:::6379:::*LISTEN2085 /redis-server * 3、测试redis是否缓存数据 a、新建logstansh配置文件如下: 1 2 3 4 5 6 7 8 9 10 [root@ELKServerconf] #catoutput_redis.conf input{stdin{}} #手动输入数据 output{ stdout{codec=>rubydebug} #页面debug信息 redis{ host=> '192.168.10.49' data_type=> 'list' key=> 'redis' } } b、启动logstansh 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@ELKServerconf] #logstash-foutput_redis.conf--verbose startingagent{:level=>:info} startingpipeline{: id => "main" ,:level=>:info} Settings:Defaultpipelineworkers:1 Startingpipeline{: id => "main" ,:pipeline_workers=>1,:batch_size=>125,:batch_delay=>5,:max_inflight=>125,:level=>:info} Pipelinemainstarted hello #手动输入 { "message" => "hello" , "@version" => "1" , "@timestamp" => "2016-07-28T13:09:42.651Z" , "host" => "0.0.0.0" } c、查看redis中是否存在数据。 1 cd /usr/local/redis-2 .8.20 /src/ 执行下面这条命令后再执行logstash -f output_redis.conf(最好分两个ssh会话测试)。 1 2 3 [root@ELKServersrc] #./redis-climonitor OK 1469711599.811344[0192.168.10.49:56179] "rpush" "redis" "{\"message\":\"hello\",\"@version\":\"1\",\"@timestamp\":\"2016-07-28T13:13:18.446Z\",\"host\":\"0.0.0.0\"}" 三、elasticsearch安装 1、elasticsearch安装配置 1 2 3 wgethttps: //download .elastic.co /elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2 .3.4 /elasticsearch-2 .3.4.zip unzipelasticsearch-2.3.4.zip mv elasticsearch-2.3.4 /usr/local/ 修改elasticsearch配置文件 1 vim /usr/local/elasticsearch-2 .3.4 /config/elasticsearch .yml 把下面参数的注释去掉并改成服务器IP。这里只做简单安装,优化及集群后面再介绍 1 network.host:192.168.10.49 2、elasticsearch启动 1 2 [root@ELKServerbin] #/usr/local/elasticsearch-2.3.4/bin/elasticsearch-d [root@ELKServerbin] #Exceptioninthread"main"java.lang.RuntimeException:don'trunelasticsearchasroot.' elasticsearch启动不能使用root用户。新建elk用户,并把elasticsearch目录用户所有者改成elk 1 [elk@ELKServerbin]$. /elasticsearch -d 查看elasticsearch是否启动 1 2 3 [elk@ELKServerbin]$ netstat -tnlp| grep java tcp00::ffff:192.168.10.49:9200:::*LISTEN2476 /java tcp00::ffff:192.168.10.49:9300:::*LISTEN2476 /java 3、测试logstansh和elasticsearch是否能结合使用 a、新建logstansh配置文件elasticsearch.conf 1 2 3 4 5 6 7 [root@ELKServerbin] #cd/usr/local/logstash-2.3.4/conf [root@ELKServerconf] #catelasticsearch.conf input{stdin{}} #手动输入 output{ elasticsearch{hosts=> "192.168.10.49" } stdout{codec=>rubydebug} #页面debug信息 } b、启动elasticsearch.conf配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@ELKServerconf] #logstash-felasticsearch.conf--verbose startingagent{:level=>:info} startingpipeline{: id => "main" ,:level=>:info} Settings:Defaultpipelineworkers:1 Usingmappingtemplatefrom{:path=>nil,:level=>:info} Attemptingto install template{:manage_template=>{ "template" => "logstash-*" , "settings" =>{ "index.refresh_interval" => "5s" }, "mappings" =>{ "_default_" =>{ "_all" =>{ "enabled" => true , "omit_norms" => true }, "dynamic_templates" =>[{ "message_field" =>{ "match" => "message" , "match_mapping_type" => "string" , "mapping" =>{ "type" => "string" , "index" => "analyzed" , "omit_norms" => true , "fielddata" =>{ "format" => "disabled" }}}},{ "string_fields" =>{ "match" => "*" , "match_mapping_type" => "string" , "mapping" =>{ "type" => "string" , "index" => "analyzed" , "omit_norms" => true , "fielddata" =>{ "format" => "disabled" }, "fields" =>{ "raw" =>{ "type" => "string" , "index" => "not_analyzed" , "ignore_above" =>256}}}}}], "properties" =>{ "@timestamp" =>{ "type" => "date" }, "@version" =>{ "type" => "string" , "index" => "not_analyzed" }, "geoip" =>{ "dynamic" => true , "properties" =>{ "ip" =>{ "type" => "ip" }, "location" =>{ "type" => "geo_point" }, "latitude" =>{ "type" => "float" }, "longitude" =>{ "type" => "float" }}}}}}},:level=>:info} NewElasticsearchoutput{:class=> "LogStash::Outputs::ElasticSearch" ,:hosts=>[ "192.168.10.49" ],:level=>:info} Startingpipeline{: id => "main" ,:pipeline_workers=>1,:batch_size=>125,:batch_delay=>5,:max_inflight=>125,:level=>:info} Pipelinemainstarted helloelasticsearch #这行是手动输入的 { "message" => "helloelasticsearch" , "@version" => "1" , "@timestamp" => "2016-07-28T14:20:09.460Z" , "host" => "0.0.0.0" } c、查看elasticsearch是否获取到了"hello elasticsearch" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [root@ELKServerconf] #curlhttp://localhost:9200/_search?pretty { "took" :45, "timed_out" : false , "_shards" :{ "total" :5, "successful" :5, "failed" :0 }, "hits" :{ "total" :1, "max_score" :1.0, "hits" :[{ "_index" : "logstash-2016.07.28" , "_type" : "logs" , "_id" : "AVYx4H2BdePMZ0WyBMGl" , "_score" :1.0, "_source" :{ "message" : "helloelasticsearch" , "@version" : "1" , "@timestamp" : "2016-07-28T14:20:09.460Z" , "host" : "0.0.0.0" } }] } } 4、安装elasticsearch插件 elasticsearch有很多插件:http://www.searchtech.pro/elasticsearch-plugins elasticsearch-head插件安装 1 2 3 4 5 6 7 [root@ELKServerlang-expression] #cd/usr/local/elasticsearch-2.3.4/bin/ [root@ELKServerbin] #./plugininstallmobz/elasticsearch-head ->Installingmobz /elasticsearch-head ... Tryinghttps: //github .com /mobz/elasticsearch-head/archive/master .zip... Downloading.................DONE Verifyinghttps: //github .com /mobz/elasticsearch-head/archive/master .zipchecksums if available... Installed head into /usr/local/elasticsearch-2 .3.4 /plugins/head 查看elasticsearch-head插件显示的页面 http://192.168.10.49:9200/_plugin/head/ 四、kibana安装 1、安装kibana 1 2 3 4 [root@ELKServer~] #tar-zxvfkibana-4.5.2-linux-x64.tar.gz [root@ELKServer~] #mvkibana-4.5.2-linux-x64/usr/local/ [root@ELKServer~] #cd/usr/local/kibana-4.5.2-linux-x64/config/ [root@ELKServerconfig] #vimkibana.yml 修改kibana配置文件,把下面这行改成elasticsearc的访问路径 1 elasticsearch.url: "http://192.168.10.49:9200" 2、启动kibana 1 2 3 4 5 6 7 8 9 10 11 12 [root@ELKServerbin] #/usr/local/kibana-4.5.2-linux-x64/bin/kibana& log[23:10:23.215][info][status][plugin:kibana]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.288][info][status][plugin:elasticsearch]Statuschangedfromuninitializedtoyellow-Waiting for Elasticsearch log[23:10:23.344][info][status][plugin:kbn_vislib_vis_types]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.377][info][status][plugin:markdown_vis]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.415][info][status][plugin:metric_vis]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.445][info][status][plugin:spyModes]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.464][info][status][plugin:statusPage]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.485][info][status][plugin:table_vis]Statuschangedfromuninitializedtogreen-Ready log[23:10:23.510][info][listening]Serverrunningathttp: //0 .0.0.0:5601 log[23:10:28.470][info][status][plugin:elasticsearch]Statuschangedfromyellowtoyellow-NoexistingKibanaindexfound log[23:10:31.442][info][status][plugin:elasticsearch]Statuschangedfromyellowtogreen-Kibanaindexready 3、测试kibana 访问页面:http://192.168.10.49:5601/ 五、ELK实例测试 1、简单介绍下ELK的数据传输过程 a、logstansh客户端根据日志存放路径采集日志(input),然后转给redis服务器缓存(output) b、logstansh服务端将消息从redie服务器拿出来(input),然后用filter对日志分割处理 c、logstansh服务端最后将处理好的日志转给ealsticsearch(output)存储 d、kibana通过ealsticsearch接口获取存储的数据并页面展示出来 在测试中我们没有对日志做filter处理 2、新建logstansh配置文件 logstash_redis.conf logstansh客户端配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 input{ file{ path=> "/var/log/messages" start_position=>beginning sincedb_write_interval=> 0 add_field=>{ "Host" => "192.168.10.47" } type=> "SYSLOG_LOG" } } output{ redis{ host=> "192.168.10.47:6379" data_type=> "list" key=> "logstash:syslog_log" } } redis_elasticserach.conf logstansh服务端配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 input{ redis{ host=> '192.168.10.47' data_type=> 'list' port=> "6379" key=> 'logstash:syslog_log' type=> 'redis-input' } } output{ elasticsearch{ hosts=> "192.168.10.47" index=> "logstash-%{+YYYY.MM.dd}" } } 2、启动ELK各项服务 1 2 3 4 5 logstash-flogstash_redis.conf& logstash-fredis_elasticsearch.conf& /etc/init .d /redis_6379 start /usr/local/elasticsearch-2 .3.4 /bin/elasticsearch -d(elk用户启动) /usr/local/kibana-4 .5.2-linux-x64 /bin/kibana & 3、检查日志传输是否正常 a、查看elasticsearch数据信息 http://192.168.10.49:9200/_plugin/head/ b、查看kibana是否有数据显示 http://192.168.10.49:5601/ 注意:因为上面从message获取的日志是日志文件首行开始获取,时间可能是几天前的。 在kibana查看数据是注意选择时间范围 本文转自 irow10 51CTO博客,原文链接:http://blog.51cto.com/irow10/1832053,如需转载请自行联系原作者

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

调用系统默认浏览器访问网址

一、启动android默认浏览器 Intent intent= new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.cnblogs.com"); intent.setData(content_url); startActivity(intent); 这样子,android就可以调用起手机默认的浏览器访问。 二、指定相应的浏览器访问 1、指定android自带的浏览器访问 ( “com.android.browser”:packagename ;“com.android.browser.BrowserActivity”:启动主activity) Intent intent= new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.cnblogs.com"); intent.setData(content_url); intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); startActivity(intent); 2、启动其他浏览器(当然该浏览器必须安装在机器上) 只要修改以下相应的packagename 和 主启动activity即可调用其他浏览器 intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“ opera :"com.opera.mini.android", "com.opera.mini.android.Browser" qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity" 三、打开本地html文件 打开本地的html文件的时候,一定要指定某个浏览器,而不能采用方式一来浏览,具体示例代码如下 Intent intent= new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/help.html"); intent.setData(content_url); intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); startActivity(intent); 关键点是调用了”content“这个filter。 以前有在win32编程的朋友,可能会觉得用这种形式”file://sccard/help.html“是否可以,可以很肯定的跟你说,默认的浏览器设置是没有对”file“这个进行解析的,如果要让你的默认android浏览器有这个功能需要自己到android源码修改manifest.xml文件,然后自己编译浏览器代码生成相应的apk包来重新在机器上安装。 大体的步骤如下: 1、打开 packages/apps/Browser/AndroidManifest.xml文件把加到相应的<intent-filter>后面就可以了 <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="file" /> </intent-filter> 2、重新编译打包,安装,这样子,新的浏览器就支持”file“这个形式了 有兴趣的可以去试试。 本文转自java豆子博客园博客,原文链接:http://www.cnblogs.com/error404/archive/2011/11/16/2251065.html,如需转载请自行联系原作者

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

Windows系统Ionic安装教程/Ionic环境配置

其实大体主要分两步:安装cordova和安装ionic 安装cordova 一,首先安装Ant(cordova工具生成android项目时,需要的编辑工具) 1,安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant1.8.1)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包。将其解压到你的硬盘上,例如:C:\apache-ant-1.8.1。 2,配置环境变量 path C:/ apache-ant-1.8.1/bin classpath C:/apache-ant-1.8.1/lib 3,验证ant 为了验证ant是否成功安装,可以进行如下操作: 依次选择:开始->运行->cmd,输入如下命令:ant 如果出现如下内容,说明安装成功: Buildfile: build.xml does not exist! Build failed 二,安装android sdk(网上方法一大把) 别忘了配环境变量(把%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools加到Path环境变量中,不然会报"Error: An error occurred while listing Android targets"错) 三,安装Node.js (这里主要是要用它的npm命令装东西) 进入官网(http://www.nodejs.org/),下载安装包安装 四,安装phonegap和cordova(终于到主角了) npm install -g phonegap npm install -g cordova 安装完毕后可以创建一个cordova项目运行了 cordova create myapp com.org.myapp "HelloWorld" cd myapp cordova platform add android //添加android运行平台 cordova build android //编译apk cordova run android //运行到真机 安装ionic(其实就一句话,不知是屏蔽还是网速原因,我就一直装不上,一个礼拜左右每天都会装就是装不上,所以有了以下的办法) npm install -g ionic (这句能成功安装就不用看下边的方法了) 我的方法 1,配置环境变量node的npm命令 Path:C:\DocumentsandSettings\Administrator\ApplicationData\npm 2,补齐npm文件夹下有关于ionic的文件 http://download.csdn.net/detail/superjunjin/8417723 3,补齐ionic项目下node_modules等文件 http://download.csdn.net/detail/superjunjin/8417731 (具体文件见最后的压缩包) ionic start myApp sidemenu //创建带有左侧带有menu栏的示例项目 ionic start myApp blank //创建空白项目 ionic serve //浏览器运行(调试很方便) 本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4834410.html,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

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部分的功能。

用户登录
用户注册