首页 文章 精选 留言 我的

精选列表

搜索[本地大模型],共10005篇文章
优秀的个人博客,低调大师

用友中标:打造新一代云化ERP 落地大型企业互联网+

日前,用友网络科技股份有限公司(以下简称“用友”)中标工信部信息化和软件服务司2016年工业转型升级(中国制造20125)-行业系统解决方案应用推广:《基于云平台的大型企业资源管理系统(ERP)解决方案应用推广》项目。该项目将于未来两年投入具体执行,最终在新一代大型ERP支撑平台(iuap)的和产品解决方案的研发以及相关示范推广、产业链建设和标准规范研制上取得相关成果。同时,该项目也是工信部针对央企/大型企业ERP信息系统自主可控的首个基金专项。 该项目主要有三大目标,一是应用互联网、物联网、大数据、云计算等技术构建新一代大型企业基础信息化PaaS云平台(iuap);一是研发形成具有国际先进水平的新一代大型云化ERP产品与解决方案,以形成“互联网+”行业解决方案;一是在相关央企完成新一代ERP示范验证,以及更多行业进行产业化推广、建立新一代大型ERP产业生态链。 用友在服务大型企业互联网化过程中,也发现更多的大型企业从数字营销、智能制造、共享服务和社交协同等角度切入,同时更加重视云计算、大数据等技术与业务的融合。用友在过去的几年中,无论在产品、方案还是案例等各个层面都做了相应的积累。 新一代大型企业基础信息化PaaS云平台 此次用友中标的工信部基于云平台的大型企业ERP推广项目的顺利实施,需要关键技术作为支撑。用友iuap作为大型企业PaaS云平台致力于让中国更多的传统企业认识平台、善用平台,从中挖掘新的商业模式和增长点,从而实现互联网化。 在技术上,iuap也实现了很多的突破。用友iuap直面企业互联网发展中的消费互联网技术难以支撑企业互联网应用创新、企业内外部系统互联互通、第三方互联网服务接入、内外部数据整合等问题,针对企业互联网开发、测试、构造、发布、部署、集成、运维、运营等技术,突破了云开发与运维、移动与虚拟现实、大大数据与智能化、物联网与云集成等产业共性关键技术。 目前,iuap已经支持众多大型企业,如中国航天科技集团、中国贵州茅台集团、港华燃气等进行快速商业创新,以提升企业在互联网是滴啊的核心竞争力。 大型企业互联网化应用新模式 过去的几年中,大型企业面临着由于自身核心竞争力下降所带来的挑战,更多的企业以期通过互联网化来完成转型、突破重围。用友也通过实践经验认为大型企业可以从数字营销、智能制造、共享服务和社交协同等领域开始互联网化转型。在2016年,已经有些大型企业成功迈上了互联网化之路。 天瑞集团作为一家典型的传统制造业代表,其业务融铸造、水泥、旅游和煤电铝一体,其转型也需要是整体性的。在2016年,通过对自身业务需求和商业发展方向的分析,天瑞集团与用友合作开始了全面升级之路。其中,智能制造成为整个转型中最重要的部分。 与此同时,用友也帮助诸如旭阳化工、福建能源、泰尔重工等等,越来越多的制造业开始根据自身的需求,或打造行业化管理平台,或从个性化定制开始,都踏上了智能制造之路,为中国制造2025注入了更加鲜活的力量,也提供了更多实践样板。 2016年,财务管理市场有很多关键词,诸如营改增、管理会计以及共享服务等。其中,财务共享服务不仅仅是众多企业落地互联网化的重要切入点,也是更多大型企业借此迈入财务2.0时代的重要途径。 碧桂园作为一家千亿级企业,其就通过与用友合作实现财务共享服务的建设,以解决全球竞争环境下所面临的诸如业务复杂、管控风险和人才缺失等管理问题,从而推动整体财务的转型。 数字营销领域,用友主要强调12个字,即找客户、做转化、管生意和出价值。已经有越来越多的企业读懂了数字营销的意义,也尝试以此作为落地互联网化的切入点。 埃克森美孚作为世界领先的石油和石化公司,中国是其重要的市场。在2016年,美孚构建了一个覆盖中国润滑油经销商网络的信息管理平台,实现全渠道管理,开启数字营销转型。与此同时,壳牌、广州白云国际商旅服务有限公司等大型企业纷纷确立了互联网+转型的战略,并开始逐步落地。 无论是智能制造,共享服务还是数字营销等,用友帮助不同行业、不同需求的大型企业从不同角度切入,开始落地互联网化。 互联网+行业解决方案 此次用友中标的项目建设的内容中,还包括了新一代大型ERP产品与解决方案研发,即在大型企业管理与电子商务平台产品NC基础上,基于iuap平台,研发并运营友云采、友人才等一系列公有云应用于服务,构建和完善数字营销、智能制造、共享服务、社交协同等焦点领域产品与解决方案,从而形成“互联网+“行业解决方案。 用友在公有云应用服务上也已经很多成熟的案例。如友云采,作为企业互联网采购平台,可以无缝对接企业ERP与电商平台,完整地贯通计划、采购、到货、入库、付款等环节,并帮助企业通过互联网采购寻源做最佳采购决策和高效协同。同时,支持门户、微信、移动APP多种接入形式,实现随时随地的即时沟通与业务协作。山东信发铝电集团借助友云采后,极大节约寻找供应商的时间,缩短了采购周期,网采物资从25天缩短到15天;实现价格透明,简化了管理;部分物资实现零库存、零积压。实现互联网采购物资,与往年对比降低直接成本15%,节约人力20%。 此次中标工信部《基于云平台的大型企业资源管理系统(ERP)解决方案应用推广》项目,用友公司发挥在大型企业ERP建设和互联网化转型中的经验和相关产品、技术优势,将进一步打造新一代完全云化的ERP,助力大型企业实现自主可控、落地转型。 本文出处:畅享网 本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。

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

