您的位置:首页 > Web前端 > Node.js

Nodejs应用GrayLog日志系统初探

2017-07-13 11:41 399 查看
简介

安装

进入web端进行配置

Nodejs使用

之前有预研过ELK(elasticsearch、logstash、kinaba)搭建的日志系统,最近在看GrayLog日志系统。

简介

graylog的server端是java写的,web端是Ruby on Rail,依赖ElasticSearch和MongoDB。

安装

用的是Docker安装,直接用docker-compose比较直接。

version: '2'
services:
mongo:
image: "mongo:3"
elasticsearch:
image: "elasticsearch:2"
command: "elasticsearch -Des.cluster.name='graylog'"
graylog:
image: graylog2/server:2.2.1-1
environment:
GRAYLOG_PASSWORD_SECRET: somepasswordpepper
GRAYLOG_ROOT_PASSWORD_SHA2: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
GRAYLOG_WEB_ENDPOINT_URI: http://127.0.0.1:9000/api depends_on:
- mongo
- elasticsearch
ports:
- "9000:9000"
- "12201:12201"
- "12202:12202"
- "514:514"


这里开个12201端口用于tcp模式,514端口用于udp模式,12202用于http模式,其实想怎么设置都可以。

docker-compose up -d


-d
是后台运行。

进入web端进行配置

用浏览器打开
http://localhost:9000
进入管理后台,初始账号密码是
admin
/
admin


在菜单中打开
system/input
,创建一个
tcp input
和一个
udp input
,端口配置成
12201
514


Nodejs使用

首先安装
gelf-pro


npm i gelf-pro --save


这里就配置adapter为tcp

var log = require('gelf-pro');

log.setConfig({
fields: {facility: "example", owner: "Tom (a cat)"}, // optional; default fields for all messages
filter: [], // optional; filters to discard a message
transform: [], // optional; transformers for a message
broadcast: [], // optional; listeners of a message
levels: {}, // optional; default: see the levels section below
adapterName: 'tcp', // optional; currently supported "udp", "tcp" and "tcp-tls"; default: udp
adapterOptions: { // this object is passed to the adapter.connect() method
// common
host: '127.0.0.1', // optional; default: 127.0.0.1
port: 12201, // optional; default: 12201
// ... and so on
// tcp adapter example
family: 4, // tcp only; optional; version of IP stack; default: 4
timeout: 1000, // tcp only; optional; default: 10000 (10 sec)
}
});

log.info("Hello world");


然后进入web端管理后台的search就可以看到相关的日记记录。

其实还可以用syslog的方式结合一些常用的日志库,如log4js和bunyan之类的。

其他可以参考这篇文章:参考链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nodejs graylog
相关文章推荐