日志管理工具Graylog搭建

日志管理工具--Graylog

Graylog+mongodb+elasticsearch日志管理架构搭建

一、mongodb安装

1、添加mongodb安装镜像

[[email protected] package]# vim /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]

name=MongoDB Repository

baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/

gpgcheck=0

enabled=1

2、yum安装mongodb

[[email protected] package]# yum install -y mongodb-org

[[email protected] package]# vi /etc/yum.conf

最后一行添加:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

3、启动mongodb并加入系统开机自启动

[[email protected] package]# service mongod start

Starting mongod:                                           [  OK  ]

[[email protected] package]#chkconfig mongod on

查看端口是否启动:

4、优化服务器内核参数

[[email protected] package]# vim /etc/security/limits.conf

最后一行添加

*                soft    nproc           65536

*                hard    nproc           65536

mongod           soft    nproc           65536

*                soft    nofile          131072

*                hard    nofile          131072

5、修改启动脚本配置

[[email protected] package]# vim /etc/init.d/mongod

ulimit -f unlimited行前插入一下内容:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

6、重启mongodb

[[email protected] package]# /etc/init.d/mongod restart

Stopping mongod:                                           [  OK  ]

Starting mongod:                                            [  OK  ]

[[email protected] package]#

二、Elasticsearch安装

1、依赖环境Jre安装

wget "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jre-8u131-linux-x64.rpm?AuthParam=1500362928_8aa25a02f542f908485e61d3e3de8e39"

[[email protected] package]# rpm -ivh jre-8u131-linux-x64.rpm

Preparing...                ########################################### [100%]

1:jre1.8.0_131           ########################################### [100%]

Unpacking JAR files...

plugin.jar...

javaws.jar...

deploy.jar...

rt.jar...

jsse.jar...

charsets.jar...

localedata.jar...

[[email protected] package]# java -version

java version "1.8.0_131"

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

[[email protected] package]#

2、添加elasticsearch镜像

[[email protected] package]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

[[email protected] package]# vim /etc/yum.repos.d/elasticsearch.repo

[elasticsearch-1.5]

name=Elasticsearch repository for 1.5.x packages

baseurl=http://packages.elastic.co/elasticsearch/1.5/centos

gpgcheck=1

gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch

enabled=1

3、安装启动

[[email protected] package]# yum -y install elasticsearch

[[email protected] package]# chkconfig --add elasticsearch

[[email protected] package]# vim /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog

[[email protected] package]# /etc/init.d/elasticsearch start

Starting elasticsearch:                                    [  OK  ]

[[email protected] package]#

查看端口是否正常开启:

4、测试

三、graylog安装

1、下载rpm包

wget https://packages.graylog2.org/repo/el/6Server/1.0/x86_64/graylog-web-1.0.2-1.noarch.rpm

wget https://packages.graylog2.org/repo/el/6Server/1.0/x86_64/graylog-web-1.0.2-1.noarch.rpm

2、安装

[[email protected] package]# rpm -ivh graylog-server-1.0.2-1.noarch.rpm

warning: graylog-server-1.0.2-1.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID b1606f22: NOKEY

Preparing...                ########################################### [100%]

1:graylog-server         ########################################### [100%]

[[email protected] package]# rpm -ivh graylog-web-1.0.2-1.noarch.rpm

warning: graylog-web-1.0.2-1.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID b1606f22: NOKEY

Preparing...                ########################################### [100%]

1:graylog-web           ########################################### [100%]

[[email protected] package]#

3、安装密码生成工具

[[email protected] package]# wget "https://jaist.dl.sourceforge.net/project/pwgen/pwgen/2.07/pwgen-2.07.tar.gz" --no-check-certificate

[[email protected] package]# tar -xvzf pwgen-2.07.tar.gz

[[email protected] package]# cd pwgen-2.07

[[email protected] pwgen-2.07]# ./configure

[[email protected] pwgen-2.07]# make &&make install

4、生成后台登录的密钥(server端配置)

[[email protected] package]# pwgen -N 1 -s 96

dlpczsPk5onyxfuvzEofWf9hImti8gy1IuwGHEU8hgK7mJ0n1ONRP1RhmUoOfbjebY9ntcSJisMnyFdDCqFTTc0gTXiXE5Gm

[[email protected] package]#

[[email protected] package]# vim /etc/graylog/server/server.conf

password_secret=dlpczsPk5onyxfuvzEofWf9hImti8gy1IuwGHEU8hgK7mJ0n1ONRP1RhmUoOfbjebY9ntcSJisMnyFdDCqFTTc0gTXiXE5Gm

[[email protected] package]# echo -n zc1215 | sha256sum

333afba6e2b8b480168b0c7704099cfb15e546f3cdf57e97c4b58cf9a3d8e398  -

[[email protected] package]#

[[email protected] package]# vim /etc/graylog/server/server.conf

