CN108509326B - 一种基于nginx日志的服务状态统计方法及系统 - Google Patents
一种基于nginx日志的服务状态统计方法及系统 Download PDFInfo
- Publication number
- CN108509326B CN108509326B CN201810312563.2A CN201810312563A CN108509326B CN 108509326 B CN108509326 B CN 108509326B CN 201810312563 A CN201810312563 A CN 201810312563A CN 108509326 B CN108509326 B CN 108509326B
- Authority
- CN
- China
- Prior art keywords
- log
- service
- nginx
- server
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于nginx日志的服务状态统计方法及系统,通过采集想要代理中间件(负载均衡)日志,将用户访问服务器的各种http状态数据采集并存储到ElasticSearch数据库中,可进一步通过程序分析计算出各种访问状态;并根据各个访问状态来判断应用服务的正常与否;还可以通过日志分析其中哪些状态是异常的,根据异常状态的日志,分析出是什么原因导致的异常,并根据得到的数据再判断是否需要对服务进行调整优化、是否更加稳定运行;对服务的文档高可用提供根本性的依据。本发明在简化访问数量难度、复杂性和繁琐度上面提供了一套对用户友好的解决方案;也为统计请求数量、统计服务健康状况等的准确度提供另外一个思路。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于nginx日志的服务状态统计方法及系统。
背景技术
任何线上的服务只要存在大量用户访问的情况,就必须有负载均衡的中间件,而我们提供的服务则必须要保证用户使用时系统的稳定,同时还需要为运营运维人员提供相关数据,运维人员在查看当前服务是否正常时,一般是通过一系列监控手段来实现,具体包括判断服务域名下请求的服务返回状态是否正确、是否有异常返回等,一般通过简单的统计就可以反映相关的服务状态。
本发明的技术方案就在这样的技术背景下诞生,其在简化访问数量难度、复杂性和繁琐度上面提供了一套对用户友好的解决方案;也为统计请求数量、统计服务健康状况等的准确度提供另外一个思路。
发明内容
本发明的目的是基于上述背景技术,提供一种基于nginx日志的服务状态统计方法及系统,可在简化访问数量难度、复杂性和繁琐度上面提供了一套对用户友好的解决方案;也为统计请求数量、统计服务健康状况等的准确度提供另外一个思路。
为了达到上述的技术效果,本发明采取以下技术方案:
一种基于nginx日志的服务状态统计方法,具体包含以下步骤:
日志格式配置步骤:配置nginx服务产生的日志的格式并启动nginx服务代理,从而使得nginx生成配置的json格式的日志;
日志信息采集步骤:通过日志采集服务器filebeat采集nginx服务产生的日志文件,并将采集到的日志文件保留并转发到日志文档内容存储服务器ElasticSearch中;
日志索引创建及日志保存步骤:在日志文档内容存储服务器ElasticSearch创建基于filebeat模板的索引,并将filebeat传过来的日志内容存放到对应的索引中;
日志展示步骤:通过查询展示程序服务器Grafana,将ElasticSearch作为数据库链接对象,在对应的索引中查询存储的日志内容并通过展示模板及展示报表展示;
在本发明的基于nginx日志的服务状态统计方法中,主要用filebeat来采集nginx的access_log并自动化和实时传输给ElasticSearch;ElasticSearch对filebeat传过来的日志进行储存,filebeat可具体按照每天来创建对应的索引;ElasticSearch还可提供查询接口,让用户能根据查看需要对应的nginx日志内容;最后再利用Grafana的中间件配置ElasticSearch数据源,满足用户统计服务各状态需求;
即本发明的方法通过采集想要代理中间件(负载均衡)日志,将用户访问服务器的各种http状态数据采集并存储到ElasticSearch数据库中,通过程序分析计算出各种访问状态;再由运维人员根据各个访问状态来判断应用服务的正常与否;还可以通过日志分析其中哪些状态是异常的,根据异常状态的日志,分析出是什么原因导致的异常,并根据我们得到的数据再判断是否需要对服务进行调整优化、是否更加稳定运行;对服务的文档高可用提供了根本性的依据。
进一步地,在所述日志信息采集步骤中还包含日志数据清洗步骤,即:
所述日志采集服务器filebeat采集到nginx服务产生的日志文件后,将对采集到的数据按照特定需求进行数据的过滤,仅保留需求的部分日志数据内容,再将保留的日志数据内容转发到日志文档内容存储服务器ElasticSearch中。
进一步地,所述日志数据清洗步骤可通过在日志采集服务器filebeat中配置具有特定数据过滤规则的数据清除服务exclude_files实现。
进一步地,所述日志格式配置步骤中,具体是将nginx服务产生的日志配置为具有健值对形式的日志属性,且其键名与查询展示程序服务器Grafana的模板中的键名一一对应;
也即是说日志格式配置必须是按照指定的key:value对配置,且需要记录配置的对应格式的键名以便在grafana通过ElasticSearch查询日志数据时根据键名来统计,这个键名可以任意指定,但对应于grafana程序模板中的键名必须一一对应即可;配置完成后使nginx重新加载配置以便产生日志内容供filebeat读取并采集。
同时,本发明还公开了一种基于nginx日志的服务状态统计系统,包含以下模块:用于配置nginx服务产生的日志的格式的日志格式配置模块、用于采集nginx服务产生的日志文件的数据采集模块、用于保存日志数据的存储模块及用于展示日志内容的前端展示系统;其中,所述存储模块分别与数据采集模块及前端展示系统相连。
进一步地,还包含用于过滤日志数据的数据清洗模块,所述数据清洗模块与数据采集模块相连。
本发明与现有技术相比,具有以下的有益效果:
与现有技术相比,本发明的技术方案是通过采集想要代理中间件(负载均衡)日志,将用户访问服务器的各种http状态数据采集并存储到ElasticSearch数据库中,可进一步通过程序分析计算出各种访问状态;并根据各个访问状态来判断应用服务的正常与否;还可以通过日志分析其中哪些状态是异常的,根据异常状态的日志,分析出是什么原因导致的异常,并根据得到的数据再判断是否需要对服务进行调整优化、是否更加稳定运行;对服务的文档高可用提供根本性的依据;
其主要是基于filebeat和ElasticSearch方案的日志采集和Grafana的统计查询并展示给用户报表图,在简化访问数量难度、复杂性和繁琐度上面提供了一套对用户友好的解决方案;也为统计请求数量、统计服务健康状况等的准确度提供另外一个思路。
附图说明
图1是本发明的基于nginx日志的服务状态统计方法的流程图。
图2是本发明的基于nginx日志的服务状态统计系统的示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
实施例一:
如图1所示,一种基于nginx日志的服务状态统计方法,具体包含以下步骤:
日志格式配置步骤:配置nginx服务产生的日志的格式并启动nginx服务代理,从而使得nginx生成配置的json格式的日志。
具体为配置nginx服务程序中需要配置日志的产生格式,配置成功后启动nginx服务代理;让nginx服务产生的日志是由我们配置的键、值形式的日志格式;也即日志格式配置必须是按照我们指定的key:value对配置;再让nginx服务程序产生的日志存放在指定路径下,并可以让filebeat程序读取这些日志文件的内容。
其中,日志格式配置必须是按照指定的key:value对配置,且需要记录配置的对应格式的键名以便在grafana通过ElasticSearch查询日志数据时根据键名来统计,这个键名可以任意指定,但对应于grafana程序模板中的键名必须一一对应。
日志信息采集、清洗步骤:日志采集服务器filebeat采集到nginx服务产生的日志文件后,将对采集到的数据按照特定需求进行数据的过滤,仅保留需求的部分日志数据内容,再将保留的日志数据内容转发到日志文档内容存储服务器ElasticSearch中。
具体为在对应的nginx服务器上部署并配置好filebeat采集程序,让filebeat能读取到日志格式配置步骤中nginx产生的日志文件;将日志文件中我们需要的数据保留并转发到ElasticSearch服务程序中去;
其中,剔除不需要的日志内容可通过exclude_files:配置进行;并将剔除后的日志内容发送给elasticsearch服务存储到指定的索引名中。
日志索引创建及日志保存步骤:在日志文档内容存储服务器ElasticSearch创建基于filebeat模板的索引,并将filebeat传过来的日志内容存放到对应的索引中;并在保存后继续运行提供http的API供查询调用。
日志展示步骤:通过查询展示程序服务器Grafana,将ElasticSearch作为数据库链接对象,在对应的索引中查询存储的日志内容并通过展示模板及展示报表展示;其中,索引名可以任意指定,但是索引文件模板必须根据官方提供的模板修改。
在本发明的基于nginx日志的服务状态统计方法中,主要用filebeat来采集nginx的access_log并自动化和实时传输给ElasticSearch;ElasticSearch对filebeat传过来的日志进行储存,filebeat可具体按照每天来创建对应的索引;ElasticSearch还可提供查询接口,让用户能根据查看需要对应的nginx日志内容;最后再利用Grafana的中间件配置ElasticSearch数据源,满足用户统计服务各状态需求。
即本发明的方法通过采集想要代理中间件(负载均衡)日志,将用户访问服务器的各种http状态数据采集并存储到ElasticSearch数据库中,通过程序分析计算出各种访问状态;再由运维人员根据各个访问状态来判断应用服务的正常与否;还可以通过日志分析其中哪些状态是异常的,根据异常状态的日志,分析出是什么原因导致的异常,并根据我们得到的数据再判断是否需要对服务进行调整优化、是否更加稳定运行;对服务的文档高可用提供了根本性的依据。
实施例二
如图2所示,一种基于nginx日志的服务状态统计系统,包含以下模块:用于配置nginx服务产生的日志的格式的日志格式配置模块、用于采集nginx服务产生的日志文件的数据采集模块、用于保存日志数据的存储模块及用于展示日志内容的前端展示系统、用于过滤日志数据的数据清洗模块。
其中,所述存储模块分别与数据采集模块及前端展示系统相连,数据清洗模块与数据采集模块相连。
本实施例的基于nginx日志的服务状态统计系统工作时,具体包含以下步骤:
步骤一、日志格式配置模块配置nginx中的配置文件,让access_log的log_format按照指定的key:value对配置,让nginx生成配置的json格式的日志;
步骤二、在对应的nginx服务器上部署数据采集模块,并通过数据采集模块采集对应nginx产生的日志,并将采集的日志发送给数据清洗模块进行数据清洗过滤。
步骤三、数据清洗模块将收到的日志中无用的元数据清洗掉,将经过过滤的日志返回至数据采集模块,由数据采集模块将日志发送给存储模块按照约定的规则进行存储。
步骤四、在存储模块中按照每天来创建对应的索引,并将收到的日志内容存放到对应的索引中;在保存后继续运行提供http的API供查询调用。
步骤五、前端展示系统根据用户需求在对应的索引中查询存储的日志内容并通过展示模板及展示报表展示。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (2)
1.一种基于nginx日志的服务状态统计方法,其特征在于,具体包含以下步骤:
日志格式配置步骤:配置nginx服务产生的日志的格式并启动nginx服务器;所述日志格式配置步骤中,具体是将nginx服务产生的日志配置为具有健值对形式的日志属性,且其键名与查询展示程序服务器Grafana的模板中的键名一一对应;
日志信息采集步骤:通过日志采集服务器filebeat采集nginx服务器产生的日志文件,并将采集到的日志文件保留并转发到日志文档内容存储服务器ElasticSearch中;
在所述日志信息采集步骤中还包含日志数据清洗步骤,即:
所述日志采集服务器filebeat采集到nginx服务器产生的日志文件后,将对采集到的数据按照特定需求进行数据的过滤,仅保留需求的部分日志数据内容,再将保留的日志数据内容转发到日志文档内容存储服务器ElasticSearch中;
日志索引创建及日志保存步骤:在日志文档内容存储服务器ElasticSearch中创建基于filebeat的模板的索引,并将filebeat传过来的日志内容存放到对应的索引中;
日志展示步骤:通过查询展示程序服务器Grafana,将ElasticSearch作为数据库链接对象,在对应的索引中查询存储的日志内容并通过展示模板及展示报表展示。
2.根据权利要求1所述的一种基于nginx日志的服务状态统计方法,其特征在于,所述日志数据清洗步骤可通过在日志采集服务器filebeat中配置具有特定数据过滤规则的数据清除服务exclude_files实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810312563.2A CN108509326B (zh) | 2018-04-09 | 2018-04-09 | 一种基于nginx日志的服务状态统计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810312563.2A CN108509326B (zh) | 2018-04-09 | 2018-04-09 | 一种基于nginx日志的服务状态统计方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509326A CN108509326A (zh) | 2018-09-07 |
CN108509326B true CN108509326B (zh) | 2021-08-27 |
Family
ID=63380948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810312563.2A Active CN108509326B (zh) | 2018-04-09 | 2018-04-09 | 一种基于nginx日志的服务状态统计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509326B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109245931B (zh) * | 2018-09-19 | 2021-04-16 | 四川虹微技术有限公司 | 基于kubernetes的容器云平台的日志管理和监控报警的实现方法 |
CN109359142B (zh) * | 2018-09-29 | 2020-11-27 | 北京明朝万达科技股份有限公司 | 一种数据处理方法、数据处理装置、计算机设备及可读存储介质 |
CN109491859B (zh) * | 2018-10-16 | 2021-10-26 | 华南理工大学 | 针对Kubernetes集群中容器日志的收集方法 |
CN109739657A (zh) * | 2018-11-30 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、系统、装置及设备 |
CN113347052B (zh) * | 2020-03-03 | 2023-09-05 | 北京京东尚科信息技术有限公司 | 通过访问日志统计用户访问数据的方法和装置 |
CN112598432A (zh) * | 2020-11-17 | 2021-04-02 | 深圳市世强元件网络有限公司 | 一种网站用户积分计算方法、装置及计算机设备 |
CN114780820B (zh) * | 2022-04-28 | 2022-11-01 | 广州高专资讯科技有限公司 | 一种基于开源平台的目标匹配系统及方法 |
CN114826943B (zh) * | 2022-06-30 | 2022-10-28 | 山东捷瑞数字科技股份有限公司 | 一种nginx日志分析方法及系统 |
CN115426253B (zh) * | 2022-08-23 | 2024-01-26 | 浪潮软件科技有限公司 | 基于日志文件的web服务器监控方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012155455A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种基于web平台的日志分析方法及系统 |
CN105608203A (zh) * | 2015-12-24 | 2016-05-25 | Tcl集团股份有限公司 | 一种基于Hadoop平台的物联网日志处理方法和装置 |
CN106130782A (zh) * | 2016-07-19 | 2016-11-16 | 努比亚技术有限公司 | 一种获取服务器日志的方法和系统 |
CN106992876A (zh) * | 2017-03-04 | 2017-07-28 | 郑州云海信息技术有限公司 | 云平台日志管理方法及系统 |
-
2018
- 2018-04-09 CN CN201810312563.2A patent/CN108509326B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012155455A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种基于web平台的日志分析方法及系统 |
CN105608203A (zh) * | 2015-12-24 | 2016-05-25 | Tcl集团股份有限公司 | 一种基于Hadoop平台的物联网日志处理方法和装置 |
CN106130782A (zh) * | 2016-07-19 | 2016-11-16 | 努比亚技术有限公司 | 一种获取服务器日志的方法和系统 |
CN106992876A (zh) * | 2017-03-04 | 2017-07-28 | 郑州云海信息技术有限公司 | 云平台日志管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108509326A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509326B (zh) | 一种基于nginx日志的服务状态统计方法及系统 | |
US11792291B1 (en) | Proxying hypertext transfer protocol (HTTP) requests for microservices | |
US11768811B1 (en) | Managing user data in a multitenant deployment | |
US20220012221A1 (en) | Generating a query response by combining partial results from separate partitions of event records | |
US9934309B2 (en) | Query conversion for converting structured queries into unstructured queries for searching unstructured data | |
US9659043B2 (en) | Data system and method | |
CN110413599A (zh) | 数据实时处理与存储系统及方法 | |
CN103942210A (zh) | 海量日志信息的处理方法、装置与系统 | |
US10169491B2 (en) | Query servicing with access path security in a relational database management system | |
CN102750326A (zh) | 一种基于精简策略的集群系统的日志管理优化方法 | |
US8713368B2 (en) | Methods for testing OData services | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN108920607B (zh) | 字段发现方法、装置及电子设备 | |
US11676345B1 (en) | Automated adaptive workflows in an extended reality environment | |
CN103457836A (zh) | 即时通信文件夹的实现方法及客户端 | |
CN106708965A (zh) | 一种数据的处理方法和装置 | |
CN107526755B (zh) | 数据的处理方法及装置 | |
US20220052976A1 (en) | Answer text processing methods and apparatuses, and key text determination methods | |
CN110598051A (zh) | 一种电力行业监控系统、方法及装置 | |
CN112052134A (zh) | 一种业务数据的监控方法及装置 | |
US10417334B2 (en) | Systems and methods for providing a microdocument framework for storage, retrieval, and aggregation | |
CN113805777A (zh) | 业务系统最优操作路径生成方法及系统 | |
WO2017000592A1 (zh) | 数据处理方法、装置及系统 | |
CN109408502A (zh) | 一种数据标准处理方法、装置及其存储介质 | |
CN202931393U (zh) | 数据发送处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |