rsyslog从入门到放弃

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

服务器作用不就是发送和收集数据,这个数据无非分为两类,一类是业务数据,主要是为维持业务运行数据,比如一个游戏服务器,业务数据有装备信息,用户等级信息,装备爆率等等。另一类数据就是日志信息,这个数据非必要数据,但是这个数据可以分析用户行为,可以进一步的帮助我们发现用户需求创造收入来源,,在这个大数据时代如果不搞点数据分析基本上不敢说主机是高科技公司。同时我们也使用日志信息记录服务器状态,协助我们了解系统瓶颈,实现业务平滑拓展收缩。为了迎合大数据时代的需求这里主要介绍日志收集。

目录

  • 一日志收集

  • 二rsyslog特点

  • 三rsyslog组成

  • 四实践

一日志收集

日志数据的收集手段是多种多样的,采集的数据也是多种多样的。其中很多应用都是自己收集数据,这一类应用一般比较重量级,并且我们也使用其自带的日志收集工具,主要原因是收集的数据个格式一般比较特殊,需要记录的内容很多。记录日志需要写数据到磁盘,写操作一般会消耗大量的资源这就需要一个高性能的日志记录,若采用第三方记录日志的工具,每记录一次日志都有发送给记录日志的程序,无形间就消耗了大量的资源。这类记录日志的手段需要结合具体的应用去了解使用,这里不做过多的介绍。平时我们会使用一些比较小的程序,这些程序产生的日志比较少但是还比较重要需要记录,每个小程序都写一个自己的日志记录工具显然比较浪费,这时centos给我们提供了一个通用的记录日志的api,小程序记录日志直接调用即可,服务名称为rsyslog,只要程序支持使用rsyslog记录日志,我们就可以调用了。有时我们收集的数据量特别大,这就要求使用更高性能的日志收集展示工具,比较流行的是ELK,E: elasticsearch, L: logstash, K: kibana。以后再介绍

二rsyslog特点

  • rsyslog的特性:多线程;UDP/TCP/SSL/TLS/RELP;存储日志信息于MySQL, PGSQL, Oracle等RDBMS;强大的过滤器,实现过滤日志信息中的任何部分的内容;自定义的输出格式;

 常用事件记录格式:日期时间   主机   进程[pid]: 事件内容;
  • facility:设施,收束日志数据流为有限几个;我们使用的一般是local0-local7自定义收集数据auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, syslog, local0-local7

  • proirity:优先级,在记录日志是我们选择一个级别,只要报错信息超过该级别就都会记录debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

三rsyslog组成

既然是要了解rsyslog首先我们要了解他的配置文件以方便我了解它的功能,配置文件的位置在/etc/rsyslog.conf,它的配置文件分为三个部分

  • MODULES

    这一部分主要是给rsyslog启动一些额外的模块,帮助rsyslog完成对其他主机日志的收集。$ModLoad imudp #启用udp监听模块,不使用注释掉即可$UDPServerRun 514 #监听在514端口$ModLoad imtcp$InputTCPServerRun 514$ModLoad ommysql #启用MySQL数据库记录数据,只有这个还不够还需要在RULES部分定义调用哪个数据库

  • GLOBAL DIRECTIVES

    全局配置段,定义一下通用的属性

  • RULES

    定义记录日志的格式,之前在modules部分启用了mysql模块,在这里使用时可以使用如下格式facility.priority   :ommysql:DBHOST,DBNAME,DBUSER,DBUSERPASSWORD

四实践