root_password_sha2=333afba6e2b8b480168b0c7704099cfb15e546f3cdf57e97c4b58cf9a3d8e398

root_username = dengluyonghu

elasticsearch_cluster_name = graylog

5、启动server端

[[email protected] package]# /etc/init.d/graylog-server start

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0

[[email protected] package]#

该报错可以忽略

6、生成后台登录密钥(web端配置)

[[email protected] package]# pwgen -N 1 -s 96

dlpczsPk5onyxfuvzEofWf9hImti8gy1IuwGHEU8hgK7mJ0n1ONRP1RhmUoOfbjebY9ntcSJisMnyFdDCqFTTc0gTXiXE5Gm

[[email protected] package]#

[[email protected] package]# vim /etc/graylog/web/web.conf

graylog2-server.uris="http://127.0.0.1:12900/"

application.secret="dlpczsPk5onyxfuvzEofWf9hImti8gy1IuwGHEU8hgK7mJ0n1ONRP1RhmUoOfbjebY9ntcSJisMnyFdDCqFTTc0gTXiXE5Gm”

注意:/etc/graylog/web/web.conf中的graylog2-server.uris必须与/etc/graylog/server/server.conf中的rest_listen_uri一致

7、启动web端

[[email protected] package]# /etc/init.d/graylog-web start

Starting graylog-web:                                      [  OK  ]

[[email protected] package]#

8、测试

浏览器中输入URL:http://103.227.76.20:9000可以进入graylog登录页面

管理员账号和密码:dengluyonghu/zc1215

四、添加日志收集器

1、创建tcp端口检测

进入 System > Inputs > Inputs in Cluster > Raw/Plaintext TCP | Launch new input,取名"tcp 5555" 完成创建

完成之后在任何安装NC的linux机器上执行:

echo `date`|nc 103.227.76.20 5555

浏览器的http://103.227.76.20:9000登录首页之后,点击第三行绿色的搜索按钮,看到一条消息:如下截图:

说明安装成功

2、创建http端口检测

进入 System > Inputs > Inputs in Cluster > GELF HTTP | Launch new input,取名"http 12201" 完成创建

测试:

在任何安装了curl的linux机器上执行:

curl -XPOST http://103.227.76.20:12201/gelf  -p0 -d ‘{"short_message":"Hello there", "host":"example.org", "facility":"test", "_foo":"bar"}‘

浏览器的http://103.227.76.20:9000登录首页之后,点击第三行绿色的搜索按钮,看到一条消息:如下截图:

说明GELF HTTP Input设置成功!!

3、设置时区

[[email protected] shell]# vim /etc/graylog/server/server.conf

root_timezone = Asia/Shanghai

[[email protected] shell]# vim /etc/graylog/web/web.conf

timezone="Asia/Shanghai"

重启服务

[[email protected] shell]# /etc/init.d/graylog-server restart

[[email protected] shell]# /etc/init.d/graylog-web restart

五、发送日志到Graylog服务器

1、使用http协议发送日志

curl -XPOST http://103.227.76.20:12202/gelf -p0 -d ‘{"short_message":"Hello there", "host":"example.org", "facility":"test", "_foo":"bar"}‘

2、使用tcp协议发送日志

echo "hello, graylog" | nc 103.227.76.20 5555

3、结合inotifywait收集php-error.log日志

gather-php-log.sh   【该脚本是通过inotifywait进行实时检测日志并发送到graylog服务端的脚本】

#!/bin/bash

app=php-error

node=$HOSTNAME

log_file=/data/weblogs/php-fpm-error.log

graylog_server_ip=223.202.208.85

graylog_server_port=12201

while inotifywait -e modify $log_file; do

last_size=`cat ${app}.size`

curr_size=`stat -c%s $log_file`

echo $curr_size > ${app}.size

count=`echo "$curr_size-$last_size" | bc`

python read_log.py $log_file ${last_size} $count | sed ‘s/"/\\\\\"/g‘ > ${app}.new_lines

while read line。

do

if [ 0 -lt 1 ]; then

curl -XPOST http://103.227.76.19:12201/gelf -p0 -d "{\"short_message\":\"$line\", \"host\":\"${graylog_server_ip}\", \"facility\":\"php-error\"}"

echo "gathered -- $line"

fi

done < ${app}.new_lines

done

file=/data/shell/php-error.new_lines

if [ ! -s $file ];then

echo "文件为空,日志无异常"

else

cat /data/shell/php-error.new_lines |grep "php"|grep -v "php-fpm">/data/shell/${app}.new_lines2

file2=/data/shell/php-error.new_lines2

if [ ! -s $file2 ];then

echo "无异常"

else

echo -e "详情请登录:http://103.227.76.19:9000进行查看\n `cat /data/shell/php-error.new_lines`" |mutt -s "php错误日志"

[email protected]

fi

>/data/shell/${app}.new_lines

