一、说明

本文主要是对“CentOS 6.7搭建Rsyslog日志服务器”进行整理,同时在本地进行环境搭建,验证在CentOS6.8上的正确性。

二、安装配置rsyslog

1.清空iptables关闭selinux

1.1 清空iptables

一般iptables不要限制对rsyslog端口(默认UDP,514)的访问就不会rsysylog造成影响,可以不用清。

iptables -F                      #清空iptables策略
service iptables save #保存iptables策略配置

1.2关闭selinux

selinux老问题,过于严格可能会造成功能异常,将其关闭

setenforce 

上边只是临时关闭,如果配置为启用状态则系统重启后selinux还是启用,要彻底关闭selinux到其配置文件/etc/selinux/config,将属性SELINUX的值修改为disabled

2、yum安装LAMP环境及rsyslog、rsyslog mysql支持模块

yum install -y mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd rsyslog rsyslog-mysql

看这意思没什么问题,但是由于本机之前已零散地安装了这些东西,mysql还手动安装成了5.5,在执行此句时报冲突libXtst-1.2.3-1.el6.i686 is a duplicate with libXtst-1.2.2-2.1.el6.x86_64,直接跳过了

3、设置mysql和apache开机启动,并启动服务

chkconfig --level  mysql on        #配置mysql开机自启动;.5及之前版本用mysql,.6及之后版本用mysqld
chkconfig --level httpd on #配置apache开机自启动 service mysql start #启动mysql
service httpd start #启动apache

4、修改mysql的root密码

mysqladmin -u root password "abcd1234"    #abcd1234修改成你想要的密码

默认安装的5.1版本的mysqlroot默认密码应该为空可以直接这样修改密码,如果之前已配置密码,则要登录mysql修改:

update MySQL.user set password=PASSWORD('abcd1234') where User='root';
flush privileges;

5、修改mysql的配置文件,支持uft8

编缉/etc/my.cnf配置如下(主要是各节区值为utf8的项):

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=
character_set_server=utf8
init_connect='SET NAMES utf8'
default-character-set=utf8 [mysql]
default-character-set=utf8 [mysql.server]
default-character-set=utf8 [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8 [client]
default-character-set=utf8

mysql5.1版本好像配置配置defalut-character-set就可以了,character_set_server参数5.5版本之后才有,不过多配上去也不要紧。改完要重启mysql使配置生效

server mysql restart   #.6及之后版本使用mysqld

6、导入rsyslog数据库到mysql

rsyslog的mysql数据库脚本默认文件是(版本相应修改):

/usr/share/doc/rsyslog-mysql-5.8./createDB.sql

可以使用以下命令中确认其位置:

echo  $(rpm -ql rsyslog-mysql | grep sql$)

导入数据库(输入密码):

mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$)

可以看到导入后已创建syslog数据库

7、设置rsyslog数据库的字符集

按原文讲syslog数据库默认不是utf8编码,所以要使用以下命令修改编码(但就我查看似乎是utf8的,多执行一次无所谓)

mysql> use syslog
#修改Syslog数据库的字符集
mysql> ALTER DATABASE `syslog` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
#修改SystemEvents表的字符集
mysql> alter table systemEvents default character set =utf8;
#修改SystemEventsPorperties表的字符集
mysql> alter table systemeventsproperties default character set =utf8;

查看修改后的结果:

#查看数据库的字符集设置
mysql> show variables like 'character%'; #查看systlog数据库所有表的字符集设置
mysql> use syslog;
mysql> show table status from Syslog\G;

8、创建Rsyslog数据库用户

登录mysql创建用于管理rsyslog的数据库用户rsyslog,下边只授予了其localhost登录的权限,abcd1234改为自己想要的密码

mysql> grant all privileges on syslog.* to 'rsyslog'@'localhost' identified by 'abcd1234';
mysql> flush privileges;

9、修改rsyslog配置

cat > /etc/sysconfig/rsyslog << EOF
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode by "-c 2"
# See rsyslogd() for more details
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"
EOF

