首页 文章 精选 留言 我的

精选列表

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

【实例】Spark本地开发环境搭建

本文使用Scala2.10.6,sbt。请自行提前装好。 设置SSH,本地免密码登录 因为Spark master需要ssh到Spark worker中执行命令,所以,需要免密码登录。 cat~/.ssh/id_rsa.pub>~/.ssh/authorized_keys 执行ssh localhost确认一下,如果不需要密码登录就说明OK了。 Tips: Mac下可能ssh不到本地,请检查你sharing设置: 下载Spark http://spark.apache.org/downloads.html 我选择的是spark-1.6.0-bin-cdh4.tgz 。看到cdh4(Hadoop的一个分发版本),别以为它是要你装Hadoop。其实不然,要看你自己的开发需求。因为我不需要,所以,我只装Spark。 配置你的Spark slave 我很好奇,worker和slave这个名称有什么不同?还是因为历史原因,导致本质上一个东西但是两种叫法? 在你的Spark HOME路径下 cp./conf/slaves.template./conf/slaves slaves文件中有一行localhost代表在本地启动一个Spark worker。 启动Spark伪分布式 /sbin/start-all.sh 执行JPS验证Spark启动成功 jps 83141Worker 83178Jps 83020Master 打开你的Spark界面 http://localhost:8080 下载Spark项目骨架 为方便我自己开发,我自己创建了一个Spark应用开发的项目骨架。 下载项目骨架: http://git.oschina.net/zacker330/spark-skeleton 项目路径中执行:sbt package编译打包你的spark应用程序。 将你的spark应用程序提交给spark master执行 <SPARK_HOME>/bin/spark-submit\ --class"SimpleApp"\ --masterspark://Jacks-MBP.workgroup:7077\ target/scala-2.10/spark-skeleton_2.10-1.0.jar 这个“spark://Jacks-MBP.workgroup:7077”是你在 http://localhost:8080 中看到的URL的值 可以看到打印出: hello world 本文作者:翟志军 来源:51CTO

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

Teradata扩展数据湖搭建能力

全球领先的大数据分析服务供应商Teradata天睿公司(Teradata Corporation,纽交所:TDC)宣布旗下Think Big公司运用Apache Spark 扩展数据湖与管理服务业务。Think Big公司是Teradata天睿公司旗下全球化咨询公司,拥有领先的Apache Spark及其它大数据技术部署能力。Spark是一套开源集群计算平台,可用于产品推荐、预测分析、传感器数据分析、图形分析等多个领域。 目前,客户可在搭载“通用硬件”的一般Hadoop环境中部署云端Apache Spark使用数据湖。客户还可在Teradata Hadoop专用平台上使用。该平台是功能最强大的就绪式企业级平台,专为运行企业级大数据工作负载进行预置和优化。 随着Spark受到越来越多的关注,许多企业正在尽力跟上这一开源平台快节奏的变化和发布频率。Think Big公司已经成功将Spark融入创建企业级品质数据湖和分析应用的开发框架。 数据仓库研究院(TDWI)数据管理研究负责人Philip Russom博士表示:“许多企业正在尝试部署Apache Spark,通常会结合数据湖使用,希望能发挥其在流数据、查询和分析上的优势。但用户很快意识到,Spark并不容易使用,而且数据湖所需规划与设计超出用户想象。在这种情况下,用户需要求助于外部顾问和管理服务提供商,他们需要具备为各种不同类型的客户顺利部署Apache Spark和数据湖的可靠经验。Think Big公司正拥有这样的经验。” Think Big公司正在为部署Spark开发可复制的服务包,包括在提供数据湖和管理服务时,将Spark增加为执行引擎。Think Big还将通过旗下培训分支机构Think Big大数据学院(Think Big Academy)为企业客户提供一系列全新Spark培训课程。这些培训课程由经验丰富的讲师讲解,面向经理、开发人员和管理员培训如何使用Spark及机器学习、图形、流、查询等各种Spark模块。 Think Big数据科学团队还将开源Spark Python应用程序接口(API)的分布式K-Modes集群源程序。这些程序将为客户细分和客户流失分析提升分类数据集群性能。用户可访问Think Big公司的GitHub页面,获取该程序代码及Think Big其它开源项目。 Think Big公司总裁Ron Bodkin表示:“Think Big咨询业务正从美洲地区迅速拓展至欧洲和中国,因为首次接触数据湖时,企业对正确使用Spark和Hadoop所需专业技术、经验和方法的需求正在爆炸性增长。部署Spark应成为企业信息与分析战略中的重要组成部分。我们依据经验提供相关的使用案例,提出适当的问题,并提防部署中应注意的雷区。我们了解商业用户的期望和技术需求。我们能帮助客户创造真实的商业价值,而我们的Spark客户已在全渠道消费个性化、高科技制造业实时故障检测等领域付诸实践。” 早在大数据热潮兴起之前,Think Big就已成为全球首家专注大数据服务的领导企业,致力于运用新兴技术实施分析解决方案。现在,Think Big依托完善的流程、健全的工具和经验丰富的大数据技术专家,在平台和应用支持方面为Hadoop提供管理服务,以经济的方式管理、监控并维护Hadoop平台。Think Big公司通过完善测试的转换流程,进行每一次部署安排,通过评估并提升客户的生产支持、开发和维持团队,使部署卓有成效。 本文转自d1net(转载)

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

docker私有库搭建过程(Registry)

Registry实验环境:CentOS7Docker 1、安装并运行registry安装:[root@docker01 ~]# docker pull registryUsing default tag: latestTrying to pull repository docker.io/library/registry ... latest: Pulling from docker.io/library/registry79650cf9cc01: Pull complete 70ce42745103: Pull complete 77edd1a7fa4d: Pull complete 432773976ace: Pull complete 3234a47fe5a9: Pull complete Digest: sha256:a3551c422521617e86927c3ff57e05edf086f1648f4d8524633216ca363d06c2[root@docker01 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/busybox latest c30178c5239f 6 days ago 1.106 MBdocker.io/registry latest 9d0c4eabab4d 6 weeks ago 33.17 MB[root@docker01 ~]# 运行:[root@docker01 ~]# docker run -d -p 5000:5000 -v /mnt/date/registry:/var/lib/registry registry75841a99e1fc882617bc37d088a8c80abae225cfe2842110f2049600df560a47[root@docker01 ~]# -d后台运行-p指定端口-v把registry的镜像路径/var/lib/registry映射到本机的/mnt/date/registry 检查5000端口netstat -an | grep 5000[root@docker01 ~]# netstat -an | grep 5000tcp6 0 0 :::5000 :::* LISTEN [root@docker01 ~]# telnet 127.0.0.1 5000成功。[root@docker01 ~]# telnet 127.0.0.1 5000Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.qHTTP/1.1 400 Bad RequestContent-Type: text/plainConnection: close 400 Bad RequestConnection closed by foreign host.[root@docker01 ~]# 2、添加tag标记[root@registry ~]# docker tag busybox 10.100.50.120:5000/busybox[root@registry ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE10.100.50.122:5000/busybox latest c30178c5239f 6 days ago 1.106 MBdocker.io/busybox latest c30178c5239f 6 days ago 1.106 MBdocker.io/registry latest 9d0c4eabab4d 6 weeks ago 33.17 MB[root@registry ~]# 3、上传镜像报错[root@registry xinetd.d]# docker push 10.100.50.120:5000/busyboxThe push refers to a repository [10.100.50.122:5000/busybox]Get https://10.100.50.120:5000/v1/_ping: http: server gave HTTP response to HTTPS client[root@registry xinetd.d]# 解决方案:修改/etc/sysconfig/docker文件,并重新启动docker服务。ADD_REGISTRY='--add-registry 10.100.50.120:5000'INSECURE_REGISTRY='--insecure-registry 10.100.50.120:5000' 4、上传镜像[root@registry ~]# docker push 10.100.50.120:5000/busyboxThe push refers to a repository [10.100.50.120:5000/busybox]3a1dff9afffd: Pushed latest: digest: sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642 size: 527[root@registry ~]# 其他坑:坑1:IPV4 forwording报错,但是容器运行正常。[root@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registryWARNING: IPv4 forwarding is disabled. Networking will not work.970e18480c47661fd2cffab9f7e0410989e62ed9d229333cb32e5727a2e88b3b[root@registry mnt]# 解决方案:在/etc/sysctl.conf文件中加入net.ipv4.ip_forward=1并重启网络服务。 修改后正常:[root@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registryabbec57e5dca734689cfd953f27564156ec24e32ae6e532043309f0332653650[root@registry mnt]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESabbec57e5dca registry "/entrypoint.sh /etc/" 31 seconds ago Up 30 seconds 0.0.0.0:5000->5000/tcp compassionate_mclean[root@registry mnt]# 坑2:查看镜像存放位置显示404 page not found网上很多教程都是下面这个命令[root@docker01 ~]# curl http://10.100.50.122:5000/v2/search404 page not found通过docker search registry发现安装的是2.0版本。 V2的命令格式如下:[root@docker01 ~]# curl -X GET http://10.100.50.122:5000/v2/_catalog{"repositories":["busybox","centos"]}[root@docker01 ~]# 文档:http://www.jianshu.com/p/fc36368b5c44

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

