在我们的运维工作中,常常会对系统上的日志进行收集,手动管理少量的几台服务器的日志收集没有太大难度,但是企业当中批量的管理成千上万台服务器的时候,这时候想一台台的收集日志未免太浪费时间了,这时候我们需要一个批量管理日志的系统来解决这一难题,今天我给大家带来的使用


1、syslog介绍

日志服务在Centos5上位syslog,随着系统版本的升级之后,日志服务改为rsyslog,rsyslog是syslog的升级版,提供了许多高级的特性。syslog由klogd和syslogd组成,klogd记录的是kernel产生的日志信息,而syslogd是系统上的一些普通信息,rsyslog和syslog的整体框架相同,只不过是rsyslog有了一些高级的特性。

2、rsyslog的特性

Multi-threading 支持多线程工作模型
TCP,SSL,TLS,RELP 支持ssl加密
MysqL,Postgresql,Oracle and more 可以将日志放入到数据库当中
Filter any part of syslog message 可以过滤日志信息的任何部分
Fully configurable output format 完全可配置的输出模式
Suitable for enterprise-class relay chains 适用于企业级的中继链


3、facility设施,从功能或程序上对日志进行分类,并有专门的工具负责记录其日志

auth 认证信息
authpriv 授权信息
cron 计划任务信息
daemon 守护进程信息
kern 内核信息
lpr 打印机信息
mail 邮件信息
mark 防火墙标记信息
news 新闻组信息
security (same as auth) 安全信息
syslog 系统日志
user 用户相关信息
uucp unix间复制信息
local0 through local7: 8 customed facility 用户自定义的日志类,分为7个级别

4、priority:级别

debug:调试级别,所有信息都会记录

info: 普通信息,比debug级别高

notice :通知信息,比info级别高

warning,warn :警告信息

err,error:错误信息,某个功能出现问题,不影响使用

crit:某个功能出现问题,需及时处理

alert:系统出现严重问题,不立即处理会有严重后果

emerg:系统将要挂掉

注意:级别越低记录的信息将会越详细,占用的空间也将越大


4、target日志存放目标

文件 如/var/log/messages

用户 *表示所有用户,也可以发给指定的用户

日志服务器 @10.1.0.1

管道 |command 交给特定的命令处理

facility.priority target
mail.info /var/log/maillog info及info以上的级别记录
mail.=info 仅info级别记录
mail.!=info 除了info级别以外的都记录

mail.!info 除了info级别以下的记录其他都记录

*.info 所有设施的info级别记录
mail,news,info 两个设施的info


5、rsyslog的配置