各参数详解:
-c 指定运行兼容模式。
-r 指定监听端口。 默认514
-x 在接收客户端消息时,禁用DNS查找。需和-r参数配合使用。
-m 标记时间戳。单位是分钟,为0时,表示禁用该功能。

10、配置服务端支持rsyslog-mysql模块,并开启UDP服务端口

编缉/etc/rsyslog.conf,在#### MODULES ####下添加前边两行,然后取消后边三行的注释

$ModLoad ommysql.so
*.* :ommysql:localhost,syslog,rsyslog,abcd1234
#注:localhost表示本地主机,syslog为数据库名,rsyslog为数据库的用户,abcd1234为前边创建该用户时指定的密码 $ModLoad immark
$ModLoad imudp
$UDPServerRun

保存后重启rsyslog使配置生效

service rsyslog restart

11、添加服务端iptables防火墙规则

开头说过iptables策略可以不用清,当如果确实不清为确保万一,执行以下命令开放TCP和UDP的514端口

iptables -I INPUT -p tcp --dport  -m comment --comment "accept for rsyslog" -j ACCEPT
iptables -I INPUT -p udp --dport -m comment --comment "accept for rsyslog" -j ACCEPT
service iptables save

三、Loganalyzer安装与配置

1、下载Loganalyzer

Loganalyzer官网下载安装文件到/usr/local/src目录下,最新版本是4.1.6

cd /usr/local/src
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz

2、解压文件并复制源代码到apache的loganalyzer目录

