精华内容
下载资源
问答
  • 主要介绍了用服务器日志监控软件、服务器日志分析工具软件教你如何查看服务器日志?,需要的朋友可以参考下
  • 行业分类-设备装置-计算机服务器集群日志监控方法及监控平台
  • 使用Elastic公司的Metricbeat,Metricbeat和Filebeat一样,是一个轻量级的采集器,不但可以监控服务器的性能指标,还可以监控运行在服务区之上的应用信息(eg.Apache、MongoDB、MySQL、Ngnix、PostgreSQL、R...

    一、需求

    监控服务器的CPU使用率、内存使用情况、线程数等机器物理性能,类似于Windows的资源管理器功能。

    二、解决方案

    使用Elastic公司的Metricbeat,Metricbeat和Filebeat一样,是一个轻量级的采集器,不但可以监控服务器的性能指标,还可以监控运行在服务区之上的应用信息(eg.Apache、MongoDB、MySQL、Ngnix、PostgreSQL、Redis、Zookeeper、System)。

    三、安装与配置

    实验的机器环境如下:

    操作系统:Ubuntu 16.04

    ELK版本:6.1.2

    3.1 下载

    启动Elasticsearch、Elasticsearch-Head、Kibana,端口都是默认端口。

    去官网下载metricbeat 6.1.2,https://www.elastic.co/downloads/beats/packetbeat

    解压:

    tar  -zxvf  metricbeat-6.1.2-linux-x86_64.gz

    3.2 配置dashboard

    修改metricbeat-6.1.2-linux-x86_64目录下的metricbeat.yml,该文件为metricbeat的配置文件。

    找到Dashboards,找到下面这行:

    #setup.dashboards.enabled: false

    去掉注释并把参数改为true:

    setup.dashboards.enabled: true

    这里写图片描述

    3.3 配置kibana

    找到kibana部分,把host注释去除,修改为kibana的ip+端口。

      host: "localhost:5601"

    四、启动

    切换到metricbeat根目录,执行启动命令:

    ./metricbeat -e -c metricbeat.yml -d "publish"

    五、结果

    打开kibana的dashboard,查看结果。
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    展开全文
  • 服务器运维监控知识体系

    千次阅读 2020-05-15 14:24:57
    从来没讲过运维,因为我觉得运维这种东西不需要太多的知识面,然后我一个做了运维朋友告诉我大错特错,...当然,对监控不是很明白的朋友们,看了以下文章可能会对监控整个体系有比较深刻的认识。 一、监控目标 每个人

    从来没讲过运维,因为我觉得运维这种东西不需要太多的知识面,然后我一个做了运维朋友告诉我大错特错,他就是从3K的运维一步步到40K的,甚至笑着说:我现在感觉自己什么都能做。

    既然讲,就讲最重要的吧。

    监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方案。当然,对监控不是很明白的朋友们,看了以下文章可能会对监控整个体系有比较深刻的认识。

    一、监控目标

    每个人由于所在的行业、公司、业务、岗位不同,对监控的理解也不尽相同,但是我们需要注意,监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。

     

    1. 对系统不间断的实时监控:实际上是对系统不间断的实时监控(这就是监控);
    2. 实时反馈系统当前状态:我们监控某个硬件、或者某个系统,都是需要能实时看到当前系统的状态,是正常、异常、或者故障。
    3. 保证服务可靠性安全性:我们监控的目的就是要保证系统、服务、业务正常运行
    4. 保证业务持续稳定运行:如果我们的监控做得很完善,即使出现故障,能第一时间接收到故障报警,在第一时间处理解决,从而保证业务持续性的稳定运行。

    二、监控方法

     

    1.了解监控对象:我们要监控的对象你是否了解呢?比如CPU到底是如何工作的?

    2.性能基准指标:我们要监控这个东西的什么属性?比如CPU的使用率、负载、用户态、内核态、上下文切换。

    3.报警阈值定义:怎么样才算是故障,要报警呢?比如CPU的负载到底多少算高,用户态、内核态分别跑多少算高?

    4.故障处理流程:收到了故障报警,我们怎么处理呢?有什么更高效的处理流程吗?

    三、监控核心

     

    • 发现问题:当系统发生故障报警,我们会收到故障报警的信息。
    • 定位问题:故障邮件一般都会写某某主机故障、具体故障的内容,我们需要对报警内容进行分析。比如一台服务器连不上,我们就需要考虑是网络问题、还是负载太高导致长时间无法连接,又或者某开发触发了防火墙禁止的相关策略等,我们就需要去分析故障具体原因。
    • 解决问题:当然我们了解到故障的原因后,就需要通过故障解决的优先级去解决该故障。
    • 总结问题:当我们解决完重大故障后,需要对故障原因以及防范进行总结归纳,避免以后重复出现。

    四、监控工具

    下面我们需要选择一款适合公司业务的监控工具进行监控,。这里我对监控工具进行了简单的分类。

     

    1、老牌监控

    • MRTG(Multi Route Trffic Grapher)是一套可用来绘制网络流量图的软件,由瑞士奥尔滕的Tobias Oetiker与Dave Rand所开发,以GPL授权。MRTG最好的版本是1995年推出的,用Perl语言写成,可跨平台使用,数据采集用SNMP协议,MRTG将手机到的数据通过Web页面以GIF或者PNG格式绘制出图像。
    • Ganglia是一个跨平台的、可扩展的、高性能的分布式监控系统,如集群和网格。它基于分层设计,使用广泛的技术,用RRDtool存储数据。具有可视化界面,适合对集群系统的自动化监控。其精心设计的数据结构和算法使得监控端到被监控端的连接开销非常低。目前已有成千上万的集群正在使用这个监控系统,可以轻松地处理2000个节点的集群环境。
    • Cacti(英文含义为仙人掌)是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测图形分析工具,它通过snmpget来获取数据使用RRDtool绘图,但使用者无须了解RRDtool复杂的参数。提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定义模板。在历史数据展示监控方面,其功能相当不错。Cacti通过添加模板,使不同设备的监控添加具有可复用性,并且具备可自定义绘图的功能,具有强大的运算能力(数据的叠加功能)
    • Nagios是一个企业级监控系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机状态以及服务,同时提供异常告警通知功能等。Nagios可运行在Linux和UNIX平台上。同时提供Web界面,以方便系统管理人员查看网络状态、各种系统问题、以及系统相关日志等。Nagios的功能侧重于监控服务的可用性,能根据监控指标状态触发告警。目前Nagios也占领了一定的市场份额,不过Nagios并没有与时俱进,已经不能满足于多变的监控需求,架构的扩展性和使用的便捷性有待增强,其高级功能集成在商业版Nagios XI中。
    • Smokeping主要用于监视网络性能,包括常规的ping、www服务器性能、DNS查询性能、SSH性能等。底层也是用RRDtool做支持,特点是绘制图非常漂亮,网络丢包和延迟用颜色和阴影来标示,支持将多张图叠放在一起,其作者还开发了MRTG和RRDtll等工具。 Smokeping的站点为:http://tobi.oetiker.cn/hp。
    • 开源监控系统OpenTSDB用HBase存储所有时序(无须采样)的数据,来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的告警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的采集指标,并进行存储、索引和服务,从而使这些数据更容易让人理解,如Web化、图形化等。

    2、王牌监控

    • Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent代理,也支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。相对来说,它的总体功能做得非常优秀。从以上各种监控系统的对比来看,Zabbix都是具有优势的,其丰富的功能、可扩展的能力、二次开发的能力和简单易用的特点,读者只要稍加学习,即可构建自己的监控系统。
    • 小米的监控系统:Open-Falcon。Open-Falcon的目标是做最开放、最好用的互联网企业级监控产品。

    3、三方监控

    现在市场上有很多不错的第三方监控,比如:监控宝、监控易、听云、还有很多云厂商自带监控,但在这里我不打算着重介绍,如果想了解三方监控可自行上官网咨询。(避免说广告植入)

    五、监控流程

    上面介绍了这么多,到底选择什么监控工具最合适呢?我这里推荐几款开源监控工具:Zabbix、Open-Falcon、LEPUS天兔(专用于监控数据库)。但本文还是基于Zabbix来构建整个监控体系生态圈。 下面我们就来聊聊Zabbix的整个流程:

     

    1. 数据采集:Zabbix通过SNMP、Agent、ICMP、SSH、IPMI等对系统进行数据采集;
    2. 数据存储:Zabbix存储在MySQL上,也可以存储在其他数据库服务;
    3. 数据分析:当我们事后需要复盘分析故障时,Zabbix能给我们提供图形以及时间等相关信息,方面我们确定故障所在;
    4. 数据展示:Web界面展示、(移动APP、java_php开发一个Web界面也可以);
    5. 监控报警:电话报警、邮件报警、微信报警、短信报警、报警升级机制等(无论什么报警都可以);
    6. 报警处理:当接收到报警,我们需要根据故障的级别进行处理,比如:重要紧急、重要不紧急,等。根据故障的级别,配合相关的人员进行快速处理。

    六、监控指标

    上面了解了监控方法、目标、流程、也了解了监控有哪些工具,可能有人会疑惑,我们具体要监控些什么东西,在这里我进行了分类整理,包含硬件监控、系统监控、应用监控、网络监控、流量分析、日志监控、安全监控、API监控、性能监控、业务监控。

    1、硬件监控

    早期我们通过机房巡检的方式,查看硬件设备灯光闪烁情况判断是否故障,这样非常浪费人力,并且是重复性无技术含量的工作,大家懂得。

     

    当然我们现在可以通过IPMI对硬件详细情况进行监控,并对CPU、内存、磁盘、温度、风扇、电压等设置报警设置报警阈值(自行对监控报警内容编写合理的报警范围) 。

    IPMI监控硬件服务参考资料:Zabbix IPMI Interface

     

    2、系统监控

    中小型企业基本全是Linux服务器,那么我们肯定是要监控起系统资源的使用情况,系统监控是监控体系的基础。

    监控主要对象:

     

    CPU有几个重要的概念:上下文切换、运行队列和使用率。这也是我们CPU监控的几个重点指标。

    通常情况,每个处理器的运行队列不要高于3,CPU 利用率中用“户态/内核态”比例维持在70/30,空闲状态维持在50%,上下文切换要根据系统繁忙程度来综合考量。

    针对CPU常用的工具有:htop、top、vmstat、mpstat、dstat、glances。Zabbix提供系统监控模板:Zabbix Agent Interface。

     

    CPU整体状态

     

    上下文切换

     

    负载状态

    内存:通常我们需要监控内存的使用率、SWAP使用率、同时可以通过Zabbix描绘内存使用率的曲线图形发现某服务内存溢出等。

    针对内存常用的工具有:free、top、vmstat、glances。

     

    内存使用率

    IO分为磁盘IO和网络IO。除了在做性能调优我们要监控更详细的数据外,日常监控只关注磁盘使用率、磁盘吞吐量、磁盘写入繁忙程度,网络也是监控网卡流量即可。常用工具有:iostat、iotop、df、iftop、sar、glances。

     

    磁盘使用率

     

    磁盘读/写吞吐

     

    网卡进出口流量

     

    TCP11种状态信息

    其它系统监控还有运行的进程端口、进程数、登陆用户、Open File等(详细查看Zabbix自带OS Linux模板)。

     

    其它相关监控

    3、应用监控

    把硬件监控和系统监控研究明白后,我们进一步操作是需要登陆到服务器上查看服务器运行了哪些服务,都需要监控起来。

    应用服务监控也是监控体系中比较重要的内容,例如:LVS、HAProxy、Docker、Nginx、PHP、Memcached、Redis、MySQL、RabbitMQ等,相关的服务都需要使用zabbix监控起来。

     

    nginx_status

     

    PHP-FPM_status

     

    Redis_status

     

    JVM监控

    笔者之前写过服务监控详细的操作过程,这里就不一一展示,详情访问:Zabbix监控各种应用服务。

    • Zabbix提供应用服务监控:Zabbix Agent UserParameter
    • Zabbix提供的Java监控:Zabbix JMX Interface
    • Percona提供MySQL数据库监控:percona-monitoring-plulgins

    4、网络监控

    作为一个针对全国用户的电商网站,时刻掌握各地到机房的网络状态也是必须的。

    网络监控是我们构建监控平台是必须要考虑的,尤其是针对有多个机房的场景,各个机房之间的网络状态,机房和全国各地的网络状态都是我们需要重点关注的对象,那如何掌握这些状态信息呢?我们需要借助于网络监控工具Smokeping。

    Smokeping 是rrdtool的作者Tobi Oetiker的作品,是用Perl写的,主要是监视网络性能,www服务器性能,DNS查询性能等,使用rrdtool绘图,而且支持分布式,直接从多个agent进行数据的汇总。

    同时,由于自己监控点比较少,还可以借助很多商业的监控工具,比如监控宝、基调、博瑞等。同时这些服务提供商还可以帮助你监控CDN的状态。

     

    监控宝

    5、流量分析

    网站流量分析对于运维人员来说,更是一门必须掌握的知识了。比如对于一家电商公司来说:通过对订单来源的统计和分析,可以了解我们在某个网站上的广告投入有没有收到预期的效果。 可以区分不同地区的访问人数、甚至商品交易额等。百度统计、Google分析、站长工具等,只需要在页面嵌入一个js即可。

    但是,数据始终是在对方手中,个性化定制不方便,于是Google出一个叫Piwik的开源分析工具。

     

    piwik

     

    百度统计

    6、日志监控

    通常情况下,随着系统的运行,操作系统会产生系统日志,应用程序会产生应用程序的访问日志、错误日志,运行日志,网络日志,我们可以使用ELK来进行日志监控。

    对于日志监控来说,最见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:Logstash(收集)+ElasticSearch(存储+搜索)+Kibana(展示)。

    我们将这三个组合起来的技术称之为ELK Stack,所以说ELK Stack指的是Elasticsearch、Logstash、Kibana技术栈的结合。

    如果收集了日志信息,部署更新有异常出现,可以立即在Kibana上看到。

     

    ELK日志展示

    当然也可以通过Zabbix过滤错误日志来进行告警。

     

    Zabbix日志展示

    7、安全监控

    虽然Linux开源的安全产品不少,比如四层iptables,七层WEB防护Nginx+Lua实现WAF,最后将相关的日志都收至ELkstack,通过图形化进行不同的攻击类型展示。但是始终是一件比较耗费时间,并且个人效果并不是很好。这个时候我们可以选择接入第三方服务厂商。

     

     

     

    某某三方安全

    三方厂商提供全面的漏洞库,涵盖服务、后门、数据库、配置检测、CGI、SMTP等多种类型。

    全面检测主机、Web应用漏洞自主挖掘和行业共享相结合第一时间更新0-day漏洞,杜绝最新安全隐患。

    8、API监控

    由于API变得越来越重要,很显然我们也需要这样的数据来分辨我们提供的 API是否能够正常运作。

    监控API接口GET、POST、PUT、DELETE、HEAD、OPTIONS的请求。可用性、正确性、响应时间为三大重性能指标。

     

    API监控

     

    三方API监控

     

     

    响应时间

    9、性能监控

    全面监控网页性能,DNS响应时间、HTTP建立连接时间、页面性能指数、响应时间、可用率、元素大小等。Zabbix提供URL监控:Zabbix Web 监控。

     

    Zabbix站点监控

     

     

    终端响应时间

    第三方监控监控大盘。各类图表一目了然,全面体现网页性能健康状况。

    10、业务监控

    没有业务指标监控的监控平台,不是一个完善的监控平台,通常在我们的监控系统中,必须将我们重要的业务指标进行监控,并设置阈值进行告警通知。比如电商行业:

    每分钟产生多少订单、每分钟注册多少用户、每天有多少活跃用户、每天有多少推广活动、推广活动引入多少用户、推广活动引入多少流量、推广活动引入多少利润等,重要指标都可以加入Zabbix上,然后通过Screen展示。

    注:由于业务监控图表,涉及到隐私的数据太多,就不截图了。

    七、监控报警

    故障报警通知的方式有很多种,当然最常用的还是短信和邮件。

     

     

    短信报警

     

    邮件报警

    八、报警处理

    一般报警后故障如何处理,首先我们可以通过告警升级机制先自动处理,比如Nginx服务down了,可以设置告警升级自动启动Nginx。

    但是如果一般业务出现了严重故障,我们通常根据故障的级别、业务,来指派不同的运维人员进行处理。

    当然不同业务形态、不同架构、不同服务可能采用的方式都不同,这个没有一个固定的模式套用。

     

    九、面试监控

    在运维面试中,常常会被问题监控相关的问题,这个问题到底该如何来回答,我针对本文给大家提供了一个简单的回答思路

    1、硬件监控

    通过SNMP来进行路由器交换机的监控(这些可以跟一些厂商沟通来了解如何做)、服务器的温度以及其它,可以通过IPMI来实现。当然如果没有硬件全都是云,直接跳过这一步骤。

    2、系统监控

    如CPU的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘inode使用率。当然这些都是需要配置触发器,因为默认太低会频繁报警。

    3、服务监控

    比如公司用的LNMP架构,Nginx自带Status模块、PHP也有相关的Status、MySQL的话可以通过Percona官方工具来进行监控。Redis这些通过自身的info获取信息进行过滤等。方法都类似。要么服务自带。要么通过脚本来实现想监控的内容,以及报警和图形功能。

    4、网络监控

    如果是云主机又不是跨机房,那么可以选择不监控网络。当然你说我们是跨机房以及如何如何,推荐使用smokeping来做网络相关的监控,或者直接交给你们的网络工程师来做,因为术业有专攻。

    5、安全监控

    如果是云主机可以考虑使用自带的安全防护。当然也可以使用iptables。如果是硬件,那么推荐使用硬件防火墙。使用云可以购买防DDOS,避免出现故障导致down机一天。如果是系统,那么权限、密码、备份、恢复等基础方案要做好。Web同时也可以使用Nginx+Lua来实现一个Web层面的防火墙。当然也可以使用集成好的OpenResty。

    6、Web监控

    Web监控的话题其实还是很多。比如可以使用自带的Web监控来监控页面相关的延迟、js响应时间、下载时间、等等。这里我推荐使用专业的商业软件监控宝或听云来实现。毕竟人家全国各地都有机房(如果本身是多机房那就另说了)。

    7、日志监控

    如果是Web的话可以使用监控Nginx的50x、40x的错误日志,PHP的ERROR日志。其实这些需求无非是,收集、存储、查询、展示,我们其实可以使用开源的ELKStack来实现。Logstash(收集)、Elasticsearch(存储+搜索)、Kibana(展示)。

    8、业务监控

    上面做了那么多,其实最终还是保证业务的运行。这样我们做的监控才有意义。所以业务层面这块的监控需要和开发以及总监开会讨论,监控比较重要的业务指标,(需要开会确认)然后通过简单的脚本就可以实现,最后设置触发器即可 。

    9、流量分析

    平时我们分析日志都是拿awk sed xxx一堆工具来实现。这样对我们统计IP、PV、UV不是很方便。那么可以使用百度统计、Google统计、商业,让开发嵌入代码即可。为了避免隐私也可以使用Piwik来做相关的流量分析。

    10、可视化

    通过Screen以及引入一些第三方的库来美化界面,同时我们也需要知道,订单量突然增加、突然减少。或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了。可以结合监控平来梳理各个系统之间的业务关系。

    11、自动化监控

    如上我们做了那么多的工作,当然不能是一台一台的来加key实现。可以通过Zabbix的主动模式以及被动模式来实现。当然最好还是通过API来实现。

    总结

    真正想做到更完整的监控体系,目前的开源软件确实无法很好地满足,有条件的公司都开始自己开发自己的监控系统,比如小米开源的Open-Falcon。

    也有比较好的开源的监控框架如Sensu等,再加上InfluxDB、Grafana可以用来定制符合自己企业的监控平台。

    展开全文
  • 日志服务器

    千次阅读 2018-08-21 17:44:42
    常见日志服务器搭建方案: 接笔者以往的的日志文章衍生- https://blog.csdn.net/enweitech/article/details/51536644 此献给正在做等保的企业(仅供参考) 集中式/中央式管理日志 抑或 是分布式统一管理日志?看...

    常见日志服务器搭建方案:

    接笔者以往的的日志文章衍生- https://blog.csdn.net/enweitech/article/details/51536644 此献给正在做等保的企业(仅供参考)

    集中式/中央式管理日志 抑或 是分布式统一管理日志?看各自企业公司的实际需求选型。以下信息分享,最终看实践。

    1、Rsyslog+LogAnalyzer+X(Redis+NFS/

    LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

    LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

    LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境.备注(phplogcon是以前老版本,新版本已改名LogAnalyzer)

    2、ELK +Beat  或者 elasticsearch + kafka-zookeeper + Flume + kibana/zabbix 多种工具软件组合的方式

    ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

    • Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
    • Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
    • Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;
    • Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 
      就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。

    3、scribe、chukwa、kafka、flume日志系统

    scribe、chukwa、kafka、flume日志系统对比 –  http://www.ttlsa.com/log-system/scribe-chukwa-kafka-flume-log-system-contrast/

    Facebook 日志系统 Scribe、Apache 日志系统 Chukwa
    Linkedin    日志系统 Kafka、Cloudera 日志系统 Flume

    4、Splunk日志分析

    日志分析管理解决方案 | Splunk https://www.splunk.com/zh-hans_cn/solutions/solution-areas/log-management.html

    5、基于大数据分析平台Hadoop之类的日志离线分析系统

    https://blog.csdn.net/chdhust/article/details/27973533

    五种日志格式传输协议 

    UDP、TCP、http/https、RELP、SMTP

    UDP

    可靠性比较低,但是性能损耗最少,在网络情况比较差或者接受服务器压力比较高的情况下,可能存在丢日志情况。

    1. 服务端改配置文件 /etc/rsyslog.conf
      $ModLoad imudp
      $UDPServerRun 514 / 注释 去掉15 16 行的#
      让日志服务器遵循UDP协议 重启服务

    2. 客户端改改配置文件 /etc/rsyslog.conf
      *.info @服务器IP地址 /udp是 一个@ 
      重启服务这下咱们日志的UDP日志服务器就搭配完毕

    TCP

    可靠性比较高,但在接受服务器宕机或者两者之间网络出问题的情况下,会出现丢日志情况。
    1. 服务端改配置文件 /etc/rsyslog.conf
       $ModLoad imtcp
       $InputTCPServerRun 514  / 注释 去掉19 20 行的#
        让日志服务器遵循TCP协议    重启服务
    2.  客户端改改配置文件 /etc/rsyslog.conf
        *.info @@服务器IP地址     /TCP是 两个@  
        重启服务这下咱们日志的TCP日志服务器就搭配完毕

    RELP

    基于TCP封装的可靠日志消息传输协议; 是为解决TCP与UDP协议的缺点而在应用层实现的传输协议,也是三者中最可靠的。
    1. 装包
      yum -y install rsyslog-relp.x86_64

    2.服务端改配置文件 /etc/rsyslog.conf
    $ModLoad imrelp
    $inputRELPServerRun 20514 / 注释 这个是自己加上去的
    让日志服务器遵循RELP协议 重启服务
    3.客户端改改配置文件 /etc/rsyslog.conf
    $ModLoad omrelp

    建立一个中央日志服务器

    详细步骤 http://wenku.baidu.com/view/8053931cff00bed5b9f31d8a.html

    1建立中央日志服务器前的准备工作

    配置良好的网络服务(DNS和NTP)有助于提高日志记录工作的精确性。在默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN(fullyqualifieddomainname,完整域名)。(你可以在配置中央服务器时用“-x”选项禁止它这样做。)如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率。类似地,如果你的各个系统在时间上不同步,中央日志服务器给某个事件打上的时间戳就可能会与发送该事件的那台机器打上的时间戳不一致,这种差异会在你对事件进行排序分析时带来很大的困扰;对网络时间进行同步有助于保证日志消息的时间准确性。如果想消除这种时间不同步带来的麻烦,先编辑/etc/ntp.conf文件,使其指向一个中央时间源,再安排ntpd守护进程随系统开机启动就可以了。

    2配置一个中央日志服务器

    只须稍加配置,就可以用syslog实现一个中央日志服务器。任何一台运行syslog守护进程的服务器都可以被配置成接受来自另一台机器的消息,但这个选项在默认情况下是禁用的。在后面的讨论里,如无特别说明,有关步骤将适用于包括SUSE和RedHat在内的大多数Linux发行版本。我们先来看看如何激活一个syslog服务器接受外来的日志消息:

    1. 编辑/etc/sysconfig/syslog文件。

    在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。如果因为关于其他机器的DNS记录项不够齐全或其他原因不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项。此外,你或许还想把默认的时间戳标记消息(--MARK--)出现频率改成比较有实际意义的数值,比如240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--MARK--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。按照上面这些解释写出来的配置行应该是如下所示的样子:
    SYSLOGD_OPTIONS="-r-x-m240"

    2.重新启动syslog守护进程。修改只有在syslog守护进程重新启动后才会生效。如果你只想重新启动syslog守护进程而不是整个系统,在RedHat机器上,执行以下两条命令之一:
    /etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
    /etc/rc.d/init.d/syslogrestart

    3.如果这台机器上运行着iptables防火墙或TCPWrappers,请确保它们允许514号端口上的连接通过。syslog守护进程要用到514号端口。

    4为中央日志服务器配置各客户机器

    让客户机把日志消息发往一个中央日志服务器并不困难。编辑客户机上的/etc/syslog.conf文件,在有关配置行的操作动作部分用一个“@”字符指向中央日志服务器,如下所示:

    另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:当你把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件):
    authpriv.*@loghost

    接下来,重新启动客户机上的syslog守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。

    如何在windows2008建立syslog服务器

    我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统
      
      经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.kiwisyslog.com/),它不仅功能齐全,而且提供免费的版本。
      
      Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。
      
      我还测试了一下把ACE日志写到syslog的功能。过程记录如下:
      
      1)使用klog工具
      
      这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持直接或用重定向的方法输出日志到kiwisyslog。
      
      klog –m "It's almost lunchtime"
      
      DIR *.* | klog -h 192.168.1.2 -i
      
      但我试图使用ACE应用日志输出到kiwisyslog时(ace_app.exe | klog -h 192.168.1.2 -i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出直接重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。
      
      
      还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。
      
      ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
      
      然后按下面2)的方法转到kiwisyslog。
      
      
      2)还可以把Windows下的事件日志转到Linux下的syslog
      
      我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
      
      介绍第三方软件evtsys (全称是evntlog to syslog)
      
      文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe
      
      把这两个文件拷贝到 c:/windows/system32目录下。
      
      打开Windows命令提示符(开始->运行输入CMD)
      
      C:/>evtsys –i –h 192.168.10.100
      
      -i 表示安装成系统服务
      
      -h 指定log服务器的IP地址
      
      如果要卸载evtsys,则:
      
      net stop evtsys
      
      evtsys -u
      
      启动该服务:
      
      C:/>net start evtsys
      
      打开windows组策略编辑器 (开始->运行输入 gpedit.msc)
      
      在windows设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。

    【其他资料】

    1、Windows日志分析工具,Syslog日志分析软件,系统日志审计系统 - 卓豪EventLog Analyzer https://www.manageengine.cn/products/eventlog/

    2、日志服务_实时日志分析系统_日志管理软件_网站日志分析工具 - 阿里云 https://www.aliyun.com/product/sls/

    3、日志易: 日志分析更容易 - 日志易 https://www.rizhiyi.com/

    4、日志_智能日志管理_智能日志管理平台 - 七牛云 https://www.qiniu.com/products/insight

    5、LOGSYS日志管理系统 http://www.qinghong.net.cn/LOGSYS/index.html

    6、明析数据 http://infodt.com/index.php/product/news_show?id=3 (百度logsys日志管理系统的商业版)

    7、分享一个号称万亿级海量的深度日志分析系统_搜狐科技 http://www.sohu.com/a/113114089_188123

    8、LogInsight 智能日志分析平台 | AIOps | 业务监控 | 实时业务分析 | 运维大数据 - OneAPM https://www.oneapm.com/li/feature.html

    9、日志分析管理系统 http://www.ipmotor.com/Dlm.html

    10、EasyLog日志分析,日志大数据分析平台 | 袋鼠云 https://www.dtstack.com/?page_id=663

    11、摩卡统一日志分析平台 http://www.mochalog.com/

    12、HOOLI日志分析平台-虎嗅网 https://www.huxiu.com/chuangye/product/2382/HOOLI

    13、打造高效的运维日志收集与分析平台-腾讯云资讯 https://cloud.tencent.com/info/e0b8b659534c08e0009700ae031adb75.html

    14、从ITOA运维和大数据分析着眼,构建智能化日志分析平台 - 运维 -  http://dbaplus.cn/news-134-1545-1.html

    15、CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器 -  https://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html

    展开全文
  • Python实现linux下服务器监控

    千次阅读 2018-04-26 19:37:56
    Python实现linux下服务器监控因为课题写的就是服务器架构相关的东西,最后实验需要监控整个服务器持续运行状态下的各项性能指标。最近得空,就把之前用过的简单方法分享出来。如何用Python脚本实现对服务器的自动...

    Python实现linux下服务器的监控

    因为课题写的就是服务器架构相关的东西,最后实验需要监控整个服务器持续运行状态下的各项性能指标。最近得空,就把之前用过的简单方法分享出来。如何用Python脚本实现对服务器的自动监控,具体步骤如下(代码可直接使用):

    建立 test.py文件,具体代码如下:

    ------------------------------------------

    #!/usr/bin/python

    import subprocess

     

    w_return =subprocess.check_output(['/usr/bin/w'])

    w_12 =w_return.split(" ")[12]

    w_13 =w_return.split(" ")[13]

    w_14 =w_return.split(" ")[14]

     

    cpuload_1 =w_12.split(",")[0]

    cpuload_5 =w_13.split(",")[0]

    cpuload_15 =w_14.split("\n")[0]

     

    iostat_return =subprocess.check_output(['/usr/bin/iostat'])

    iostat_list =(filter(lambda x: x, iostat_return.split(' ')))

    iostat =iostat_list[12:17]

    iostat.append(iostat_list[17].split("\n")[0])

     

    mem_return =subprocess.check_output(['/usr/bin/free'])

    mem_list = (filter(lambdax: x, mem_return.split(' ')))

    mem = mem_list[6:11]

    mem.append(mem_list[11].split("\n")[0])

     

    tcp_stats =subprocess.check_output(['./test.sh'])

    tcp_ESTABLISHED =tcp_stats.split("\n")[0]

    tcp_TIME_WAIT =tcp_stats.split("\n")[1]

     

    sum_list =[tcp_ESTABLISHED, tcp_TIME_WAIT, cpuload_1, cpuload_5, cpuload_15]

    for i in iostat:

        sum_list.append(i)

    for v in mem:

        sum_list.append(int(v)/1024)

     

    testfile =open('/tmp/test.txt', 'a')

    for value in sum_list:

        testfile.write(str(value))

        testfile.write("\t")

    testfile.write("\n")

    testfile.close()

    ------------------------------------------

     

     

    2. 建立 test.sh文件,在里面填入:

    ------------------------------------------

    #!/bin/bash

    netstat -tanl | grepESTABLISHED | wc -l

    netstat -tanl | grepTIME_WAIT | wc -l

    ------------------------------------------

        并给予 test.sh 文件以执行权限:

        $sudo chmod +x test.sh

     

     

    3. 建立输出文件:

     

    # touch /tmp/test.txt

     

    4. 建立 start.sh文件,在里面填入

    ------------------------------------------

    #!/bin/bash

    while true ;do

        pythontest.py

        sleep1

    done

    ------------------------------------------

     

     

    5. 启动

    $ bash start.sh &

    需要保证除 test.txt 之外,其他文件都在一个文件夹下面

     

    6. 停止:

        a. 查找到后台进程的PID

            $ps aux | grep start.sh

        b.kill 掉进程

            $kill -9 PID

     

    7. 去重定向输出的txt文本中将TIME_WAITtcp_ESTABLISHED等这些服务器的指标参数粘贴到excel中,再通过excel的制图,可以很直观的分析这些数据。

    因为以上的实验是在别的机器上做的,所以这儿没有以前的实验结果图了。

    这是简单的脚本实现监控。再推荐一个很强大很好用的监控软件,Zabbix。我的课题前期测试是用第一个方法,最后正式实验是用zabbix的,在web中可以很直观的看到各项数据。zabbix的我是用别人写好的方法,直接访问web的,所以zabbix具体的使用就不写了。但可以说个大概的流程,如下:

    被监控服务器: 上面写一个脚本。每次执行脚本就能获取当前内存的使用值。监控服务器: 上面跑一个程序,每分钟自动去 被监控服务器执行“查看内存使用脚本”,并且将值存储到数据库中,然后通过java 或者 php 将 mysql 里面的数据取出来进行展示。

    zabbix 的大致实现就这样,zabbix agent 内部内置了很多监控项,还可以自定义监控项。然后监控的结果,zabbixserver 会根据规定的时候去获取。获取到了之后,zabbix server会将值存储到设置好的数据库里面去,zabbix 支持多种数据库,比较常用的就是 MySQL 。

    粘几张我的zabbix监控来的实验图。可以看出来,非常清晰的。额,这些图用在我的论文中了,就不多粘了。






    展开全文
  • Linux下配置日志服务器

    千次阅读 2018-11-11 21:40:30
    Linux配置日志服务器 日志服务器配置文件:/etc/rsyslog.conf 服务器端: 服务器IP如下: 编辑日志服务器的配置文件: 这里UDP或者TCP任选一个 将注释的两句复制一遍,然后取消注释即可 进入目录下创建配置文件...
  • import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;...
  • 服务器监控指标

    千次阅读 2019-03-27 15:07:52
    服务器监控   在搭建服务器时,除了部署webapp之外,还需要服务的异常信息与服务器性能指标进行监控,一旦有异常则通知管理员。   服务器使用Linux+Nginx-1.9.15+Tomcat7+Java搭建的。   编写脚本检测错误日志...
  • zabbix监控服务器日志

    千次阅读 2015-03-02 18:13:10
    一、Web_Server配置 1、Create Item Configuration-Hosts-Items  create item  *type: Zabbix_agent(active) ... *key: log[/var/log/...因为日志监控模式为zabbix agent active,所以要重启客户端
  • Prometheus - 普罗米修斯 文章目录Prometheus - 普罗米修斯计划 及... Promotheusmtail -测试安装配置mtail配置普罗米修斯调整mtail配置-日志分析栗子-统计报错原因日志监控小结小结其他 计划 及 参考文章 Prometheus
  • Linux环境下搭建Rsyslog日志服务器

    千次阅读 2019-04-05 13:54:53
    1. Rsyslog日志服务简介 (1)Rsyslog简介 rsyslog( rocket-fast system for log),它提供了高性能,高安全功能和模块化设计。rsyslog能够接受从各种各样的... 使用一台统一的日志服务器,将登录认证,系统日...
  • Zabbix监控系统系列之八:日志监控

    千次阅读 2019-08-13 22:40:21
    [日志监控介绍] 之前,我介绍过 [ Windows环境监控RMAN备份并发送邮件BAT脚本 ] 的脚本监控方法。这次我们来说说Zabbix...日志生成服务器必须要部署Zabbix Agent组件,只有这样才可以运用Zabbix客户端(主动式)。 1....
  • 最近在做一个项目,企业每天大概产生20G左右日志(txt格式,4台服务器分别存储),每次出问题都要远程上服务器通过windows search服务搜索文件内容查日志,维护很繁琐。 想开发一个软件来方便维护人员查询日志,有想...
  • Netdata部署与服务器集群监控

    千次阅读 2019-04-13 10:24:55
    netdata作为一个极其优秀的linux服务器监控系统,由于其惊为天人的界面、海量收集的数据、和方便快捷的部署,占据了很大的市场。然而,它是由海外开发的,所以在中国地区,没有中文文档,并且一些安装会有一些困难,...
  • 监控服务器的搭建

    万次阅读 2019-09-18 15:51:14
    我们为什么要搭建监控服务器,搭建监控服务器的好处 监控服务器可以替我们监视系统的运行状况,暴恐数据的吞吐量,反应时间,使用率等等,减少人工参与.监控能够提前发现问题,对服务器的性能进行调整,知道系统哪里出现...
  • 利用python脚本监控Tomcat服务器

    千次阅读 2018-07-05 21:41:23
    当服务挂掉的时候需要有邮件提醒,同时我们的系统每天晚上会跑定时任务,想知道有没有异常发生,所以添加了两个python监本监控,因为本身系统不大,所以没必要去配置kafka+storm这种日志监控了,只用了很简单的方式...
  • 六大服务器和网络监控工具

    万次阅读 2016-11-04 16:21:49
    可用来自动发现网络节点,监控网络服务,如 HTTP,DNS,SSH 等,当系统服务停止时,OpenNMS会依管理者所建立的规则寄出通知,告知运维人员网络障碍,事件汇整,自动执行对应动作,以及服务层级效能监控。...
  • 网络游戏服务器日志系统

    千次阅读 2016-11-01 16:04:10
    几乎所有的游戏服务器框架都会有一组操作日志的接口,当然最简单的就是大家所熟悉的printf格式化到标准输出,日志系统的复杂度有高有低,具体目的主要是为调试及运营数据查询需要。可以说日志系统实现是否易用、简洁...
  • IIS Web服务器日志、日志服务器分析

    千次阅读 2018-08-08 13:14:59
    IIS Web服务器日志、日志服务器分析 EventLog Analyzer是一款全面的工具,用于审计、管理和跟踪您的Microsoft Internet Information Services(IIS)服务器日志,并为您提供关于文件和Web服务器的重要洞察。...
  • Linux syslog日志监控服务器

    千次阅读 2011-11-18 20:52:57
    目前,linux依旧使用syslogd作为日志监控进程,而在主流的linux发行版中依旧使用sysklog这个比较老的日志服务器套件。从前一篇日志可以看到,对其进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统...
  • Syslog日志分析与监控

    千次阅读 2018-11-13 11:24:22
    Syslog日志分析与监控 网络管理工具应同时具备主动监控和被动监控能力。主动监控是指主动保持网络正常运行,即不间断扫描网络,预防宕机。被动监控是指具备强大的排除故障机制,当发生网络故障时,分析解决。 Syslog...
  • Jmeter监控服务器性能

    万次阅读 2016-03-02 18:07:10
    JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况。 JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况。这种情况只能监控Tomcat支持的资源使用部分。本文主要来说一下如何...
  • Centos6.7搭建Rsyslog日志服务器

    万次阅读 2015-12-27 20:21:22
    前言:随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。系统管理员遇到的常见问题如下: 1、日常维护过程中不可能登录到每一台服务器设备上去查看日志; 2、网络设备上的存储...
  • 集中式日志记录与安全性一样,是 IT 基础结构(包括 Web 应用程序和硬件设备)中核心资源监控和健全管理的一个基本方面。有能力的运维团队能够搭建一个日志监控和管理系统,来应对系统故障或应用程序的怪异行为。 ...
  • zabbix4.0学习六:Zabbix监控日志

    万次阅读 2019-03-01 10:53:31
    zabbix4.0学习六:Zabbix监控日志 前言 我们希望监控日志,在日志出现特定标识或字符串时打印出日志,并邮件通知我们,以便我们手动处理。(当然使用动作可自动处理)。 zabbix能收集指定文件里的信息并展示出来。 ...
  • 常见应用服务器监控的几种方式

    千次阅读 2018-11-24 00:31:36
    生产上跑的应用,怎么监控其是否运行正常,除了基础环境的监控外,还需要监控使用端口的网络状态,日志是否实时更新。下面分别介绍 1.监控网络状态 常见的网络状态有四种,ESTABLISHED 表示正在通信,TIME_WAIT ...
  • 在运维工作中,免不了编写一些脚本交由计划任务(cron)去定时执行完成一些日常工作,实现运维工作自动化。比如在我的日常工作中...为了监控脚本的执行情况,在编写脚本的时候将执行情况的情况追加写入到本地指定的日
  • 服务器监控是每个互联网厂商都重视并且想要尽可能做好的事情,从数据收集、数据处理、数据可视化最终再到实时监控告警,这一系列复杂的流程可能耗费企业大量的人力和时间,以至于某些时候因为其复杂性高无法达到预期...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 210,779
精华内容 84,311
关键字:

日志服务器如何添加监控设备