建设以人为本的智慧城市

随着城市规模的迅速膨胀,交通拥堵、医疗卫生、环境保护等各种“城市病”日益突出,已经成为全球性的城市管理难题。未来十年,如何改变以往城市经济发展和社会管理中面临的诸多失衡问题,实现城市可持续发展,是每一个城市管理者都必须面对的巨大挑战。 “智慧城市”是充分利用现代信息通信技术,通过全面感知、互联互通、信息智能处理,实现城市经济、社会资源的优化配置和智能管理,实现政府、企业、家庭和居民智能化,有助于解决当前众多“城市病”,实现绿色可持续发展,加快城市化进程。因此,“智慧城市”已成为国际上现代城市的发展趋势。 五年媲美新加坡城市服务 花果园棚户区改造项目是全国最大的棚户区改造项目,位于贵阳市中心。项目总规划面积10平方公里,建设用地面积4平方公里,建筑面积1830万平方米,包含商业、办公、居住、酒店、展览、餐饮、会议、公园、文娱和交通等全方位城市功能。历经六载改造建设,并运用互联网+大数据模式,营造了一座新兴的幸福家园。 目前花果园项目交付使用率超过90%,主要产品销售率超过90%,已入住40577户、industry163业界20万余人,入驻企业、商家4816户,20多条公交线路每日运送人流量达30万人次。集团每年拿出收益的30%投入到花果园公共设施的升级与完善中,力求5年内在基础设施、安全、卫生、交通等方面媲美新加坡城市服务管理水平。 年均投入10亿元建设可持续发展绿色城市 花果园项目作为宏立城集团最重要的项目,计划连续三年,预计每年投入不少于10亿元,将携手华为、腾讯、IBM等国内外顶尖高新科技企业共同建设“花果园智慧城市+物联网+大数据”项目,从智慧交通、消防、安防、医疗、教育、信息、商业等七大板块入手,运用互联网+2.0(互联网+物联网+大数据)技术对花果园城区升级提速,建设基于新型智慧城市体系下的和谐社区,2018年花果园城区将建立完善的智慧城市版块。 在花果园城市综合管理指挥调度中心,可通过基于大数据分析的洞察,成就城市的繁荣与安全。例如:云计算系统将通过交通数据的采集,对实时道路交通态势的准确把控与短期态势的精准预测,实现城市交通精细化管理;通过对智慧停车场、自适应信号灯、智能路边停车位等建设,缓解动态变化的交通拥堵以及尾气排放所带来的大气污染。通过物联传感技术,能提高人们步行出行以及车辆出行效率。 无处不在的物联传感设备与遍布社区的23个微型消防站相结合,智慧消防系统将满足火灾防控“自动化”、灭火救援指挥“智能化”、日常执法工作“系统化”、队伍管理“精细化”的实际需求。实现可视化、数据整合、块数据管理及各子系统联动为一体的智慧城市综合平台,建立统一指挥、科学监控、协调有序、可持续发展的绿色城市运营管理机制。 作为贵州首个“智慧城市”,花果园将引领贵州“智慧城市”风向,通过“智慧城市”智能化效应聚焦城市高端经济生态,形成“互联网+”新经济模式,开启大众创业创新驱动新格局。 本文转自d1net(转载)

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