ELK日志分析系统的搭建

一、环境准备 1.安装java环境: yuminstalljava-1.8.0-openjdk*-y 2.添加elk执行用户: groupadd-g77elk useradd-u77-gelk-d/home/elk-s/bin/bashelk 3.在/etc/security/limits.conf追加以下内容: elksoftmemlockunlimited elkhardmemlockunlimited *softnofile65536 *hardnofile131072 4.执行生效 sysctl-p 5.配置主机名 hostnamectlset-hostnamemonitor-elk echo"10.135.3.135monitor-elk">>/etc/hosts 二、服务部署 1.服务端: 1)下载ELK相关的源码包: wget"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz" wget"https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz" wget"https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz" wget"http://mirror.bit.edu.cn/apache/kafka/0.10.2.0/kafka_2.12-0.10.2.0.tgz" wget"http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz" 2)创建elk目录,并将以上源码包解压至该目录: mkdir/usr/local/elk mkdir-p/data/elasticsearch/ chown-Relk.elk/data/elasticsearch/ mkdir-p/data/{kafka,zookeeper} mvlogstash-5.2.2logstash&&mvkibana-5.2.2-linux-x86_64kibana&&mvelasticsearch-5.2.2elasticsearch&&mvfilebeat-5.2.2-linux-x86_64filebeat&&mvkafka_2.12-0.10.2.0kafka&&mvzookeeper-3.4.9zookeeper chown-Relk.elk/usr/local/elk/ 程序目录列表如下: 3)修改以下程序的相应配置文件 ①kibana: [root@monitor-elk~]#cat/usr/local/elk/kibana/config/kibana.yml|grep-v"^#\|^$" server.host:"localhost" elasticsearch.url:"http://localhost:9200" elasticsearch.requestTimeout:30000 logging.dest:/data/elk/logs/kibana.log [root@monitor-elk~]# ②elasticsearch: [root@monitor-elk~]#cat/usr/local/elk/elasticsearch/config/elasticsearch.yml|grep-v"^#\|^$" node.name:node01 path.data:/data/elasticsearch/data path.logs:/data/elk/logs/elasticsearch bootstrap.memory_lock:true network.host:127.0.0.1 http.port:9200 [root@monitor-elk~]#/usr/local/elk/elasticsearch/config/jvm.options #修改以下参数 -Xms1g -Xmx1g ③logstash: [root@monitor-elk~]#cat/usr/local/elk/logstash/config/logs.yml input{ #使用kafka的数据作为日志数据源 kafka { bootstrap_servers=>["127.0.0.1:9092"] topics=>"beats" codec=>json } } filter{ #过滤数据,如果日志数据里面包含有该IP地址,将会被丢弃 if[message]=~"123.151.4.10"{ drop{} } #转码,转成正常的url编码,如中文 #urldecode{ #all_fields=>true #} #nginxaccess #通过type来判断传入的日志类型 if[type]=="hongbao-nginx-access"or[type]=="pano-nginx-access"or[type]=="logstash-nginx-access"{ grok{ #指定自定义的grok表达式路径 patterns_dir=>"./patterns" #指定自定义的正则表达式名称解析日志内容,拆分成各个字段 match=>{"message"=>"%{NGINXACCESS}"} #解析完毕后,移除默认的message字段 remove_field=>["message"] } #使用geoip库解析IP地址 geoip{ #指定解析后的字段作为数据源 source=>"clientip" fields=>["country_name","ip","region_name"] } date{ #匹配日志内容里面的时间,如05/Jun/2017:03:54:01+0800 match=>["timestamp","dd/MMM/yyyy:HH:mm:ssZ"] #将匹配到的时间赋值给@timestamp字段 target=>"@timestamp" remove_field=>["timestamp"] } } #tomcataccess if[type]=="hongbao-tomcat-access"or[type]=="ljq-tomcat-access"{ grok{ patterns_dir=>"./patterns" match=>{"message"=>"%{TOMCATACCESS}"} remove_field=>["message"] } geoip{ source=>"clientip" fields=>["country_name","ip","region_name"] } date{ match=>["timestamp","dd/MMM/yyyy:HH:mm:ssZ"] target=>"@timestamp" remove_field=>["timestamp"] } } #tomcatcatalina if[type]=="hongbao-tomcat-catalina"{ grok{ match=>{ "message"=>"^(?<log_time>\d{4}-\d{2}-\d{2}\d{2}:\d{2}:\d{2},\d{3})(?<level>\w*)(?<log_data>.+)" } remove_field=>["message"] } date{ match=>["log_time","yyyy-MM-ddHH:mm:ss,SSS"] target=>"@timestamp" remove_field=>["log_time"] } } } output{ #将解析失败的记录写入到指定的文件中 if"_grokparsefailure"in[tags]{ file{ path=>"/data/elk/logs/grokparsefailure-%{[type]}-%{+YYYY.MM}.log" } } #nginxaccess #根据type日志类型分别输出到elasticsearch不同的索引 if[type]=="hongbao-nginx-access"{ #将处理后的结果输出到elasticsearch elasticsearch{ hosts=>["127.0.0.1:9200"] #指定输出到当天的索引 index=>"hongbao-nginx-access-%{+YYYY.MM.dd}" } } if[type]=="pano-nginx-access"{ elasticsearch{ hosts=>["127.0.0.1:9200"] index=>"pano-nginx-access-%{+YYYY.MM.dd}" } } if[type]=="logstash-nginx-access"{ elasticsearch{ hosts=>["127.0.0.1:9200"] index=>"logstash-nginx-access-%{+YYYY.MM.dd}" } } #tomcataccess if[type]=="hongbao-tomcat-access"{ elasticsearch{ hosts=>["127.0.0.1:9200"] index=>"hongbao-tomcat-access-%{+YYYY.MM.dd}" } } if[type]=="ljq-tomcat-access"{ elasticsearch{ hosts=>["127.0.0.1:9200"] index=>"ljq-tomcat-access-%{+YYYY.MM.dd}" } } #tomcatcatalina if[type]=="hongbao-tomcat-catalina"{ elasticsearch{ hosts=>["127.0.0.1:9200"] index=>"hongbao-tomcat-catalina-%{+YYYY.MM.dd}" } } } [root@monitor-elk~]# 配置正则表达式 [root@monitor-elk~]#cp/usr/local/elk/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-4.0.2/patterns/grok-patterns/usr/local/elk/logstash/config/patterns [root@monitor-elk~]#tail-5/usr/local/elk/logstash/config/patterns #Nginx NGINXACCESS%{COMBINEDAPACHELOG}%{QS:x_forwarded_for} #Tomcat TOMCATACCESS%{COMMONAPACHELOG} [root@monitor-elk~]#chownelk.elk/usr/local/elk/logstash/config/patterns 4)配置zookeeper: cp/usr/local/elk/zookeeper/conf/zoo_sample.cfg/usr/local/elk/zookeeper/conf/zoo.cfg 修改配置文件中的数据存储路径 vim/usr/local/elk/zookeeper/conf/zoo.cfg dataDir=/data/zookeeper 备份并修改脚本/usr/local/elk/zookeeper/bin/zkEnv.sh 修改以下变量的参数 ZOO_LOG_DIR="/data/zookeeper-logs" ZOO_LOG4J_PROP="INFO,ROLLINGFILE" 备份并修改日志配置/usr/local/elk/zookeeper/conf/log4j.properties 修改以下变量的参数 zookeeper.root.logger=INFO,ROLLINGFILE log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender#每天轮转日志 启动zookeeper: /usr/local/elk/zookeeper/bin/zkServer.shstart 5)配置kafka: 修改配置文件/usr/local/elk/kafka/config/server.properties的以下参数 log.dirs=/data/kafka zookeeper.connect=localhost:2181 备份并修改脚本/usr/local/elk/kafka/bin/kafka-run-class.sh 在“base_dir=$(dirname$0)/..”的下一行追加LOG_DIR变量,并指定日志输出路径 LOG_DIR=/data/kafka-logs 创建日志存储目录: mkdir-p/data/kafka-logs mkdir-p/data/elk/logs chown-Relk.elk/data/elk/logs 启动kafka: nohup/usr/local/elk/kafka/bin/kafka-server-start.sh/usr/local/elk/kafka/config/server.properties&>>/data/elk/logs/kafka.log& 需要注意的是主机名一定要有配置在/etc/hosts文件中,否则kafka会无法启动 [root@monitor-elk~]#cat/etc/hosts 127.0.0.1localhostlocalhost.localdomain ::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6 10.135.3.135monitor-elk 6)配置supervisor ①安装supervisor: yuminstallsupervisor-y 设置服务开机自启动(server程序也会一起启动): systemctlenablesupervisord.service ②修改配置 a.创建日志存储路径: mkdir-p/data/supervisor chown-Relk.elk/data/supervisor/ b.修改主配置文件/etc/supervisord.conf logfile=/data/supervisor/supervisord.log c.创建elk程序对应的supervisor配置文件,并添加以下配置内容: [root@monitor-elk~]#cat/etc/supervisord.d/elk.ini [program:elasticsearch] directory=/usr/local/elk/elasticsearch command=su-c"/usr/local/elk/elasticsearch/bin/elasticsearch"elk autostart=true startsecs=5 autorestart=true startretries=3 priority=10 [program:logstash] directory=/usr/local/elk/logstash command=/usr/local/elk/logstash/bin/logstash-f/usr/local/elk/logstash/config/logs.yml user=elk autostart=true startsecs=5 autorestart=true startretries=3 redirect_stderr=true stdout_logfile=/data/elk/logs/logstash.log stdout_logfile_maxbytes=1024MB stdout_logfile_backups=10 priority=11 [program:kibana] directory=/usr/local/elk/kibana command=/usr/local/elk/kibana/bin/kibana user=elk autostart=true startsecs=5 autorestart=true startretries=3 priority=12 [root@monitor-elk~]# ③启动supervisor: systemctlstartsupervisord 查看程序进程和日志: psaux|grep-vgrep|grep"elasticsearch\|logstash\|kibana" tip: 重启配置的单个程序,如: supervisorctlrestartlogstash 重启配置的所有程序: supervisorctlrestartall 重载配置(只重启配置变动的对应程序,其他配置未变动的程序不重启): supervisorctlupdate 7)配置nginx ①安装nginx yuminstallnginx-y ②配置nginx代理: [root@monitor-elk~]#cat/etc/nginx/conf.d/kibana.conf upstreamkibana{ server127.0.0.1:5601max_fails=3fail_timeout=30s; } server{ listen8080; server_namelocalhost; location/{ proxy_passhttp://kibana/; indexindex.htmlindex.htm; #auth auth_basic"kibanaPrivate"; auth_basic_user_file/etc/nginx/.htpasswd; } } [root@monitor-elk~]#greplisten/etc/nginx/nginx.conf listen8000default_server; listen[::]:8000default_server; [root@monitor-elk~]# ③创建nginx认证: [root@monitor-elk~]#yuminstallhttpd-y [root@monitor-elk~]#htpasswd-cm/etc/nginx/.htpasswdelk Newpassword: Re-typenewpassword: Addingpasswordforuserelk [root@monitor-elk~]#systemctlstartnginx [root@monitor-elk~]#systemctlenablenginx 8)配置ik中文分词: ①安装maven: wget"http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" tar-zxfapache-maven-3.3.9-bin.tar.gz mvapache-maven-3.3.9/usr/local/maven echo"exportMAVEN_HOME=/usr/local/maven">>/etc/bashrc echo"exportPATH=$PATH:$MAVEN_HOME/bin">>/etc/bashrc ./etc/bashrc ②编译安装ik(注意下载对应版本): wget"https://github.com/medcl/elasticsearch-analysis-ik/archive/v5.2.2.zip" unzipv5.2.2.zip cdelasticsearch-analysis-ik-5.2.2/ mvnpackage mkdir/usr/local/elk/elasticsearch/plugins/ik cptarget/releases/elasticsearch-analysis-ik-5.2.2.zip/usr/local/elk/elasticsearch/plugins/ik/ cd/usr/local/elk/elasticsearch/plugins/ik/ unzipelasticsearch-analysis-ik-5.2.2.zip rm-felasticsearch-analysis-ik-5.2.2.zip chown-Relk.elk../ik supervisorctlrestartelasticsearch ③创建索引模板: 要使用ik分词,需要在创建指定的索引前(不管是通过命令手动还是logstash配置来创建)先创建索引模板,否则使用默认的模板即可: cd/usr/local/elk/logstash 创建并编辑文件logstash.json,添加以下内容: { "order":1, "template":"tomcatcat-*", "settings":{ "index":{ "refresh_interval":"5s" } }, "mappings":{ "_default_":{ "dynamic_templates":[ { "string_fields":{ "mapping":{ "norms":false, "type":"text", "analyzer":"ik_max_word", "search_analyzer":"ik_max_word" }, "match_mapping_type":"text", "match":"*" } } ], "_all":{ "norms":false, "enabled":true }, "properties":{ "@timestamp":{ "include_in_all":false, "type":"date" }, "log_data":{ "include_in_all":true, "type":"text", "analyzer":"ik_max_word", "search_analyzer":"ik_max_word", "boost":8 }, "@version":{ "include_in_all":false, "type":"keyword" } } } }, "aliases":{} }' 添加完毕后,执行curl命令创建索引模板 curl-XPUT'http://localhost:9200/_template/tomcatcat'-d@logstash.json 执行成功后会返回结果{"acknowledged":true} ④热更新配置: 有些词语ik无法识别分词,如公司名称、服务名称之类 curl-XGET'http://localhost:9200/_analyze?pretty&analyzer=ik_smart'-d' 腾讯云' 这时需要自己自定义词库,ik支持分词热更新的方式(不需要重启elasticsearch),每分钟自动检测一次 在nginx根路径下创建一个utf8格式的文本文件ik.txt,将自己需要分词的词语写入ik.txt,一行一词: 然后修改/usr/local/elk/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml <!--用户可以在这里配置远程扩展字典--> <entrykey="remote_ext_dict">http://127.0.0.1:8000/ik.txt</entry> 配置完毕重启elasticsearch,再次获取分词结果: 2.客户端: 1)下载filebeat: wget"https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.2.2-linux-x86_64.tar.gz" 解压filebeat-5.2.2-linux-x86_64.tar.gz至/usr/local/elk/目录,并重命名为filebeat mkdir/usr/local/elk/ mkdir-p/data/elk/logs/ echo"10.135.3.135elk">>/etc/hosts 2)配置filebeat: [root@test2filebeat]#catlogs.yml filebeat.prospectors: - #指定需要监控的日志文件路径,可以使用*匹配 paths: -/data/nginx/log/*_access.log #指定文件的输入类型为log(默认) input_type:log #设定日志类型 document_type:pano-nginx-access #从文件的末尾开始监控文件新增的内容,并按行依次发送 tail_files:true #将日志内容输出到kafka output.kafka: hosts:["10.135.3.135:9092"] topic:beats compression:Snappy [root@test2filebeat]# [root@test3filebeat]#catlogs.yml filebeat.prospectors: - paths: -/usr/local/tomcat/logs/*access_log.*.txt input_type:log document_type:hongbao-tomcat-access tail_files:true - paths: -/usr/local/tomcat/logs/catalina.out input_type:log document_type:hongbao-tomcat-catalina #多行匹配模式,后接正则表达式,这里表示匹配时间,如2017-06-0510:00:00,713 multiline.pattern:'^\d{4}-\d{2}-\d{2}\d{2}:\d{2}:\d{2},\d{3}' #将未匹配到的行合并到上一行,如java的错误日志 multiline.negate:true #将未匹配到的行添加到上一行的末尾 multiline.match:after tail_files:true output.kafka: hosts:["10.135.3.135:9092"] topic:beats compression:Snappy [root@test3filebeat]# 3)启动filebeat nohup/usr/local/elk/filebeat/filebeat-e-c/usr/local/elk/filebeat/logs.yml-d"publish"&>>/data/elk/logs/filebeat.log& 三、kibanaweb端配置 1.浏览器访问kibana地址,并输入前面nginx设置的账号密码: http://10.135.3.135:8080 在访问Kibana时,默认情况下将加载Discover(发现)页面,并选择默认的索引模式(logstash-*)。timefilter(时间过滤器)默认设置为last15minutes(最近15分钟),搜索查询默认设置为match-all(*)。 服务器资源状态页: http://10.135.3.135:8080/status 2.建立索引模式 注意,索引模式的名称要和logstash的output生成的索引(也就是说必须存在于Elasticsearch中,而且必须包含有数据)进行匹配,如logstash-*可与logstash-20170330匹配,还可以匹配多个索引(所有以logstash-开头的索引)。 *匹配索引名称中的零个或多个字符 3.索引建立完毕后,点击Discover中的索引模式,即可看到Elasticsearch的日志数据 4.创建可视化图表 绘制可视化图表,将拆分出来的nginx或tomcat访问日志中的字段response状态码进行聚合显示,以图表的形式直观显示各状态码(如200、400等)的统计情况 1)点击 Visualize 中 Vertical Bar Charts(垂直条形图) 2)选择其中一个索引模式,如 pano-* 3)通过字段 response.keyword 指定terms(词条)聚合,按从大到小的顺序来显示前五列状态码的总数数据,然后点击 Apply changes 图标生效。 图表中,X轴显示的是状态码,Y轴显示的是对应的状态码总数。 4)最后点击右上角的 Save 保存,同时输入一个可视化的名称。 5.创建仪表盘 可以将相同业务或类型的可视化对象,集中显示在同一个仪表盘中。 1)点击 add 添加可视化对象到仪表盘, 2)点击创建好的可视化对象,将会排列在在仪表盘的窗口中。对其可视化对象的窗口大小进行合适的调整。 3)添加和调整完毕后,点击右上角的 Save 保存,同时输入一个仪表盘的名称。 4)显示的结果 四、服务监控脚本 1.服务端 1)kafka [root@monitor-elk~]#cat/usr/local/scripts/monitor_kafka.sh #!/bin/bash # ############################################# #author:Ellen #describes:Checkkafkaprogram #version:v1.0 #updated:20170407 ############################################# # #Configurationinformation program_dir=/usr/local/elk/kafka logfile=/usr/local/scripts/log/monitor_kafka.log #Checkexecuteduser if[`whoami`!="root"];then echo"Pleaseuserootrunscript!!!" exit1 fi #Checkkafkaprogram num=`psaux|grep-w$program_dir|grep-vw"grep\|vim\|vi\|mv\|scp\|cat\|dd\|tail\|head\|script\|ls\|echo\|sys_log\|logger\|tar\|rsync\|ssh"|wc-l` if[${num}-eq0];then echo"[`date+'%F%T'`][CRITICAL]Kafkaprogramdostnotstart!!!"|tee-a$logfile #Sendalarminformation #cagent_tools是腾讯云服务器自带的报警插件,该插件可发送短信或邮箱告警,如不需要可注释 /usr/bin/cagent_toolsalarm"Kafkaprogramdostnotstart!!!" echo"[`date+'%F%T'`][INFO]Beginstartkafkaprogram..."|tee-a$logfile nohup/usr/local/elk/kafka/bin/kafka-server-start.sh/usr/local/elk/kafka/config/server.properties&>>/data/elk/logs/kafka.log& if[$?-eq0];then echo"[`date+'%F%T'`][INFO]Kafkaprogramstartsuccessful."|tee-a$logfile /usr/bin/cagent_toolsalarm"Kafkaprogramstartsuccessful" exit0 else echo"[`date+'%F%T'`][CRITICAL]Kafkaprogramstartfailed!!!"|tee-a$logfile /usr/bin/cagent_toolsalarm"Kafkaprogramstartfailed!!!Pleasehandleit!!!" exit6 fi else echo"[`date+'%F%T'`][INFO]Kafkaprogramisrunning..."|tee-a$logfile exit0 fi [root@monitor-elk~]# 2)zookeeper [root@monitor-elk~]#cat/usr/local/scripts/monitor_zookeeper.sh #!/bin/bash # ############################################# #author:Ellen #describes:Checkzookeeperprogram #version:v1.0 #updated:20170407 ############################################# # #Configurationinformation program_dir=/usr/local/elk/zookeeper logfile=/usr/local/scripts/log/monitor_zookeeper.log #Checkexecuteduser if[`whoami`!="root"];then echo"Pleaseuserootrunscript!!!" exit1 fi #Checkzookeeperprogram num=`psaux|grep-w$program_dir|grep-vw"grep\|vim\|vi\|mv\|scp\|cat\|dd\|tail\|head\|ls\|echo\|sys_log\|tar\|rsync\|ssh"|wc-l` if[${num}-eq0];then echo"[`date+'%F%T'`][CRITICAL]Zookeeperprogramdostnotstart!!!"|tee-a$logfile #Sendalarminformation /usr/bin/cagent_toolsalarm"Zookeeperprogramdostnotstart!!!" echo"[`date+'%F%T'`][INFO]Beginstartzookeeperprogram..."|tee-a$logfile /usr/local/elk/zookeeper/bin/zkServer.shstart if[$?-eq0];then echo"[`date+'%F%T'`][INFO]Zookeeperprogramstartsuccessful."|tee-a$logfile /usr/bin/cagent_toolsalarm"Zookeeperprogramstartsuccessful" exit0 else echo"[`date+'%F%T'`][CRITICAL]Zookeeperprogramstartfailed!!!"|tee-a$logfile /usr/bin/cagent_toolsalarm"Zookeeperprogramstartfailed!!!Pleasehandleit!!!" exit6 fi else echo"[`date+'%F%T'`][INFO]Zookeeperprogramisrunning..."|tee-a$logfile exit0 fi [root@monitor-elk~]# 3)添加crontab定时任务 0-59/5****/usr/local/scripts/monitor_kafka.sh&>/dev/null 0-59/5****/usr/local/scripts/monitor_zookeeper.sh&>/dev/null 2.客户端: [root@test2~]#cat/usr/local/scripts/monitor_filebeat.sh #!/bin/bash # ############################################# #author:Ellen #describes:Checkfilebeatprogram #version:v1.0 #updated:20170407 ############################################# # #Configurationinformation program_dir=/usr/local/elk/filebeat logfile=/usr/local/scripts/log/monitor_filebeat.log #Checkexecuteduser if[`whoami`!="root"];then echo"Pleaseuserootrunscript!!!" exit1 fi #Checkfilebeatprogram num=`psaux|grep-w$program_dir|grep-vw"grep\|vim\|vi\|mv\|cp\|scp\|cat\|dd\|tail\|head\|script\|ls\|echo\|sys_log\|logger\|tar\|rsync\|ssh"|wc-l` if[${num}-eq0];then echo"[`date+'%F%T'`][CRITICAL]Filebeatprogramdostnotstart!!!"|tee-a$logfile #Sendalarminformation /usr/bin/cagent_toolsalarm"Filebeatprogramdostnotstart!!!" echo"[`date+'%F%T'`][INFO]Beginstartfilebeatprogram..."|tee-a$logfile nohup/usr/local/elk/filebeat/filebeat-e-c/usr/local/elk/filebeat/logs.yml-d"publish"&>>/data/elk/logs/filebeat.log& if[$?-eq0];then echo"[`date+'%F%T'`][INFO]Filebeatprogramstartsuccessful."|tee-a$logfile /usr/bin/cagent_toolsalarm"Filebeatprogramstartsuccessful" exit0 else echo"[`date+'%F%T'`][CRITICAL]Filebeatprogramstartfailed!!!"|tee-a$logfile /usr/bin/cagent_toolsalarm"Filebeatprogramstartfailed!!!Pleasehandleit!!!" exit6 fi else echo"[`date+'%F%T'`][INFO]Filebeatprogramisrunning..."|tee-a$logfile exit0 fi [root@test2~]# 3)添加crontab定时任务 0-59/5****/usr/local/scripts/monitor_filebeat.sh&>/dev/null 五、注意事项 1.数据流向 -------------------------------------------------------------------------------------------------- log_files->filebeat->kafka->logstash->elasticsearch->kibana -------------------------------------------------------------------------------------------------- 2.每天定时清理elasticsearch索引,只保留30天内的索引 1)编写脚本 [root@monitor-elk~]#cat/usr/local/scripts/del_index.sh #!/bin/bash # ############################################# #author:Ellen #describes:Deleteelasticsearchhistoryindex. #version:v1.0 #updated:20170407 ############################################# # #Configurationinformation logfile=/usr/local/scripts/log/del_index.log tmpfile=/tmp/index.txt host=localhost port=9200 deldate=`date-d'-30days'+'%Y.%m.%d'` #Checkexecuteduser if[`whoami`!="root"];then echo"Pleaseuserootrunscript!!!" exit1 fi #Deleteelasticsearchindex curl-s"$host:$port/_cat/indices?v"|grep-vhealth|awk{'print$3'}|grep"$deldate">$tmpfile if[!-s$tmpfile];then echo"[`date+'%F%T'`][WARNING]$tmpfileisaemptyfile."|tee-a$logfile exit1 fi foriin`cat/tmp/index.txt` do curl-XDELETEhttp://$host:$port/$i if[$?-eq0];then echo"[`date+'%F%T'`][INFO]Elasticsearchindex$ideletesuccessful."|tee-a$logfile else echo"[`date+'%F%T'`][CRITICAL]Elasticsearchindex$ideletefailed!!!"|tee-a$logfile /usr/bin/cagent_toolsalarm"Elasticsearchindex$ideletefailed!!!" exit6 fi done [root@monitor-elk~]# 2)添加crontab定时任务 0002***/usr/local/scripts/del_index.sh&>/dev/null 3.按业务进行建立索引 如hongbao、pano等 4.nginx和tomcat等访问日志使用默认格式 六、相关命令参考 1.列出所有索引 curl-s'http://localhost:9200/_cat/indices?v' 2.列出节点列表 curl'localhost:9200/_cat/nodes?v' 3.查询集群健康信息 curl'localhost:9200/_cat/health?v' 4.查看指定的索引数据(默认返回十条结果) curl-XGET'http://localhost:9200/logstash-nginx-access-2017.05.20/_search?pretty' 5.删除指定的索引 curl-XDELETE http://localhost:9200/logstash-nginx-access-2017.05.20 6.查询模板 curl-s'http://localhost:9200/_template'

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

