Ubuntu 16.04 Graylog2日志服务安装教程

前言

本文基于Ubuntu 16.04系统。
Graylog2 -具有报警选项的可插入日志和事件分析服务器。
Graylog2官网:https://www.graylog.org/

Graylog2及相关

所需环境:
1. Java (>= 8) Ubuntu 16.04 配置JDK及环境变量
2. MongoDB (>= 2.4)
3. Elasticsearch (>= 2.x)
Graylog2官网安装教程:http://docs.graylog.org/en/2.3/pages/installation/operating_system_packages.html

具体的详细安装过程,我就不在详细写了,网上各种教程多的是,无非就是复制粘贴。
推荐这篇http://blog.topspeedsnail.com/archives/6670,非常详细易懂.

如果在浏览器输入:http://your_ip_or_doamin:9000 能看到Graylog页面,说明安装成功!

注意:
配置Graylog过程中的IP就是服务器公用IP或者域名,如果你没有服务器,可以直接填写127.0.0.1,即本机IP,监听本机的日志。此处我填写的就是127.0.0.1。

rsyslog服务推送

Ubuntu系统自带rsyslog服务无需安装,只需要配置一下即可。

1.浏览器打开Graylog页面,选择System—>inputs

Ubuntu 16.04 Graylog2日志服务安装教程_第1张图片

2.Select input 选择最后一项 Syslog UDP,然后Launch new input

3.填写对于Title和Port项,然后save
注意:这里port虽然Syslog默认是514,但是由于Ubuntu权限问题,最好大于1024,我们这里填写为5140.

Ubuntu 16.04 Graylog2日志服务安装教程_第2张图片

4.更改syslog配置文件
终端输入:sudo vim /etc/rsyslog.conf
添加:

*.* @127.0.0.1:5140;GRAYLOGRFC5424

注意修改为Graylog2中配置的IP加上面的端口号。

5.重启rsyslog服务
终端输入:sudo systemctl restart rsyslog

6.效果查看
浏览器的Graylog页面,在刚才的inputs界面,在刚刚创建的Inputs项上选择show received messages

如果看到如下图,则说明rsyslog配置成功!如果没有请注意检查ip与port是否与填写的一致。

Ubuntu 16.04 Graylog2日志服务安装教程_第3张图片

此时Graylog正在检测本机系统的一些日志情况。

Graylog2+log4j监听Java程序

Java程序运行于IDEA。

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

配置log4j的java环境

要在java程序中使用log4j,首先要下载对应的的jar。
官方地址下载:http://logging.apache.org/log4j/1.2/download.html
新建一个IDEA Java程序,然后将jar导入该工程。

然后在src目录下新建文件log4j.properties,编辑内容为:

log4j.rootLogger=Debug,CONSOLE,syslog
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.SyslogHost=127.0.0.1
log4j.appender.syslog.Facility=local1
log4j.appender.syslog.header=true
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.layout.ConversionPattern=%5p | %c{1}-%M [%d{yyyy-MM-dd HH:mm:ss}] - %m%n


log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c %x - %m%n

注意:log4j.appender.syslog.SyslogHost=127.0.0.1 这一项要修改为Graylog2对应的IP。

运行Java程序

代码如下:

import org.apache.log4j.Logger;
public class Main {

    private static final Logger logger = Logger.getLogger(Main.class);

    public static void main(String[] args) {
        logger.info("这是一个info");
        logger.error("这是一个error");
        logger.debug("这是一个debug");
        logger.warn("这是一个warn");
        System.out.println(123);
    }
}

浏览器进入Graylog界面,点击Search,如下:

Ubuntu 16.04 Graylog2日志服务安装教程_第4张图片

如能看到Java程序中输出的日志信息。则配置成功!

结语

至此,你可以在浏览器使用Graylog查看系统(或者服务器)的日志文件,也可以查看Java程序相关的日志。
还可以使用对应功能筛选,管理日志信息。
可视化图形界面,方便舒爽!

参考:
如何在Ubuntu 16.04上使用Graylog 2管理日志
Graylog2+rsyslog+log4j 全过程日志管理环境搭建
Graylog2日志服务安装配置
IDEA下Log4j使用教程

你可能感兴趣的:(Ubuntu笔记)