7.4.2版本的ELK集群安装

目录 一.环境介绍: 1.软件版本 2.安装jdk 3.配置环境变量 4.创建用户 5.赋予权限 6.配置系统参数 二.部署elasticsearch 1.解压elasticsearch并配置安全认证 2.编辑配置文件elasticsearch.yml 3.启动elasticsearch 4.查看启动日志 5.检查启动情况 三.部署logstash 1.解压logstash 2.修改配置文件gp-logstash.conf 3.启动logstash 4.检查启动情况 四.部署filebeat 1.解压filebeat 2.添加配置文件 3.启动filebeat并加载配置文件 4.检查启动情况 五.部署kibana 1.解压kibana 2.添加配置文件 3.启动kibana 4.检查启动情况 六.检查所有服务启动情况 一.环境介绍: 1.软件版本 elasticsearch-7.4.2 filebeat-7.4.2 kibana-7.4.2 logstash-7.4.2 集群环境三台机器 192.168.1.89:9200 192.168.1.89:9202 192.168.1.89:9203 192.168.1.89:9300 192.168.1.89:9302 192.168.1.89:9303 自身环境机器如果更多可以更改IP地址和端口 IP 监听端口 系统 es集群名称 es节点名称 es版本 kibana版本 192.168.1.89 9200/9300 Linux3.10.el7.x86_64 es es1 7.4.2 7.4.2 192.168.1.89 9202/9302 Linux3.10.el7.x86_64 es es2 7.4.2 7.4.2 192.168.1.89 9203/9303 Linux3.10.el7.x86_64 es es3 7.4.2 7.4.2 架构图 1.1软件介绍 Elasticsearch Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它主要是集中存储数据。 Kibana Kibana 是一个可扩展的用户界面,主要是将数据可视化展示和管理 Logstash Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。 Beats Beats 是一个面向轻量型采集器的平台,这些采集器可从边缘机器发送数据。本次使用的是Beats中的Filebeat,Filebeat主要作用是抓取日志文件。 日志抓取流程 1. 在每台服务器中安装一个Filebeat,Filebeat就能抓取该服务器中不同程序产生的日志; 2. FileBeat将抓取的日志转发给Logstash; 3.由Logstash整合每台服务器发送过来的日志信息,可以实现过滤、转换格式等; 4. Logstash将转换好的日志信息发送给Elasticsearch; 5. Elasticsearch收到日志信息后,将其存储在服务器中,并支持数据转换等操作; 1.2操作系统版本 linux-el7.x86_64,4核8G 2.安装jdk jdk可以用es自带的,路径在/usr/local/elk/elasticsearch-7.4.2/jdk 3.配置环境变量 PATH=$PATH:$HOME/bin:/usr/local/elk/elasticsearch-7.4.2/bin export JAVA_HOME=/usr/local/elk/elasticsearch-7.4.2/jdk/ export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export PATH 4.创建用户 useradd elsearch 5.赋予权限 chown -R elsearch:elsearch elk/ 6.配置系统参数 vim /etc/sysctl.conf vm.max_map_count=655360 sysctl -p /etc/sysctl.conf vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 * soft nproc 32000 * hard nproc 32000 * hard memlock unlimited * soft memlock unlimited 二.部署elasticsearch 1.解压elasticsearch并配置安全认证 从 6.8.0 和 7.1.0 版本开始, Elastic Stack安全功能免费提供。用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana 提供全面保护。下面介绍怎么配置安全认证。 首先生成证书,通过这些证书便能允许节点安全地通信。允许使用企业 CA 来完成这一步骤,但是在此文档中不配置CA,通过使用一个名为 elasticsearch-certutil 的命令来解决此问题。 l进入压缩包主目录下,然后执行以下命令,这将会生成一个密码文件至config目录下。 bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" #将elastic-certificates.p12文件的权限改为elsearch用户 chown elsearch:elsearch config/elastic-certificates.p12 -R l执行以下命令配置用户的密码,这些用户都是系统级别(已写死),配置的用户包括:elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user(此步骤需要在程序运行之后才能执行,否则会报错) ./bin/elasticsearch-setup-passwords interactive 默认密码都设置的123456,注意有安全要求时设置复杂密码 添加一个管理员并设置密码123456 ./bin/elasticsearch-users useradd es -r superuser 简洁操作(生成证书、复制证书) 配置ES集群间 TLS 和 身份验证 生成证书 /usr/local/elk/elasticsearch-7.4.2/bin/elasticsearch-certutil cert -out /usr/local/elk/elasticsearch-7.4.2/config/elastic-certificates.p12 -pass "" 复制证书 cp elastic-certificates.p12 ../../elasticsearch-7.4.2-02/config/ cp elastic-certificates.p12 ../../elasticsearch-7.4.2-03/config/ 2.编辑配置文件elasticsearch.yml bootstrap.memory_lock: true #network.host: 0.0.0.0 cluster.name: es node.name: "es1" network.host: 192.168.1.89 network.bind_host: 192.168.1.89 network.publish_host: 192.168.1.89 discovery.seed_hosts: ["192.168.1.89:9300", "192.168.1.89:9302", "192.168.1.89:9303"] cluster.initial_master_nodes: ["192.168.1.89:9300", "192.168.1.89:9302", "192.168.1.89:9303"] #discovery.zen.ping.unicast.hosts: ["192.168.1.89:9300", "192.168.1.89:9302","192.168.1.89:9303"] #discovery.zen.ping.unicast.hosts: ["192.168.1.89:9200", "192.168.1.89:9202","192.168.1.89:9203"] transport.tcp.port: 9300 http.port: 9200 #discovery.zen.ping.unicast.hosts: ["192.168.1.89:9300"] discovery.zen.minimum_master_nodes: 1 discovery.zen.ping_timeout: 120s client.transport.ping_timeout: 60s indices.queries.cache.size: 20% indices.fielddata.cache.size: 40% indices.memory.index_buffer_size: 30% node.master: true node.data: true thread_pool.search.queue_size: 1000 thread_pool.search.size: 200 thread_pool.search.min_queue_size: 10 thread_pool.search.max_queue_size: 1000 thread_pool.search.auto_queue_frame_size: 2000 thread_pool.search.target_response_time: 6s xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: /usr/local/elk/elasticsearch-7.4.2/config/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: /usr/local/elk/elasticsearch-7.4.2/config/elastic-certificates.p12 path.data: /usr/local/elk/elasticsearch-7.4.2/data path.logs: /usr/local/elk/elasticsearch-7.4.2/logs 注意: 集群环境如下的配置根据各自环境进行配置 cluster.name: es node.name: "es1" discovery.seed_hosts: cluster.initial_master_nodes: transport.tcp.port: 9300 http.port: 9200 xpack.security.transport.ssl.truststore.path: xpack.security.transport.ssl.keystore.path: path.data: path.logs: elasticsearch.yml关键配置说明: cluster.name 集群名称,名称一致代表同一个集群 node.name 节点名称,标识集群中的不同节点 network.host/http.port 网络地址和端口,用于http和tranport服务使用 path.data 数据存储地址 path.log 日志存储地址 xpack.security.transport.ssl.truststore.path: 证书存放的位置,集群中的证书要一致 xpack.security.transport.ssl.keystore.path: transport.tcp.port: 9300 程序端口和网页访问端口 http.port: 9200 discovery.seed_hosts: 集群中的其他节点 discovery.zen.ping.unicast.hosts:和上面相同二选一 cluster.initial_master_nodes: 填写主节点的位置,服务启动时将选为主节点 3.启动elasticsearch su - elsearch cd /usr/local/elk/elasticsearch-7.4.2 ./bin/elasticsearch -d 启动服务 /usr/local/elk/elasticsearch-7.4.2/bin/elasticsearch -d -p /usr/local/elk/elasticsearch-7.4.2/run/es1.pid /usr/local/elk/elasticsearch-7.4.2-02/bin/elasticsearch -d -p /usr/local/elk/elasticsearch-7.4.2-02/run/es2.pid /usr/local/elk/elasticsearch-7.4.2-03/bin/elasticsearch -d -p /usr/local/elk/elasticsearch-7.4.2-03/run/es3.pid 停止es服务 cat /usr/local/elk/elasticsearch-7.4.2/run/es1.pid | xargs kill -HUP cat /usr/local/elk/elasticsearch-7.4.2-02/run/es2.pid | xargs kill -HUP cat /usr/local/elk/elasticsearch-7.4.2-03/run/es3.pid | xargs kill -HUP 注:HUP监听的,已经建立的连接(不同的 pid)不会断 删除日志文件 rm -f /usr/local/elk/elasticsearch-7.4.2/logs/* rm -f /usr/local/elk/elasticsearch-7.4.2-02/logs/* rm -f /usr/local/elk/elasticsearch-7.4.2-03/logs/* 4.查看启动日志 /usr/local/elk/elasticsearch-7.4.2/logs/elasticsearch.log 5.检查启动情况 ps -ef|grepelasticsearch 验证es访问情况 curl -u elastic:123456 -XGET 'http://192.168.1.89:9200/_cat/nodes?v' curl -u elastic:123456 -XGET 'http://192.168.1.89:9202/_cat/nodes?v' curl -u elastic:123456 -XGET 'http://192.168.1.89:9203/_cat/nodes?v' 能够访问代表es的身份认证和es启动都没有问题,但是数据没有更新需要将data目录下面的删除掉然后再进行重启,即可 /usr/local/elk/elasticsearch-7.4.2-02/data 这样显示的则是正常的ES集群,如果有一台挂掉了会根据配置文件中的nodid进行选举最小值的成为新的主节点。 验证访问地址 http://192.168.1.89:9200/ http://192.168.1.89:9202/ http://192.168.1.89:9203/ elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user 默认密码都设置的123456 三.部署logstash 1.解压logstash 2.修改配置文件gp-logstash.conf cat gp-logstash.conf input { beats{ port => "5044" } } filter { if [fields][log_format] == "gp-gpc"{ grok { match => {"message" => "%{TIME:logTime} %{WORD:logType} %{DATA:class}-%{GREEDYDATA:logMessage}"} } } else if [fields][log_format] == "gp-auth"{ grok { match => {"message" => "%{DATA:logTime} %{NUMBER:relative} \[%{DATA:thread}\] %{WORD:logType} %{DATA:class}-%{GREEDYDATA:logMessage}"} } date { match => ["logTime","yyyy-MM-dd HH:mm:ss"] target => "@timestamp" } } else { if [fields][log_format] == "gp-count"{ grok { match => {"message" => "%{TIMESTAMP_ISO8601:logTime} \[%{DATA:thread}\] %{GREEDYDATA:log_json}"} } json { source => "log_json" remove_field=>["log_json"] } } else if [fields][log_format] == "gp-gpx"{ grok { match => {"message" => "%{TIMESTAMP_ISO8601:logTime} %{DATA:logType} %{NUMBER:Pid} --- \[%{DATA:thread}\] %{DATA:class}:%{GREEDYDATA:logMessage}"} } } else if [fields][log_format] == "gp-gpc-tomcat"{ grok { match => {"message" => "%{TIMESTAMP_ISO8601:logTime} %{DATA:logType} \(%{DATA:class}:%{NUMBER:number}\) -%{GREEDYDATA:logMessage}"} } } else { grok { match => {"message" => "%{TIMESTAMP_ISO8601:logTime} \[%{DATA:thread}\] %{WORD:logType} %{DATA:class}-%{GREEDYDATA:logMessage}"} } } date { match => ["logTime", "ISO8601"] target => "@timestamp" } } } output{ elasticsearch { hosts => "http://192.168.1.89:9200" user => "elastic" password => "admin123" index => "%{[fields][log_type]}-%{+YYYY.MM.dd}" } } 3.启动logstash nohup ./logstash -f config/gp-logstash.conf & logstash启动成功 4.检查启动情况 ps -ef|greplogstash 四.部署filebeat 1.解压filebeat 2.添加配置文件 vim mybeat.yml filebeat.inputs: - type: log enabled: true close_older: 24h max_bytes: 1048576 paths: - /usr/local/log/gp-gateway-center/log_debug.log - /usr/local/log/gp-gateway-center/log_error.log - /usr/local/log/gp-gateway-center/log_info.log - /usr/local/log/gp-gateway-center/log_warn.log fields: log_type: gp-gateway-center log_format: gp-other multiline.pattern: '^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}' multiline.negate: true multiline.match: after - type: log enabled: true close_older: 24h max_bytes: 1048576 paths: - /usr/local/log/gp-gateway-center/log_count.log fields: log_type: gp-gateway-count log_format: gp-count multiline.pattern: '^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}' multiline.negate: true multiline.match: after 3.启动filebeat并加载配置文件 nohup ./filebeat -e -c mybeat.yml & disown 4.检查启动情况 ps -ef|grepfilebeat 五.部署kibana 1.解压kibana elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user 密码都是123456 kibana同样不允许root用户直接运行,所以要使用elsearch或普通用户运行 mkdir /usr/local/elk/kibana-7.4.2-linux-x86_64/run chown elsearch:elsearch kibana-7.4.2-linux-x86_64/ -R 2.添加配置文件 vim kibana.yml server.port: 5601 server.host: "0.0.0.0" server.name: "192.168.1.89" elasticsearch.hosts: ["http://192.168.1.89:9200"] elasticsearch.ssl.verificationMode: "none" elasticsearch.requestTimeout: 90000 xpack.security.encryptionKey: "something_at_least_32_characters" xpack.reporting.encryptionKey: "a_random_string" elasticsearch.username: "elastic" elasticsearch.password: "admin123" i18n.locale: "zh-CN" 3.启动kibana nohup /usr/local/elk/kibana-7.4.2-linux-x86_64/bin/kibana & 4.检查启动情况 ps -ef|grepnode 访问地址 http://192.168.1.89:5601 账户密码elastic 123456 配置 Heartbeat 运行监测 根据上面地址下载插件然后安装即可 安装完成修改配置文件/etc/heartbeat/heartbeat.yml 修改完成配置文件后使用命令heartbeat setupsetup 命令加载 Kibana 索引模式 启动heartbeat 服务 检查数据 数据加载完全后,这样显示的,三台es集群,正常情况下应该是不同的IP的三台机器,这里是因为机器紧张做的,效果已经出来,到此es集群搭建完毕。 六.检查所有服务启动情况 检查elasticsearch 检查filebeat 检查kibana 检查logstash 针对如下两种情况才推出的轻量级的filebeat,获取容器中的日志说明 (1)日志从容器挂载至ELK服务器缓慢 (2)日志在Logstash格式化解析缓慢 filebeat存在一个严重的弊端会占用系统资源,日志量越大消耗的系统资源情况越多,有的企业节点机或者容器给的资源紧缺,所以就放弃使用了filebeat 现在服务器产生的日志有以下几种 1)程序自定义产生的日志(*.log或者*.file文件) 2)Java程序后台启动的日志输出文件nohup.out 3)tomcat程序的日志输出文件catalina.out 4)容器的日志(获取的内容是容器内部的标准化控制台输出) 这几种日志的nohup.out、catalina.out、容器日志都会被华为云的AOM所截取(并不会保留相关文件)。 因此ELK想要获取程序的日志,只能通过程序自定义产生的日志。使用程序自定义产生的日志可控性更高。 1.2.2ELK概述 ELK日志管理系统提供了强大的日志管理能力。 ELK总体上分为四部分,ES用于日志的存储、Logstash用于日志的解析和格式化、Kibana用于日志界面的展示、Filebeat用于日志的截取。 ELK包含了日志定期清理功能(清除ES存储的日志)。 ELK日志管理系统可以不影响AOM的使用。 1.2.3日志传输 旧版使用ELK获取容器内部日志的流程如下图所示: 此流程在日志文件挂载和日志切割格式化过程耗时缓慢。 新版方案如下图所示: 此方案由容器内部进行日志的获取和推送,减少了日志挂载过程中的耗时问题。在开发环境测试时,日志切割格式化缓慢的原因很大程度在于服务器资源不够。如果能提高服务器资源,可以提高日志格式化的效率。 此方案的弊端机器耗费filebeat客户端所在的容器内的资源,在生产环境安装时,一定要考虑资源情况,如果资源不够,要放弃filebeat的使用 2.1.1准备filebeat启动脚本 filebeat程序主要是将程序的日志进行读取和分割,最后将读取的日志推送至logstash服务中。因为考虑到多环境的部署,此logstash服务的IP地址需要可配置。并且考虑到某些私有化部署可能不需要filebeat,因此filebeat的启动也需要进行控制。 因此需要单独准备一个脚本用于控制上述两个问题。脚本内容如下所示: #!/bin/bashlogstash=$1filebeatEnable=$2if [ $filebeatEnable = "false" ]; thenecho "Do not start the filebeat program!Because filebeat Archive not exist"elsetar -C /usr/local/project -zxvf /usr/local/project/filebeat-7.4.2-linux-x86_64.tar.gzcp /usr/local/project/mybeat.yml /usr/local/project/filebeat-7.4.2-linux-x86_64/mybeat.ymlnohup /usr/local/project/filebeat-7.4.2-linux-x86_64/filebeat -e -E output.logstash.hosts=["$logstash"] -c /usr/local/project/filebeat-7.4.2-linux-x86_64/mybeat.yml & disownstatus=$?if [ $status -ne 0 ]; thenecho "Failed to start filebeat: $status"exit $statusfifi 2.1.2构建基础镜像 需要基于原始的Java8镜像或者其他Java基础镜像构建出一个新的基础镜像。 新版的基础镜像需要新增两个文件,分别是: (1)filebeat程序的压缩包。 (2)启动filebeat程序的启动脚本。 构建基础镜像的操作步骤如下: (1)基于基础镜像创建容器。 (2)将程序包拷贝至容器内部。指定目录为/usr/local/project (3)将脚本文件拷贝至容器内部。指定目录为/usr/local/project (4)修改脚本文件的权限为可执行。 (5)基于容器构建新版本镜像(bosssoft/java:8.0.1) 2.1.3 jar包程序,更改Dockerfile 在容器内部需要同时启动filebeat和应用程序。因此需要修改每个服务的Dockerfile文件。Dockerfile模板示例如下所示: FROM bosssoft/java:8.0.1WORKDIR /usr/local/projectENV apollo DEVENV logstash 192.168.8.108:5044ENV upEnv ""ENV filebeatEnable falseADD mybeat /usr/local/project/mybeat.ymlADD gp-portal-center-docker-cloud.jar gp-portal-center-docker-cloud.jarEXPOSE 7004CMD ./run.sh $logstash $filebeatEnable ; java -Denv=$apollo $upEnv -Duser.timezone=GMT+8 -Xms512m -Xmx1024m -jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/OOM /usr/local/project/gp-portal-center-docker-cloud.jar l基于构建的基础镜像,并规定工作空间为/usr/local/project,和filebeat压缩包同级目录。 l准备4个环境变量参数。 napollo: 指定apollo启动的环境,即指定读取apollo服务的地址。 nlogstash: 指定logstash服务的IP和端口号 nupEnv: 指定启动程序时的参数。目前可用于指定apollo服务的地址,多用于私有化部署。参数内容为:-Dapollo.meta=http://dev.apollo.com:8099。默认值为空,即使用apollo指定的地址。 nfilebeatEnable: 指定是否需要启动filebeat进行日志的推送。 l将filebeat的配置文件上传至容器内部 l拷贝程序包 l通过CMD指定同时执行多个脚本。命令通过分号分隔,意思为不管filebeat是否启动成功,都执行后续的程序包。 2.1.4准备mybeat文件 mybeat文件是filebeat读取日志的配置文件。内部指定了程序所需要读取的日志目录,以及读取日志的其他规则。 示例文件如下所示: filebeat.inputs:- type: logenabled: trueclose_older: 24hmax_bytes: 1048576scan_frequency: 3sbackoff: 1smax_backoff: 1sbackoff_factor: 1paths:- /usr/local/project/gp-portal-center-log/log_debug.log- /usr/local/project/gp-portal-center-log/log_error.log- /usr/local/project/gp-portal-center-log/log_info.log- /usr/local/project/gp-portal-center-log/log_warn.logfields:log_type: gp-portal-centerlog_format: gp-othermultiline.pattern: '^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}'multiline.negate: truemultiline.match: after 2.1.5重新构建业务镜像 最后重新构建业务镜像,通过新版本的Dockerfile文件进行构建,并运行容器。 2.2.1准备filebeat启动脚本 与Java程序相同,在tomcat镜像启动的容器中启动filebeat也需要考虑到两个问题,即filebeat的启动可配置和logstash的IP地址可配置。 所以脚本内容和Java程序的一致即可,具体内容如下所示: #!/bin/bashlogstash=$1filebeatEnable=$2if [ $filebeatEnable = "false" ]; thenecho "Do not start the filebeat program!Because filebeat Archive not exist"elsetar -C /usr/local/project -zxvf /usr/local/project/filebeat-7.4.2-linux-x86_64.tar.gzcp /usr/local/project/mybeat.yml /usr/local/project/filebeat-7.4.2-linux-x86_64/mybeat.ymlnohup /usr/local/project/filebeat-7.4.2-linux-x86_64/filebeat -e -E output.logstash.hosts=["$logstash"] -c /usr/local/project/filebeat-7.4.2-linux-x86_64/mybeat.yml & disownstatus=$?if [ $status -ne 0 ]; thenecho "Failed to start filebeat: $status"exit $statusfifi 2.2.2构建基础镜像 基于原始的tomcat镜像,或者其他tomcat基础镜像构建出一个新版本的镜像。 新版的基础镜像需要新增两个文件,分别是: (3)filebeat程序的压缩包。 (4)启动filebeat程序的启动脚本。 操作步骤如下: (6)基于基础镜像创建容器。 (7)将程序包拷贝至容器内部。指定目录为/usr/local/project (8)将脚本文件拷贝至容器内部。指定目录为/usr/local/project (9)修改脚本文件的权限为可执行。 (10)基于容器构建新版本镜像(bosssoft/tomcat:8.0.1) 2.2.3 tomcat程序包,更改Dockerfile 在容器内部需要同时启动filebeat和应用程序。因此需要修改每个服务的Dockerfile文件。Dockerfile模板示例如下所示: FROM bosssoft/tomcat:8MAINTAINER GP-PLATFORMWORKDIR /usr/local/tomcat/webappsENV apollo DEVENV logstash 192.168.8.108:5044ENV upEnv ""ENV filebeatEnable falseRUN sed -i 's#"8080"#"7002"#' /usr/local/tomcat/conf/server.xmlRUN sed -i '2s#^#CATALINA_OPTS="$CATALINA_OPTS-javaagent:/usr/local/agent/skywalking-agent.jar -Dskywalking.agent.service_name=gp-auth-center -Dskywalking.agent.application_code=gp-auth-center -Denv=$apollo $upEnv";#' /usr/local/tomcat/bin/catalina.shRUN sed -i '2a export CATALINA_OPTS' /usr/local/tomcat/bin/catalina.shADD mybeat /usr/local/project/mybeat.ymlADD gp-auth-center.war gp-auth-center.warEXPOSE 7002CMD /usr/local/project/run.sh $logstash $filebeatEnable ; /usr/local/tomcat/bin/catalina.sh run l基于构建的基础镜像,并规定工作空间为/usr/local/tomcat/webapps。 l准备4个环境变量参数。 napollo: 指定apollo启动的环境,即指定读取apollo服务的地址。 nlogstash: 指定logstash服务的IP和端口号 nupEnv: 指定启动程序时的参数。目前可用于指定apollo服务的地址,多用于私有化部署。参数内容为:-Dapollo.meta=http://dev.apollo.com:8099。默认值为空,即使用apollo指定的地址。 nfilebeatEnable: 指定是否需要启动filebeat进行日志的推送。 l将参数写入至tomcat的启动脚本中 l将filebeat的配置文件上传至容器内部 l拷贝程序包 l通过CMD指定同时执行多个脚本。命令通过分号分隔,意思为不管filebeat是否启动成功,都执行后续的程序包。 2.2.4准备mybeat文件 mybeat文件是filebeat读取日志的配置文件。内部指定了程序所需要读取的日志目录,以及读取日志的其他规则。 示例文件如下所示: filebeat.inputs:- type: logenabled: trueclose_older: 24hmax_bytes: 1048576scan_frequency: 3sbackoff: 1smax_backoff: 1sbackoff_factor: 1paths:- /usr/local/tomcat/webapps/gp-auth-center-log/log_debug.log- /usr/local/tomcat/webapps /gp- auth -center-log/log_error.log- /usr/local/tomcat/webapps /gp- auth -center-log/log_info.log- /usr/local/tomcat/webapps /gp- auth -center-log/log_warn.logfields:log_type: gp-auth-centerlog_format: gp-othermultiline.pattern: '^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}'multiline.negate: truemultiline.match: after 2.2.5重新构建业务镜像 最后重新构建业务镜像,通过新版本的Dockerfile文件进行构建,并运行容器。 filebeat只在测试环境使用了,并没有在线上环境使用,线上环境放弃了featbeat使用elk的集群直接用logstash读取了本地nas存储中的日志文件

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

E-MapReduce-3.24.0版本发行

信息摘要: 包括新增Delta、Flink独立集群(白名单发布)、支持TensorFlow on spark,以及多个组件版本升级适用客户: 全部客户版本/规格功能: 1、新增 Delta,2、新增Flink独立集群(白名单发布),其上新增Grafana、Prometheus和AlertManager3、支持TensorFlow on spark4、Presto升级至0.2285、Druid升级至0.16.06、Flume升级至1.9.07、Flink升级至1.9.1产品文档: https://help.aliyun.com/document_detail/148366.html

资源下载

更多资源
腾讯云软件源

腾讯云软件源

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

Spring

Spring

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

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

用户登录
用户注册