docker搭建nginx+springboot集群

1、首先准备两个springboot jar包,一个端口设置为8000,一个设置为8080。 2、打包第一个springboot jar包,Dockerfile如下 FROM java:8 VOLUME /tmp ADD spring-boot-docker-0.1.0.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 然后运行docker构建命令 docker build -t xiao/springboot . 3、同理我们构建第二个镜像springboot2 4、构建nginx,Dockerfile如下 FROM ubuntu:latest MAINTAINER xiao ENV REFRESHED_AT 2017-03-19 RUN apt-get update RUN apt-get -y -q install nginx RUN mkdir -p /var/www/html ADD nginx/global.conf /etc/nginx/conf.d/ ADD nginx/nginx.conf /etc/nginx/nginx.conf EXPOSE 80 其中global.conf设置如下 upstream service_group{ server sample:8080 max_fails=1 fail_timeout=60s weight=1; server sample2:8000 max_fails=1 fail_timeout=60s weight=2; } server { listen 80; server_name localhost; location / { proxy_pass http://service_group; proxy_redirect default; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } nginx.conf如下 user www-data; worker_processes 4; pid /run/nginx.pid; daemon off; events { } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; } 注意daemon设置为off省的一启动就关闭容器。 5、构建nginx镜像。 6、使用 docker iamges查看镜像 7、启动两个springboot镜像 docker run -d -h sample -p 8080:8080 --name sample xiao/springbootdocker run -d -h sample2 -p 8000:8000 --name sample2 xiao/springboot2 8、启动nginx镜像 docker run -d -h sample2 -p 9000:80 --link sample:sample --link sample2:sample2 --name nginx1 xiao/nginx nginx 9、使用docker ps查看container状态 10、访问http://localhost:9000/ 就能实现nginx负载均衡随机选择两个服务器进行转发。

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

HAProxy反向代理搭建discuz论坛

这里使用haproxy构建一个动静分离的集群,并且静态数据请求使用varnish做缓存。本打算做图1.1的集群,但是手头机器不够,只好委曲求全把动态服务器和静态服务器和到一起(主要是懒),数据库和共享文件和到一起如图1.2 图1.1 图1.2 file服务器的配置 #安装mysqld和nfs服务器 yuminstallmysql-servernfs-utils-y #提供网页文件 mkdir/wordpress wgethttp://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip unzipDiscuz_X3.2_SC_UTF8.zip-d/wordpress chown-Rapache:apache/wordpress cat>/etc/exports<<eof /wordpress172.16.0.0/16(rw,no_root_squash) eof servicenfsstart #提供数据库 servicemysqldstart mysql<<eof grantallprivilegesonwpdb.*towpuser@'172.16.29.%'identifiedby"wppass"; eof Rs服务器的配置 yuminstallnfs-utilshttpdphpphp-mysql-y cat>>/etc/fstab<<eof 172.16.29.1:/wordpress/wordpressnfsdefaults00 eof mkdir/wordpress mount-a #以下是提供httpd配置文件 vim/etc/httpd/conf/httpd.conf #把DocumentRoot"/var/www/html"改成如下 DocumentRoot"/wordpress/upload" #把<Directory"/var/www/html">改为如下内容 <Directory"/wordpress"> #把DirectoryIndexindex.html改成如下内容 DirectoryIndexindex.phpindex.html #启动服务 systemctlstarthttpd.service varnish服务器的配置 yuminstallvarnish-y vim/etc/varnish/varnish.params #把VARNISH_STORAGE="file,/var/lib/varnish/varnish_storage.bin,1G"改为如下内容,意思是使用512m的内存进行缓存数据 VARNISH_STORAGE="malloc,512m" cat>/etc/varnish/default.vcl<<eof #提供如下配置文件 vcl4.0; importdirectors; backenddefault{ .host="127.0.0.1"; .port="8080"; } #定义后端服务器状态检测机制 probecheck{ .url="/robots.txt"; .window=5; .threshold=3; .interval=2s; .timeout=1s; } #定义两个服务器 backendserver1{ .host="172.16.29.10"; .port="80"; .probe=check; } backendserver2{ .host="172.16.29.20"; .port="80"; .probe=check; } #定义两个服务器的调度算法 subvcl_init{ newstatic=directors.round_robin(); static.add_backend(server1); static.add_backend(server2); } #定义命中 subvcl_recv{ setreq.backend_hint=static.backend(); } subvcl_backend_response{ } subvcl_deliver{ } eof haproxy服务器通用配置配置 两个haproxy服务器的keepalived的配置文件有细微的差别,注意注释信息 yuminstallhaproxykeepalived-y cat>/etc/haproxy/haproxy.cfg<<eof global log127.0.0.1local2 chroot/var/lib/haproxy pidfile/var/run/haproxy.pid maxconn4000 userhaproxy grouphaproxy daemon statssocket/var/lib/haproxy/stats defaults modehttp logglobal optionhttplog optiondontlognull optionhttp-server-close optionforwardforexcept127.0.0.0/8 optionredispatch retries3 timeouthttp-request10s timeoutqueue1m timeoutconnect10s timeoutclient1m timeoutserver1m timeouthttp-keep-alive10s timeoutcheck10s maxconn3000 frontendmain*:80 #静态数据访问重定向到动态服务器,其他的动态服务器 aclurl_staticpath_beg-i/static/p_w_picpaths/javascript/stylesheets aclurl_staticpath_end-i.jpg.gif.png.css.js use_backendstaticifurl_static default_backendapp #状态页 listenadmin_stats bind*:8080 statsenable statsuri/haproxy11 aclhastatssrc172.16.0.0/16 blockunlesshastats #静态服务器 backendstatic balanceroundrobin serverstatic172.16.29.40:6081check #动态服务器 backendapp balancesource serverrs1172.16.29.10:80check serverrs2172.16.29.20:80check eof systemctlrestarthaproxy.service cat>/etc/keepalived/keepalived.conf<<eof #keepalived的配置文件 !ConfigurationFileforkeepalived global_defs{ notification_email{ root@localhost } notification_email_fromkeepalived@localhost smtp_server127.0.0.1 smtp_connect_timeout30 router_idnode1 vrrp_mcast_group224.0.29.29 #这个脚本是为了维护代理服务器Haproxy时使用的 vrrp_scriptchk_down{ script"[[-f/etc/haproxy/down]]&&exit1||exit0" interval1 weight-20 } #这个脚本是为了检测代理服务器Haproxy的状态 vrrp_scriptchk_haproxy{ script"killall-0haproxy&&exit0||exit1" interval1 weight-20 } } vrrp_instanceVI_1{ #另一台主机的下一行改为MASTER stateBACKUP interfaceeno16777736 virtual_router_id51 #另一台主机的下一行改为100 priority90 advert_int1 authentication{ auth_typePASS auth_passoldking } virtual_ipaddress{ 172.16.29.11/16deveno16777736labeleno16777736:0 } track_script{ chk_down chk_haproxy } } eof 我这里haproxy介绍的不够详细,参考这个博客http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html,或者官方文档

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

mac下Android开发环境搭建

之前一段时间在学习ios的开发,近一段时间想着也接触下Android开发,以来加深对移动端开发的理解。这里根据自己配置Android开发环境的过程,比较详细的来总结下自己的安装过程,希望对一些正准备配置Android开发环境的小伙伴们有一定帮助。 1.Java JDK 需要先说明下,OS X系统是自带有Java JDK1.6的。不过这里我安装的是JDK7,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html。见下图: 下载后,双击安装,如下图: 2.ADT(Android Develop Bundle) 下载地址:http://developer.android.com/sdk/index.html 如下图: 下载成功后,安装: 解压开发工具包后可看到底下有两个文件夹:eclipse和sdk。其中eclipse这个目录里有我们编程用的集成开发环境,而sdk这个目录里放的是和 android 开发相关的资源,具体到里面每个目录做什么,这里我就先不详细展开。 注意:尽量将解压的开发工具包放在一级目录下。有时你放在用中文命名的目录下,运行Eclipse会报错。 3.运行eclipse。 进入到eclipse目录下,运行Eclipse。之后会提示你工程文件夹放哪里,这个你可以自己设置路径(不要放在中文目录下),也可以使用默认路径。 有可能运行Eclipse时,会弹出如下图信息。这时也不用慌张,直接点击“安装” ,安装Java SE 6 runtime成功后,就可以运行Eclipse了。 进行到这里,mac下Android的开发环境就基本大功告成了,是不是so easy? 本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/p/3525895.html,如需转载请自行联系原作者

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

Centos6.5搭建smokeping服务

1.安装所需软件包。 yuminstall-yperlperl-Net-Telnetperl-Net-DNSperl-LDAPperl-libwww-perlperl-IO-Socket-SSLperl-Socket6perl-Time-HiResperl-ExtUtils-MakeMakerrrdtoolrrdtool-perlcurlhttpdhttpd-develgccmakewgetlibxml2-devellibpng-develglibpangopango-develfreetypefreetype-develfontconfigcairocairo-devellibart_lgpllibart_lgpl-develpoptpopt-devellibidnlibidn-devel 2.创建一个放置软件包的常用目录。 mkdir/smokeping/tools–p 3.下载fping软件包,并且解压,编译安装。 wgethttp://fping.org/dist/fping-3.10.tar.gz tar-zxvffping-3.10.tar.gz cdfping-3.10/ ./configure make&&makeinstall cd.. 4.下载echoping并且解压,编译安装。 wgethttp://fossies.org/linux/misc/old/echoping-6.0.2.tar.gz tar-zxvfechoping-6.0.2.tar.gz cdechoping-6.0.2/ ./configure make&&makeinstall 5.下载smokeping并且解压,编译安装。 wgethttp://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz tar-zxvfsmokeping-2.6.9.tar.gz cdsmokeping-2.6.9/ ./setup/build-perl-modules.sh/usr/local/smokeping/thirdparty ./configure--prefix=/usr/local/smokeping gmakeinstall 6.创建三个文件目录和一个日志文件,并且设置属主和属组均为apache。 cd/usr/local/smokeping/ mkdir{cache,data,var} touch/var/log/smokeping.log chownapache.apache/var/log/smokeping.log chmod600/usr/local/smokeping/etc/smokeping_secrets.dist chown-Rapache.apachedata/ chown-Rapache.apachevar/ chown-Rapache.apachecache/ 7.修改相应的配置文件。 cd/usr/local/smokeping/htdocs/ mvsmokeping.fcgi.distsmokeping.fcgi cd/usr/local/smokeping/etc/ mvconfig.distconfig 8.配置apache配置文件和smokeping的配置文件。 在/etc/httpd/conf/httpd.con末尾添加以下加行: Alias/cache"/usr/local/smokeping/cache/" Alias/cropper"/usr/local/smokeping/htdocs/cropper/" Alias/smokeping"/usr/local/smokeping/htdocs/smokeping.fcgi" <Directory"/usr/local/smokeping"> AllowOverrideNone OptionsAll AddHandlercgi-script.fcgi.cgi Orderallow,deny Allowfromall DirectoryIndexsmokeping.fcgi </Directory> smokeping配置文件如下所示: cat/usr/local/smokeping/etc/config ***General*** owner=PeterRandom contact=some@address.nowhere mailhost=my.mail.host sendmail=/usr/sbin/sendmail #NOTE:donotputtheImageCachebelowcgi-bin #sinceallfilesundercgi-binwillbeexecuted...thisisnot #goodforp_w_picpaths. imgcache=/usr/local/smokeping/cache imgurl=cache datadir=/usr/local/smokeping/data piddir=/usr/local/smokeping/var cgiurl=http://10.104.96.155/smokeping.cgi smokemail=/usr/local/smokeping/etc/smokemail.dist tmail=/usr/local/smokeping/etc/tmail.dist #specifythistogetsysloglogging syslogfacility=local0 #eachprobeisnowruninitsownprocess #disablethistoreverttotheoldbehaviour #concurrentprobes=no ***Alerts*** to=alertee@address.somewhere from=smokealert@company.xy +someloss type=loss #inpercent pattern=>0%,*12*,>0%,*12*,>0% comment=loss3timesinarow ***Database*** step=300 pings=20 #consfnmrhbstepstotal AVERAGE0.511008 AVERAGE0.5124320 MIN0.5124320 MAX0.5124320 AVERAGE0.5144720 MAX0.5144720 MIN0.5144720 ***Presentation*** template=/usr/local/smokeping/etc/basepage.html.dist charset=utf-8 +charts menu=Charts title=Themostinterestingdestinations ++stddev sorter=StdDev(entries=>4) title=TopStandardDeviation menu=StdDeviation format=StandardDeviation%f ++max sorter=Max(entries=>5) title=TopMaxRoundtripTime menu=byMax format=MaxRoundtripTime%fseconds ++loss sorter=Loss(entries=>5) title=TopPacketLoss menu=Loss format=PacketsLost%f ++median sorter=Median(entries=>5) title=TopMedianRoundtripTime menu=byMedian format=MedianRTT%fseconds +overview width=600 height=50 range=10h +detail width=600 height=200 unison_tolerance=2 "Last3Hours"3h "Last30Hours"30h "Last10Days"10d "Last400Days"400d #+hierarchies #++owner #title=HostOwner #++location #title=Location ***Probes*** +FPing binary=/usr/local/sbin/fping ***Slaves*** secrets=/usr/local/smokeping/etc/smokeping_secrets.dist +boomer display_name=boomer color=0000ff +slave2 display_name=another color=00ff00 ***Targets*** probe=FPing menu=Top title=NetworkLatencyGrapher remark=WelcometotheSmokePingwebsiteofxxxCompany.\ Hereyouwilllearnallaboutthelatencyofournetwork. +Test menu=Targets #parents=owner:/Test/Jameslocation:/ ++James menu=James title=James alerts=someloss slaves=boomerslave2 host=james.address ++MultiHost menu=Multihost title=JamesandJamesasseenfromBoomer host=/Test/James/Test/James~boomer ++Localhost menu=Localhost title=Localhost alerts=someloss #slaves=boomerslave2 host=10.104.96.155 +Other menu=网络及节点监控 title=监控统计 ++dianxin menu=电信网络监控 title=电信网络监控列表 host=/Other/dianxin/dianxin-bj/Other/dianxin/dianxin-sh/Other/dianxin/dianxin-gz/Other/dianxin/dianxin-sz/Other/dianxin/dianxin-tj/Other/dianxin/dianxin-sy/Other/dianxin/dianxin-xa/Other/dianxin/dianxin-jn/Other/dianxin/dianxin-cd/Other/dianxin/dianxin-hf/Other/dianxin/dianxin-wh/Other/dianxin/dianxin-zz/Other/dianxin/dianxin-cs/Other/dianxin/dianxin-nj/Other/dianxin/dianxin-hz/Other/dianxin/dianxin-xm/Other/dianxin/dianxin-nn/Other/dianxin/dianxin-ty/Other/dianxin/dianxin-cc/Other/dianxin/dianxin-lz/Other/dianxin/dianxin-nn/Other/dianxin/dianxin-xn/Other/dianxin/dianxin-hk/Other/dianxin/dianxin-fz/Other/dianxin/dianxin-gy/Other/dianxin/dianxin-km/Other/dianxin/dianxin-xj/Other/dianxin/dianxin-xz/Other/dianxin/dianxin-heb/Other/dianxin/dianxin-hhht +++dianxin-bj menu=北京电信 title=北京电信 alerts=someloss host=106.37.232.114 +++dianxin-sh menu=上海电信 title=上海电信 alerts=someloss host=202.96.209.133 +++dianxin-gz menu=广州电信 title=广州电信 alerts=someloss host=219.137.229.134 +++dianxin-sz menu=深圳电信 title=深圳电信 alerts=someloss host=202.96.154.15 +++dianxin-tj menu=天津电信 title=天津电信 alerts=someloss host=219.150.32.132 +++dianxin-sy menu=沈阳电信 title=沈阳电信 alerts=someloss host=219.148.204.66 +++dianxin-xa menu=西安电信 title=西安电信 alerts=someloss host=117.35.68.4 +++dianxin-jn menu=济南电信 title=济南电信 alerts=someloss host=219.146.0.253 +++dianxin-cd menu=成都电信 title=成都电信 alerts=someloss host=61.139.2.69 +++dianxin-hf menu=合肥电信 title=合肥电信 alerts=someloss host=220.178.75.134 +++dianxin-wh menu=武汉电信 title=武汉电信 alerts=someloss host=221.232.129.35 +++dianxin-zz menu=郑州电信 title=郑州电信 alerts=someloss host=123.52.19.15 +++dianxin-cs menu=长沙电信 title=长沙电信 alerts=someloss host=202.103.96.253 +++dianxin-nj menu=南京电信 title=南京电信 alerts=someloss host=218.2.135.1 +++dianxin-hz menu=杭州电信 title=杭州电信 alerts=someloss host=202.96.96.68 +++dianxin-xm menu=厦门电信 title=厦门电信 alerts=someloss host=202.101.103.54 +++dianxin-nn menu=南宁电信 title=南宁电信 alerts=someloss host=202.103.225.254 +++dianxin-ty menu=太原电信 title=太原电信 alerts=someloss host=59.49.77.1 +++dianxin-cc menu=长春电信 title=长春电信 alerts=someloss host=219.149.194.55 +++dianxin-lz menu=兰州电信 title=兰州电信 alerts=someloss host=202.100.64.68 +++dianxin-nc menu=南昌电信 title=南昌电信 alerts=someloss host=202.101.224.68 +++dianxin-xn menu=西宁电信 title=西宁电信 alerts=someloss host=202.100.138.68 +++dianxin-hk menu=海口电信 title=海口电信 alerts=someloss host=202.100.192.1 +++dianxin-fz menu=福州电信 title=福州电信 alerts=someloss host=218.85.157.99 +++dianxin-gy menu=贵阳电信 title=贵阳电信 alerts=someloss host=202.98.198.167 +++dianxin-km menu=昆明电信 title=昆明电信 alerts=someloss host=222.172.200.68 +++dianxin-xj menu=新疆电信 title=新疆电信 alerts=someloss host=61.128.114.133 +++dianxin-xz menu=西藏电信 title=西藏电信 alerts=someloss host=202.98.224.2 +++dianxin-heb menu=哈尔滨电信 title=哈尔滨电信 alerts=someloss host=219.150.32.132 +++dianxin-hhht menu=呼和浩特电信 title=呼和浩特电信 alerts=someloss host=121.56.12.12 ++liantong menu=联通网络监控 title=联通网络监控列表 host=/Other/liantong/liantong-bj/Other/liantong/liantong-sh/Other/liantong/liantong-gz/Other/liantong/liantong-sz/Other/liantong/liantong-tj/Other/liantong/liantong-sy/Other/liantong/liantong-xa/Other/liantong/liantong-jn/Other/liantong/liantong-qd/Other/liantong/liantong-cd/Other/liantong/liantong-ah/Other/liantong/liantong-wh/Other/liantong/liantong-zz/Other/liantong/liantong-cs/Other/liantong/liantong-nj/Other/liantong/liantong-hz/Other/liantong/liantong-xm/Other/liantong/liantong-nn/Other/liantong/liantong-nc/Other/liantong/liantong-ty/Other/liantong/liantong-xn/Other/liantong/liantong-gz/Other/liantong/liantong-fz/Other/liantong/liantong-lz/Other/liantong/liantong-km/Other/liantong/liantong-xj/Other/liantong/liantong-xz/Other/liantong/liantong-heb/Other/liantong/liantong-hhht +++liantong-bj menu=北京联通 title=北京联通 alerts=someloss host=202.106.196.253 +++liantong-sh menu=上海联通 title=上海联通 alerts=someloss host=210.22.70.253 +++liantong-gz menu=广州联通 title=广州联通 alerts=someloss host=221.4.66.66 +++liantong-sz menu=深圳联通 title=深圳联通 alerts=someloss host=210.21.196.6 +++liantong-tj menu=天津联通 title=天津联通 alerts=someloss host=202.99.96.1 +++liantong-sy menu=沈阳联通 title=沈阳联通 alerts=someloss host=202.96.75.1 +++liantong-xa menu=西安联通 title=西安联通 alerts=someloss host=221.11.1.67 +++liantong-jn menu=济南联通 title=济南联通 alerts=someloss host=202.102.152.3 +++liantong-qd menu=青岛联通 title=青岛联通 alerts=someloss host=202.102.128.68 +++liantong-cd menu=成都联通 title=成都联通 alerts=someloss host=119.6.6.6 +++liantong-ah menu=安徽联通 title=安徽联通 alerts=someloss host=218.104.78.2 +++liantong-wh menu=武汉联通 title=武汉联通 alerts=someloss host=218.104.111.122 +++liantong-zz menu=郑州联通 title=郑州联通 alerts=someloss host=218.29.122.70 +++liantong-cs menu=长沙联通 title=长沙联通 alerts=someloss host=58.20.127.238 +++liantong-nj menu=南京联通 title=南京联通 alerts=someloss host=221.6.4.66 +++liantong-hz menu=杭州联通 title=杭州联通 alerts=someloss host=221.12.31.58 +++liantong-xm menu=厦门联通 title=厦门联通 alerts=someloss host=218.104.128.106 +++liantong-nn menu=南宁联通 title=南宁联通 alerts=someloss host=221.7.136.68 +++liantong-nc menu=南昌联通 title=南昌联通 alerts=someloss host=220.248.192.10 +++liantong-ty menu=太原联通 title=太原联通 alerts=someloss host=202.99.192.66 +++liantong-xn menu=西宁联通 title=西宁联通 alerts=someloss host=221.207.12.130 +++liantong-gy menu=贵阳联通 title=贵阳联通 alerts=someloss host=221.13.30.242 +++liantong-fz menu=福州联通 title=福州联通 alerts=someloss host=58.22.96.6 +++liantong-lz menu=兰州联通 title=兰州联通 alerts=someloss host=221.7.34.1 +++liantong-km menu=昆明联通 title=昆明联通 alerts=someloss host=221.3.131.11 +++liantong-xj menu=新疆联通 title=新疆联通 alerts=someloss host=60.13.184.49 +++liantong-xz menu=西藏联通 title=西藏联通 alerts=someloss host=221.13.65.38 +++liantong-heb menu=哈尔滨联通 title=哈尔滨联通 alerts=someloss host=202.97.224.1 +++liantong-hhht menu=呼和浩特联通 title=呼和浩特联通 alerts=someloss host=202.99.224.67 ++yidong menu=移动网络监控 title=移动网络监控列表 host=/Other/yidong/yidong-bj/Other/yidong/yidong-sh/Other/yidong/yidong-gz/Other/yidong/yidong-sz/Other/yidong/yidong-tj/Other/yidong/yidong-sy/Other/yidong/yidong-xa/Other/yidong/yidong-jn/Other/yidong/yidong-qd/Other/yidong/yidong-cd/Other/yidong/yidong-hf/Other/yidong/yidong-wh/Other/yidong/yidong-zz/Other/yidong/yidong-cs/Other/yidong/yidong-nj/Other/yidong/yidong-nc/Other/yidong/yidong-gy/Other/yidong/yidong-fz/Other/yidong/yidong-lz/Other/yidong/yidong-km/Other/yidong/yidong-hz/Other/yidong/yidong-nn/Other/yidong/yidong-wlmq/Other/yidong/yidong-ls +++yidong-bj menu=北京移动 title=北京移动 alerts=someloss host=211.136.17.107 +++yidong-sh menu=上海移动 title=上海移动 alerts=someloss host=211.136.150.25 +++yidong-gz menu=广州移动 title=广州移动 alerts=someloss host=221.179.38.7 +++yidong-sz menu=深圳移动 title=深圳移动 alerts=someloss host=120.196.165.7 +++yidong-tj menu=天津移动 title=天津移动 alerts=someloss host=211.137.160.5 +++yidong-sy menu=沈阳移动 title=沈阳移动 alerts=someloss host=211.137.32.178 +++yidong-xa menu=西安移动 title=西安移动 alerts=someloss host=218.200.48.238 +++yidong-jn menu=济南移动 title=济南移动 alerts=someloss host=211.137.191.26 +++yidong-qd menu=青岛移动 title=青岛移动 alerts=someloss host=211.137.186.224 +++yidong-cd menu=成都移动 title=成都移动 alerts=someloss host=211.137.96.205 +++yidong-hf menu=合肥移动 title=合肥移动 alerts=someloss host=211.138.180.2 +++yidong-wh menu=武汉移动 title=武汉移动 alerts=someloss host=211.137.59.2 +++yidong-zz menu=郑州移动 title=郑州移动 alerts=someloss host=211.138.30.66 +++yidong-cs menu=长沙移动 title=长沙移动 alerts=someloss host=111.8.55.1 +++yidong-nj menu=南京移动 title=南京移动 alerts=someloss host=221.130.48.1 +++yidong-hz menu=杭州移动 title=杭州移动 alerts=someloss host=120.199.7.10 +++yidong-nn menu=南宁移动 title=南宁移动 alerts=someloss host=211.138.245.180 +++yidong-nc menu=南昌移动 title=南昌移动 alerts=someloss host=211.141.90.68 +++yidong-gy menu=贵阳移动 title=贵阳移动 alerts=someloss host=211.139.5.1 +++yidong-fz menu=福州移动 title=福州移动 alerts=someloss host=211.138.151.1 +++yidong-lz menu=兰州移动 title=兰州移动 alerts=someloss host=218.203.160.1 +++yidong-km menu=昆明移动 title=昆明移动 alerts=someloss host=211.139.29.1 +++yidong-wlmq menu=乌鲁木齐移动 title=乌鲁木齐移动 alerts=someloss host=218.202.152.131 +++yidong-ls menu=拉萨移动 title=拉萨移动 alerts=someloss host=211.139.73.35 9.分别启动smokeping和httpd。 /usr/local/smokeping/bin/smokeping ps-ef|grepsmoke hadoop2184819908011:20pts/100:00:00grepsmoke root17713110Sep27?00:00:38/usr/local/smokeping/bin/smokeping[FPing] /etc/init.d/httpdstart -ef|grephttpd hadoop2224519908011:21pts/100:00:00grephttpd root17715210Sep27?00:00:00/usr/sbin/httpd apache1771541771520Sep27?00:00:00/usr/sbin/httpd apache1771551771520Sep27?00:00:00/usr/sbin/httpd apache1771561771520Sep27?00:00:00/usr/sbin/httpd apache1771571771520Sep27?00:00:00/usr/sbin/httpd apache1771581771520Sep27?00:00:00/usr/sbin/httpd apache1771591771520Sep27?00:00:00/usr/sbin/httpd apache1771601771520Sep27?00:00:00/usr/sbin/httpd apache1771611771520Sep27?00:00:00/usr/sbin/httpd apache1773731771520Sep27?00:00:00/usr/sbin/httpd apache1773781771520Sep27?00:00:00/usr/sbin/httpd apache1797261771520Sep27?00:00:00/usr/sbin/httpd 10.让smokeping界面支持中文 安装字体 yum-yinstallwqy-zenhei-fonts.noarch 编辑smokeping的配置文件vim/usr/local/smokeping/etc/config 第50行添加 charset=utf-8#添加此行 编辑Graphs.pm这个文件vim/usr/local/smokeping/lib/Smokeping/Graphs.pm#第147行下边插入下边一行 '--fontTITLE:20:"WenQuanYiZenHeiMono"', 11.访问地址,看下是否可以出现smokeping页面。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。