cd /usr/local/src
tar -zxf loganalyzer-4.1..tar.gz
cd loganalyzer-4.1.
mkdir -p /var/www/html/loganalyzer/
cp -r src/* /var/www/html/loganalyzer/
cp -r contrib/* /var/www/html/loganalyzer/

3、生成空的配置文件并设置权限

cd /var/www/html/loganalyzer/
touch config.php
chmod config.php

4、修改php环境

为配合LogAnalyzer对php环境的要求,修改/etc/php.ini中以下两项的值为:

memory_limit = 512M
max_execution_time =

5.重启apache

service iptables restart

6、loganalyzer初始化配置

httpd默认主路径为/var/www/html,现在loganalyzer目录为/var/www/html/loganalyzer,所以访问http://192.168.220.128/loganalyzer/进行配置

四、Linux客户端配置

CentOS默认都会安装rsyslog,这里我们以一台CentOS 7为例。CentOS 6和7配置都是一样的,只是启停命令有所改变

1、确认rsyslog服务是否启动

systemctl list-unit-files rsyslog.service    #确认rsyslog是否开机自启动
systemctl enable rsyslog.service #如果没有则配置其开机自启动
systemctl status rsyslog.service #查看rsyslog状态
systemctl start rsyslog.service #如果rsyslog没启动,将其启动

2、配置rsyslog客户端发送本地日志到服务端

编缉/etc/rsyslog.conf,在最后### begin forwarding rule ###和### end of the forwarding rule ###之间,新建一行追加远程日志服务器地址(我这是192.168.220.128,根据自己实际情况配置):

*.* @192.168.220.128

3.重启rsyslog

systemctl restart rsyslog.service

这样192.168.220.142的日志就会自动发送到192.168.220.128,192.168.220.128接收后就会自动存入syslog库。最后loganalyzer从syslog中读出然后在界面展现

如上图所示,Host列ls即是192.168.220.128,lsx即是192.168.220.142。

参考:

http://www.linuxidc.com/Linux/2016-06/132418.htm

rsyslog+loganalyzer远程日志系统搭建教程(CentOS6.8)的更多相关文章

  1. rsyslog+mariadb+loganalyzer实现日志服务器搭建

    rsyslog+mariadb+loganalyzer实现日志服务器搭建 一.概述 Linux的日志记录了用户在系统上一切操作,包括系统自身运作产生的日志,这些日志是应使用者了解服务器的情况最好的资料 ...

  2. Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

    参考来自: the_script :https://yq.aliyun.com/articles/675198 名山.深处:https://www.cnblogs.com/skychenjiajun/ ...

  3. kubernetes集群EFK日志系统搭建

    日志收集架构 Kubernetes 集群本身不提供日志收集的解决方案,一般来说有主要的3种方案来做日志收集: 在节点上运行一个 agent 来收集日志 在 Pod 中包含一个 sidecar 容器来收 ...

  4. SpringBoot+ELK日志系统搭建

    一.ELK是什么 "ELK"是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kibana.Elasticsearch 是一个搜索和分 ...

  5. ELK 日志系统搭建配置

    logstash是一个数据分析软件,主要目的是分析log日志.整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是v ...

  6. flarum论坛系统搭建教程

    安装 PHP 5.5+ and MySQL 5.5+, and install Composer. composer create-project flarum/flarum . --stabilit ...

  7. elk + filebeat,6.3.2版本简单搭建,实现我们自己的集中式日志系统

    前言 刚从事开发那段时间不习惯输出日志,认为那是无用功,徒增代码量,总认为自己的代码无懈可击:老大的叮嘱.强调也都视为耳旁风,最终导致的结果是我加班排查问题,花的时间还挺长的,要复现问题.排查问题等, ...

  8. ELK统一日志系统的应用

    收集和分析日志是应用开发中至关重要的一环,互联网大规模.分布式的特性决定了日志的源头越来越分散, 产生的速度越来越快,传统的手段和工具显得日益力不从心.在规模化场景下,grep.awk 无法快速发挥作 ...

  9. 001-CentOS 7系统搭建Rsyslog+LogAnalyzer解决交换机日志收

    日志功能对于操作系统是相当重要的,在使用中,无论是系统还是应用等等,出了任何问题,我们首先想到的便是分析日志,查找问题原因.自 CentOS 7 开始,我们的 CentOS 便开始使用 rsyslog ...

随机推荐

  1. 线程中为控件赋值Winform

    this.Invoke(new MethodInvoker(() => { //TO DO })); this.Invoke(new Action(()=>{ // TO DO }));

  2. 如何用conda安装软件|处理conda安装工具的动态库问题

    conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用XXX软件管理器一样方便.正因为他如此便利,以至于我介绍如何手动安装工具时,总有人问我为啥不用conda. 我用conda,并且用的很好 ...

  3. 小程序学习一 .json 文件配置

    微信小程序——配置 以下就是小编对小程序配置的资料进行的系统的整理,希望能对开发者有帮助. 我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置 ...

  4. 蚂蚁金服 Service Mesh 渐进式迁移方案|Service Mesh Meetup 实录

    小蚂蚁说: 本文是基于在 Service Mesher Meetup 上海站的主题分享<蚂蚁金服 Service Mesh 渐进式迁移方案>内容整理,完整的分享 PPT 获取方式见文章底部 ...

  5. ipconfig/all参数解析

    本人是在搭建虚拟机时经常需要用到ipconfig/all名称查看宿主机的配置,但是对于该命令下的一些设置经常弄混,所以就花了点时间研究了一下. 参考文献:https://www.cnblogs.com ...

  6. 力扣(LeetCode)520. 检测大写字母

    给定一个单词,你需要判断单词的大写使用是否正确. 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA". 单词中所有字母都不是大写,比如"l ...

  7. 《剑指offer》第六十七题(把字符串转换成整数)

    // 面试题67:把字符串转换成整数 // 题目:请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不 // 能使用atoi或者其他类似的库函数. #include <ios ...

  8. Java面试题基础知识(收集)

    1.集合类:list和Set比较,各自的子类比较(Arraylist,Vector,inkedLIst,HashSet,TreeSet) List:存入元素有序,元素可以重复,允许null值得存在,主 ...

  9. lua --- __newindex 的使用规则

    1.如果 __newindex 是一个函数,在给 table 不存在的字段赋值的时候,会调用这个函数2.如果 __newindex 是一个table,在给 table 不存在的字段赋值的时候,会直接给 ...

  10. gradlew 的https代理设定

    在内网编译vlc for Android 时, 总是在 [./gradlew assemble] 卡住, 在网上找到了设置代理的方法: 在gradlew 的同一目录,建立一个 gradle.prope ...