日志管理系统,大家普遍知道的都是ELK的解决方案,但是ELK要实现认证和一些状态监控,需要安装x-pack插件包,但是x-pack是要收费的,当然可以选择破解,但是比较麻烦。而且ELK是一个解决方案,在其中包含很多软件,不单elasticsearch,kibana,logstash,还需要redis或kafaka,收集日志还需要不同的beats,整个结构非常复杂,且占用较多资源,要想完全搞懂需要较长时间。
但是很多时候,公司系统并不大,使用ELK的成本太高,可以使用一些替代方案,除了ELK还有很多日志管理工具,这里就介绍其中的一个很不错的日志方案:Graylog,Graylog是一个可以跟ELK相提并论的日志管理的后起之秀,一个开源的 log 收容器,背后的储存是搭配 mongodb,而搜寻引擎则由 elasticsearch 提供,自身集成web端,不需要单独部署,目前最新为3.0版本。
下面就详细记录一下,graylog3.0的安装与配置和使用。官方文档入口
正文
1. 准备
安装jdk8,安装方案,详见《centos7.2 安装 JDK-1.8》
安装依赖包
$ yum install epel-release -y
$ yum install pwgen -y
2.安装mongodb
$ vim /etc/yum.repos.d/mongodb-org-3.6.repo
----------------------------------------------------------------
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
-----------------------------------------------------------------
# 安装
$ yum install -y mongodb-org
# 启动
$ systemctl enable mongod
$ systemctl start mongod
3. 安装elasticsearch
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# graylog3.0 使用的elasticsearch不低于5.6.13版本,我这里用的最新版6.x
$ vim /etc/yum.repos.d/elasticsearch.repo
----------------------------------------------------------------
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
----------------------------------------------------------------
# 安装
$ yum install elasticsearch
# 修改配置,设置JAVA_HOME
vim /etc/sysconfig/elasticsearch
----------------------------------------------------------------
JAVA_HOME=/usr/local/jdk1.8.0_191 # 填上自己的java_home路径
----------------------------------------------------------------
# 启动
$ systemctl enable elasticsearch
$ systemctl start elasticsearch
4.安装Groylog
$ rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm
$ yum install graylog-server -y
修改配置, password_secret和root_password_sha2是必须的,不设置则无法启动,设置方法如下:
# 修改配置
vim /etc/graylog/server/server.conf
---------------------------------------------------------------------------------
# passworde_secret可以通过命令:pwgen -N 1 -s 96 来随机生成,下面就是我随机生成的
password_secret = 6Z06fZHU2DwuOf9X8fhnvphCd3OM7oqwLECRRcejvjpieSvVtwu08yHYHIKDi56bAxRvtCOZ3xKKiBqyt00XYCgVa0oETB0L
# admin用户密码生成命令:echo -n yourpassword | sha256sum
# 生成后,请记住你的 YourPassword
root_password_sha2 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
# admin用户邮箱
root_email = "root@example.com"
# 时区
root_timezone = Asia/Shanghai
# elasticsearch 相关配置
elasticsearch_hosts = http://127.0.0.1:9200
elasticsearch_shards =1
elasticsearch_replicas = 0
# mongodb 连接配置,这里直接本机起的mongodb,没有设置验证
mongodb_uri = mongodb://loc