>/data/shell/${app}.new_lines2

fi

read_log.py   【读取获取到的日志脚本】

#!/usr/bin/python

#coding=utf-8

import sys

import os

if len(sys.argv) < 4:

print "Usage: %s /path/of/log/file print_from count" % (sys.argv[0])

print "Example: %s /var/log/syslog 90000 100" % (sys.argv[0])

sys.exit(1)

filename = sys.argv[1]

if (not os.path.isfile(filename)):

print "%s not existing!!!" % (filename)

sys.exit(1)

filesize = os.path.getsize(filename)

position = int(sys.argv[2])

if (filesize < position):

print "log file may cut by logrotate.d, print log from begin!" % (position,filesize)

position = 0

count = int(sys.argv[3])

fo = open(filename, "r")

fo.seek(position, 0)

content = fo.read(count)

print content.strip()

# Close opened file

fo.close()

原文地址:https://www.cnblogs.com/bazingafraser/p/8491025.html

时间: 2024-11-08 20:40:44

日志管理工具Graylog搭建的相关文章

Java程序员须知的七个日志管理工具(转)

Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:The 7 Log Management Tools You Need To Know 日志管理工具有 Splunk.Sumo Logic.LogStash.GrayLog.Loggly 和 PaperTrails 等等,数不胜数.日志就像石油,二十多年了我们一直想摆脱它,却一直没有做到. 为了处理日益增长

linux下日志管理工具--logrotate

配置 /usr/local/nginx/logs/*.log { daily dateext rotate 1 olddir /usr/local/nginx/other/logs missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/null) 2>/dev/null ||: endscript } dateext:文件后缀是日期格式,也就是

logstash+elastic+kibana日志管理工具介绍及安装

logstash+elastic+kibana日志管理工具介绍及安装 一. Logstash 安装 1.1 前置条件,安装了官方java 7或更新版本 查看 [ldx@1511-min ~]$ java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) 1.2

LogCook 一个简单实用的Android日志管理工具

众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性.完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能达到事半功倍的效果.开发者必须要明白日志的价值和意义,万万不可忽略和轻视. LogCook是一款非常简洁实用的Android日记管理工具.LogCook的中文翻译是日志厨师,你可以把它看作是一个日志美食家. 特点 作为一款日志管理工具它最大的特点就是简单实用,与Android原生的日志功能相比较它具

日志管理工具之logrotate

Logrotate配置和测试 logrotate软件是一个日志管理工具,用于非分隔日志,删除旧的日志文件,并创建新的日志文件,起到"转储作用",可以为系统节省磁盘空间.logrotate是基于crontab运行的,其脚本是/etc/cron.daily/logtotate,日志轮转是系统自发完成的,实际运行时,logrotate会调用配置文件/etc/logrotate.conf.可以在/etc/logrotate.d目录里放置自定义好的配置文件,用来覆盖logrotate.conf的

logrotate日志管理工具

logrotate是一个日志文件管理工具.用来把旧文件轮转.压缩.删除,并且创建新的日志文件.我们可以根据日志文件的大小.天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的. 1. 配置实例 /var/log/messages {     rotate 5     weekly     postrotate         /sbin/killall -HUP syslogd     endscript }   "/var/log/httpd/access.log"

NLog日志管理工具

一.通过VS建立一个控制台应用程序. 二.打开程序包管理器控制台.具体操作如下:[工具]>[库程序包管理器]>[程序包管理器控制台]. 三.在程序包管理器控制台下输入命令:Install-Package NLog 安装成功后,项目的引用中会自动添加了NLog这个引用.并且项目的文件夹里下载了NLog的一些资源文件. 四.继续在程序包管理器控制台中输入命令:Install-Package NLog.config 稍等片刻,会发现项目中多出了三个文件项,分别是,NLog.config.Nlog.x

mysqlbinlog(日志管理工具)

mysqlbinlog用于处理二进制的日志文件,如果想要查看这些日志文件的文本内容,就需要使用mysqlbinlog工具. 1.mysqlbinlog命令的语法 shell > mysqlbinlog [options] logfile1 logfile2 ... 2.mysqlbinlog的选项 -d, --database=name 仅显示指定数据库的转储内容. -o, --offset=# 跳过前N行的日志条目. -r, --result-file=name 将输入的文本格式的文件转储到指

禅道Bug管理工具环境搭建

下载地址:http://sourceforge.net/projects/zentao/files/8.2/ZenTaoPMS.8.2.stable.exe/download 1.解压ZenTaoPMS.8.1.3到根目录,比如“C:\ xampp”.“D:\ xampp 2.进入xampp,以管理员身份点击“启动禅道” 3.禅道集成运行环境1.2.6,点击启动 4.系统会自动启动禅道所需要的apache和mysql服务 5.点击“访问禅道”,即可打开禅道环境的首页,5秒钟之后,页面会自动调到禅