Graylog 安装
Graylog 安装

Graylog 安装

Created
Jul 5, 2021 07:48 AM
Tags
OPS
💡
TL,DR: 使用Docker compose进行安装吧。

安装环境

目前使用Debian 9 (Strech)netinstall 包安装,2核4G内存完全可以跑动,根据日志数量可以适量增加配置。特别注意磁盘空间。
安装内容包含openjdk, mongodb,elastic-search, graylog
默认都使用了root账号登陆,所以命令中都没有使用sudo
TODO: 根据 https://cs.uwaterloo.ca/~brecht/servers/openfiles.html 添加打开文件描述到最大

技术架构解释

三个服务

Mongodb:一个nosql 数据库,负责存储graylog的配置信息,例如 部分系统参数,用户信息。系统的对 mongodb服务器要求不高。 Elasticsearch:高效文本存储和索引工具,日志都存在它里面,它对日志进行索引,提高快速搜索服务,主要卖力的模块,所有的 Graylog:主角,日志处理工具,负责接收日志,将日志加工和放入Elasticsearch进行索引,有方便的网页界面。
 
还有例如Filebeat,winlogbeat是一些agent,是真正获取日志并发送到graylog的工具。
graylog实例最小安装模式
graylog实例最小安装模式

周边工具

Browser(client): graylog自带的一个SPA的前端用户界面。 Sidecar,filebeat等:日志输入工具,将其他系统的日志发送到Graylog的工具。

安装JDK8

apt update && sudo apt upgrade apt install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen dirmngr
安装完成后,可以配置一下JAVA_HOME,百度一下应该有。

安装MongoDB

安装官方的MongoDB
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb <http://repo.mongodb.org/apt/debian> stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list apt-get update apt-get install -y mongodb-org
第一行添加Ubuntu的gpg key,第二行添加mongodb的官方源,第三行从mongodb源获取安装信息,第4行安装mongodb
运行下面命令启动Mongodb
systemctl daemon-reload systemctl enable mongod.service systemctl restart mongod.service

安装Elastic Search

安装

从elstic官方源安装Elastic Search开源版本
$ wget -qO - <https://artifacts.elastic.co/GPG-KEY-elasticsearch> | apt-key add - $ echo "deb <https://artifacts.elastic.co/packages/oss-6.x/apt> stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.list $ apt update && apt install elasticsearch-oss
修改Elastic Search的配置文件 /etc/elasticsearch/elasticsearch.yml ,将cluster name修改成graylog ,并去掉action.auto_create_index: false前的#
cluster.name: graylog action.auto_create_index: false

启动

修改完成配置后,运行下面命令,重启Elastic search
systemctl daemon-reload systemctl enable elasticsearch.service systemctl restart elasticsearch.service
启动后,可以检查一下elasticsearch是否启动成功
curl localhost:9200
Elasticsearch的输出
Elasticsearch的输出
 

ElasticSearch 性能和配置优化

安装Graylog

从官方源安装Graylog
wget <https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.deb> dpkg -i graylog-3.0-repository_latest.deb apt update && apt install graylog-server
安装完成后,graylog不会自动启动,需要先进行配置。 配置password-secret,运行
pwgen -N 1 -s 96
将生成的密码配置在password-secret中。

配置日志接收接口

安装日志收集器

Graylog支持多种日志收集模式,支持syslog标准接口,但是在实现的时候,为了减少开发内容,直接使用的Graylog的Sidecar进行日志收集。Sidecar的工作方式是定期 tail 日志文件,将新增的日志发送到Graylog服务器。 详细配置文件见 http://docs.graylog.org/en/2.4/pages/collector_sidecar.html
目前sidecar主要有两个版本
Sidecar和graylog版本适配
Sidecar version
Graylog server version
2.1.x
2.2.x-2.5.x
注意不要下载错了。 下载对应系统的环境包 https://github.com/Graylog2/collector-sidecar/releases
Sidecar支持Windows,Linux。
下载对应系统的安装包,使用相应的命令进行安装。
Debian的命令如下,CentOS的见官方文档
dpkg -i collector-sidecar_0.0.9-1_amd64.deb #安装
配置sidecar,编辑/etc/graylog/collector-sidecar/collector_sidecar.yml
按我们目前的安装环境,配置文件请参考目前生产服务器上的配置文件 示例如下
server_url: <http://10.150.40.3:9001/api/> update_interval: 30 tls_skip_verify: false send_status: true list_log_files: node_id: gfss_prd collector_id: file:/etc/graylog/collector-sidecar/collector-id cache_path: /var/cache/graylog/collector-sidecar log_path: /var/log/graylog/collector-sidecar log_rotation_time: 86400 log_max_age: 604800 tags: - gfss_prd backends: - name: nxlog enabled: false binary_path: /usr/bin/nxlog configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf - name: filebeat enabled: true binary_path: /usr/bin/filebeat configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml
完成配置后,即可尝试启动服务。
graylog-collector-sidecar -service install #安装服务 systemctl start graylog-collector-sidecar # 启动collector #检查是否启动有问题,如果没有问题 systemctl enable graylog-collector-sidecar #配置开机自启动