先说目的,这里我们要实现一个使用数据库记录日志信息的rsyslog服务器,并且帮助另外一条记录日志,同时我们提供一个web查看界面。拆分一下任务,1配置rsyslog需要的数据库,2配置rsyslog把数据写到数据库并且监听udp514端口,3使用另外一条主机把日志信息发送到rsyslog服务器,4提供网页查看日志工具loganalyzer

 loganalyzer的安装包下载位置http://loganalyzer.adiscon.com/downloads/
  • 这里我直接写了一个脚本,主要适用centos7,6的话需要更改一些内容

  • yum install mariadb-server rsyslog-mysql -y #安装数据库和rsyslog连接数据库的组件

  • systemctl start mariadb.service  #启动数据库

  • mysql <<eofGRANT ALL ON Syslog.* TO 'rsluser'@'127.0.0.1' IDENTIFIED BY 'rslpass';

  • GRANT ALL ON Syslog.* TO 'rsluser'@'localhost' IDENTIFIED BY 'rslpass';

  • eof #授权rsyslog使用rsluser使用rslpass密码访问本地数据库,并且只可以通过本地访问

  • mysql < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql #创建rsyslog需要数据库,这个sql脚本是rsyslog-mysql包带的

  • systemctl restart rsyslog.serviceyum install httpd php php-mysql php-gd -y #安装提供网页组件

  • cd

  • wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.5.tar.gz #下载loganalyzer包

  • tar xf loganalyzer-4.1.5.tar.gz #解压并复制到/var/www/html/loganalyzer

  • cp -a loganalyzer-4.1.5/src  /var/www/html/loganalyzercd  

  • cd /var/www/html/loganalyzer #创建666权限的config.php

  • touch config.php

  • chmod 666 config.php

  • systemctl start httpd.service #启动httpd服务

  • 需要手动更改的内容

  • vim /etc/rsyslog.conf

  • $ModLoad imudp

  • $UDPServerRun 514

  • $ModLoad ommysql #这一行需要添加

  • *.info;mail.none;authpriv.none;cron.none          :ommysql:127.0.0.1,Syslog,rsluser,rslpass

  • 配置下一台服务器把日志写到这台rsyslog服务器,只要改这一行就好了,当然ip是你们rsyslog服务器的ip不要填写我的ip

  • *.info;mail.none;authpriv.none;cron.none                @172.16.29.20

  • 打开网页第七步的时候配置内容如下

  • My Syslog Source My Syslog SourceSource

  • Type MYSQL NativeSelect

  • View SyslogfieldsDatabase

  • Type OptionsTable type MonitorWareDatabase

  • Host 127.0.0.1

  • Database Name Syslog

  • Database Tablename SystemEvents

  • Database User rsluser

  • Database Password ******** #这里的密码就是我们设置的连接数据库的密码rslpassEnable Row Counting No

  • 都配置完之后把/var/www/html/loganalyzer/config.php文件的权限更改为644

  • chmod 644 /var/www/html/loganalyzer/config.php

总结

这一节主要是学习使用rsyslog,主要是学会配置数据库接收日志信息,让rsyslog监听端口收集其他主机的日志,配置网页查看日志信息的网站。





      本文转自Ailu0li 51CTO博客,原文链接:http://blog.51cto.com/oldking/1891232 ,如需转载请自行联系原作者



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Linux Python
【Elasticsearch】linux使用supervisor常驻Elasticsearch,centos6.10安装 supervisor
【Elasticsearch】linux使用supervisor常驻Elasticsearch,centos6.10安装 supervisor
64 3
|
7月前
ElasticSearch6.6.2安裝使用问题记录
ElasticSearch6.6.2安裝使用问题记录
35 1
|
7月前
|
缓存 关系型数据库 数据库
postgresql.conf配置详解
postgresql.conf配置详解
|
存储 关系型数据库 MySQL
CentOS7+Rsyslog+MySQL 搭建 Rsyslog 日志服务器
CentOS7+Rsyslog+MySQL 搭建 Rsyslog 日志服务器
593 0
|
8月前
|
自然语言处理 算法 架构师
Elasticsearch 问题解决方法论——你的问题是什么?
Elasticsearch 问题解决方法论——你的问题是什么?
76 0
|
8月前
|
自然语言处理 关系型数据库 MySQL
Elasticsearch与mysql使用注意点总结
Elasticsearch与mysql使用注意点总结
76 2
|
存储 消息中间件 监控
MySQL 用得好好的,为什么要转 Elasticsearch?
国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elasti
MySQL 用得好好的,为什么要转 Elasticsearch?
|
关系型数据库 MySQL Java
Logstash 同步 mysql 踩坑
最近需要把 mysql 数据接入 logstash ,logstash 和 mysql 都是部署在 Docker 容器中 的,所以碰到了一些问题,在此记录
737 0
Logstash 同步 mysql 踩坑
|
Web App开发 监控 应用服务中间件
AWStats日志分析系统
1.什么是AWStats AWStats是一款功能强大且功能强大的免费工具,可以图形方式生成高级Web,流媒体,ftp或邮件服务器统计信息。此日志分析器用作CGI或命令行, 并在几个图形网页中显示您的日志包含的所有可能信息。
1458 0
|
监控 应用服务中间件 nginx
Nginx 日志处理、awstats分析(学习笔记十三)
1、log_format wwwlogs '$remote_addr-$remote_usr [$time_local] "$request" '  '$status $body_bytes_sent "$http_referer" '  '"$htt...
1212 0

热门文章

最新文章