rsyslog的配置文件在/etc/rsyslog.conf及/etc/rsysloge.d/*.conf

/etc/rsyslog.conf分为四个区域

MODULES syslog的模块

GLOBAL 全局定义,记录的格式等等

RULES记录日志相关

begin forwarding rule 一些转发的记录信息

我们主要关心的事RULES这个区域,要想使用rsyslog记录特定类,级别的日志,就需要在RULES中定义

日志信息格式
时间 主机 进程(PID) 事件
Aug 30 10:14:16 server kernel: EXT4-fs (dm-7): mounted filesystem with ordered data mode. Opts:


通配机制

*:所有级别

,:列表如a,b,c表示三个级别

!:取反


loganalyzer的介绍

loganalyzer是一块web界面的日志分析工具,可以分析MysqL中的日志信息,有PHP编写,依赖于lamp平台,要想将日志写入到MysqL中,需要安装rsyslog-MysqL工具,并启用rsyslog的mMysqL模块


6、环境部署

操作系统:CentOS6.8

rsyslog:系统默认安装

loganalyzer:logananlyzer-3.6.4

LAMP:httpd.2.4,MysqL-5,1,PHP-5.3(我这里就直接二进制安装)

6.1、关闭selinux和iptables,默认这两项都是开启的

setenforce 0

service iptables stop

如果不关闭iptables,写下规则

iptables -A INPUT -p udp --dport 514 -j ACCEPT

iptables -P OUTPUT ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -P OUTPUT ACCEPT

6.2、安LAMP

yum -y install httpd PHP PHP-MysqL MysqL MysqL-server

启动服务

service httpd start

service MysqLd start



6.3、配置rsyslog

#yum -y install rsyslog rsyslog-MysqL

注:rsyslog-MysqL为rsyslog将日志传送到MysqL数据库的一个模块,这里必须安装

MysqL< /usr/share/doc/rsyslog-MysqL-5.8.10/createDB.sql 导入数据库就是在Syslog数据库当中 创建两张表

创建rsyslog用户在MysqL下的相关权限

MysqL -uroot

MysqL>GRANT ALL ON Syslog.* TO 'loguser'@'localhost' IDENTIFIED BY 'logpass';

MysqL>GRANT ALL ON Syslog.* TO 'loguser'@'127.0.0.1' IDENTIFIED BY 'logpass';

MysqL>FLUSH PRIVILEGES;

MysqL>quit

配置服务支持rsyslog-MysqL模块,并开启UDP服务端口获取网内其他linux系统日志

vim /etc/rsyslog.conf

在#### MODULES ####下添加

$Modload mMysqL

注意:模块必须要写在MODULES里不然最后结果一直出不来

#### RULES ####z在下面添加要记录的日志

*.* :omMysqL:127.0.0.1,Syslog,loguser,logpass

注:127.0.0.1本地回环地址,Syslog为数据库名,loguser为数据库用户,logpass为数据库用户的密码

开启一下几行

$ModLoad imudp
$UDPServerRun 514

重启服务

service rsyslog restart


7、配置loganalyzer

7.1首先去官网下载安装包

#wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.4.tar.gz

7.2解压

#tar xf loganalyzer-3.6.4.tar.gz

#cd loganalyzer-3.6.4

#mkdir /var/www/html/loganalyzer

#mv src/* /var/www/html/loganalyzer/
#mv contrib/*.sh /var/www/html/loganalyzer/
#cd /var/www/html
#chmod u+x loganalyzer/*.sh
#./configure.sh
#./secure.sh
#chmod 666 config.PHP
#chown -R apache.apache *
删除那两个脚本

注:两个脚本的执行实际在改目录下创建cofig.PHP文件

7.3初始化

在浏览器中输入http://10.1.252.100/loganalyzer

1、提示没有配置文件,点击here利用向导生成

wKiom1fGRVCQvIGIAAAvTFAdEiU297.jpg-wh_50


2、next

wKioL1fGRV6jTLZnAACkviQrXiQ955.jpg-wh_50


3、next

wKiom1fGRWvysYitAADSIv6-G_w684.jpg-wh_50


注:若点击next报错,后台执行如下命令继续

ln -s /var/lib/MysqL/MysqL.sock/tmp/MysqL.sock


4、开始写入数据库,next

wKioL1fGSP3xbwfRAADlFS05ZnA152.jpg-wh_50

5、提示写入成功,next

wKiom1fGSSPykHvbAADSCRg5CFk461.jpg-wh_50

6、设置管理员账户,配置完毕next

wKiom1fGSTLBbpodAADn-D_V2A4306.jpg-wh_50


7、设置监控日志保存到MysqL数据库中,按照如图配置next


wKioL1fGSW3Ak3EkAADe6ISE1YA780.jpg-wh_50


wKioL1fGSZDAuABgAADGiHpfd-w081.jpg-wh_50

8、完成配置

wKiom1fGSb-xTXlbAAA-tejUcOE578.jpg-wh_50

9、进入登录界面

wKiom1fGSdqjH0okAAA5oEcYfJE289.jpg-wh_50

10、进入主界面

wKioL1fGSgfi4xh_AAC077G6REM799.jpg-wh_50

至此,整个配置就完成

CentOS6.8下使用rsyslog+loganalyzer+ldap部署日志服务器来实现日志收集的更多相关文章

  1. 详解前端HTML5几种存储方式的总结

    本篇文章主要介绍了前端HTML5几种存储方式的总结 ,主要包括本地存储localstorage,本地存储sessionstorage,离线缓存(application cache),Web SQL,IndexedDB。有兴趣的可以了解一下。

  2. PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

    我误解了什么吗?Phonegap中的sqlitedbs真的有5mb的限制吗?我正在使用Phonegap1.2和iOS5.解决方法您可以使用带有phonegap插件的原生sqliteDB,您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…

  3. ios – 从Live Photo中提取视频部分

    有没有人想出如何从LivePhoto中提取视频部分?

  4. ios – 使用Swift的Lumberjack 2.0记录器

    我以前使用物镜C的Lumberjack记录器,我喜欢它.现在我开始学习Swift,我不能在那里使用我最喜欢的记录器.有人可以一步一步地写出我能做到的事吗?在Lumberjack2.0发布之前,我尝试在这里找到一些东西,但所有主题都是自定义包装器.我做了什么:>我用Cocoapods添加了Lumberjack;>我将“#import”添加到Bridging-Header文件中.我不知道接下来该怎么办?因为在ObjC中我有宏:staticconstintddLogLevel=LOG_LEVEL_INFO;el

  5. ios – 领域:如何获取数据库的当前大小

    是否有RealmAPI方法使用RealmSwift作为数据存储来获取我的RealmSwift应用程序的当前数据库大小?

  6. ios – Realm – 无法使用现有主键值创建对象

    我有一个对象有许多狗的人.应用程序有单独的页面,它只显示狗和其他页面显示人的狗我的模型如下我有人存储在Realm中.人有详细页面,我们取,并显示他的狗.如果狗已经存在,我会更新该狗的最新信息并将其添加到人的狗列表中,否则创建新狗,保存并将其添加到人员列表中.这适用于coredata.在尝试用他的狗更新人时,领域会抛出异常无法使用现有主键值创建对象解决方法这里的问题是,即使你正在创建一个全新的Rea

  7. ios – UIWebView中的WebSQL / SQLite数据库的最大大小(phonegap)

    我知道一般来说,Web应用程序的本地存储空间有5MB的限制.本地网页浏览应用程式是否也有这个限制?

  8. ios – Firebase离线存储高级 – 手动同步和进度信息

    >我可以提供一个捆绑数据库–安装App后我可以已经离线查询了Firebase数据?然后我有另一个关于Firebase的主要问题:>JSON存储是伟大的–但是这样我们不关心一个独特的结构,我们必须注意这一点插入总是正确的数据集?我从来没有试图显示实际的进展,但是当您从firebase中检索数据时,始终会在成功检索数据时调用onDataChange方法.https://firebase.google.com/docs/database/android/retrieve-data#read_data_onceC

  9. ios – 如何处理多用户数据库

    我的应用程序就像很多应用程序–它有一个用户输入用户名和密码的登录屏幕,以及登录按钮我的应用程序还使用CoreData来保存大多数用户的业务对象,当然也是用户特定的.我也有一个登出按钮来启用切换用户.这不会发生很多,但仍然是必要的).现在如果不同的用户登录,我需要获取他的具体数据.但是我该如何做呢?

  10. ios – Swift从Firebase数据库中获取特定价值

    我正在尝试从Firebase数据库中获取特定值.我看了一些像谷歌这样的文件,但我做不到.这是数据库的JSON文件:SWIFT代码:我想获得用户的电子邮件价值,而不是每个人.我怎样才能做到这一点?解决方法在您的代码中,快照将包含子值的字典.要访问它们,请将snapshot.value转换为Dictionary,然后访问各个子项是一个快照

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部