基于CentOS7环境搭建Graylog日志系统

2023-12-10 03:01

本文主要是介绍基于CentOS7环境搭建Graylog日志系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        我配置的Graylog是4版本的,因为更高级的版本没有针对centos

CentOS installationicon-default.png?t=N7T8https://go2docs.graylog.org/4-x/downloading_and_installing_graylog/centos_installation.html        官方文档挺详细,但有的地方可能会出问题

1. 安装MongoDB

Install MongoDB Community Edition on Red Hat or CentOS — MongoDB Manualicon-default.png?t=N7T8https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-red-hat/#install-mongodb-community-edition

  • 兜兜转转发现很多东西还是官网的文档写的好

 1.1 创建一个yum配置文件

vi /etc/yum.repos.d/mongodb-org-4.4.repo

        添加内容

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

1.2 安装MongoDB

 sudo yum install -y mongodb-org

1.31 解决SELinux组织MongoDB访问的问题

1.3.1 安装checkpolicy

sudo yum install checkpolicy

1.3.1 配置mongodb_cgroup_memory策略

cat > mongodb_cgroup_memory.te <<EOF
module mongodb_cgroup_memory 1.0;

require {
      type cgroup_t;
      type mongod_t;
      class dir search;
      class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir search;
allow mongod_t cgroup_t:file { getattr open read };
EOF

 1.3.2 运行mongodb_cgroup_memory策略

checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te
semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod
sudo semodule -i mongodb_cgroup_memory.pp

1.3.3 配置mongodb_proc_net策略

cat > mongodb_proc_net.te <<EOF
module mongodb_proc_net 1.0;

require {
    type cgroup_t;
    type configfs_t;
    type file_type;
    type mongod_t;
    type proc_net_t;
    type sysctl_fs_t;
    type var_lib_nfs_t;

    class dir { search getattr };
    class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir { search getattr } ;
allow mongod_t cgroup_t:file { getattr open read };
allow mongod_t configfs_t:dir getattr;
allow mongod_t file_type:dir { getattr search };
allow mongod_t file_type:file getattr;
allow mongod_t proc_net_t:file { open read };
allow mongod_t sysctl_fs_t:dir search;
allow mongod_t var_lib_nfs_t:dir search;
EOF

1.3.4 运行mongodb_proc_net策略

checkmodule -M -m -o mongodb_proc_net.mod mongodb_proc_net.te
semodule_package -o mongodb_proc_net.pp -m mongodb_proc_net.mod
sudo semodule -i mongodb_proc_net.pp

1.4 运行MongoDB

#运行MongoDB

sudo systemctl start mongod

#查看MongoDB状态

sudo systemctl status mongod

2. 安装Elasticsearch

2.1 安装Elastic GPG密钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

touch /etc/yum.repos.d/elasticsearch.repo

2.2 创建一个yum配置文件

vi /etc/yum.repos.d/elasticsearch.repo

        添加内容,graylog官方文档说是es不能超过7.10的版本

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

 2.3 安装ES

sudo yum install elasticsearch-oss

2.4 修改配置文件

vim /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog
#最后一行新增
action.auto_create_index: false 

2.5 启动ES 

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
sudo systemctl --type=service --state=active | grep elasticsearch

2.6 修改es的jvm内存配置

vim /etc/elasticsearch/jvm.options

        感觉连接多个项目,2g应该够用 

初始化内存
-Xms2g
最小内存
-Xmx2g 

3. 安装Graylog

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.0-repository_latest.rpm

 sudo yum install graylog-server

3.1 安装epel

yum install epel-release

3.2 安装pwgen

yum install pwgen

3.3 生成password_secret密码

pwgen -N 1 -s 96

3.4 生成root_password_sha2密码

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

 3.5 修改配置文件

Overviewicon-default.png?t=N7T8https://go2docs.graylog.org/4-x/setting_up_graylog/web_interface.htm

vim /etc/graylog/server/server.conf

password_secret = xxxxx
Web登录时所需要使用的密码
root_password_sha2 = xxxx 
 
时区
root_timezone = Asia/Shanghai
ip地址,固定这样设置
http_bind_address = 0.0.0.0:9000
 
# 配置外网地址,就是能让其他电脑访问的地址
http_publish_uri = http://graylog.example.com/
 
配的单节点es,分片设置为 1
elasticsearch_shards = 1
elasticsearch_replicas = 0
查询结果高亮
allow_highlighting = true
 
邮件预警配置,hostname是邮件官方的服务器地址,搜一下就能找到
transport_email_enabled = true
transport_email_hostname = smtp.exmail.qq.com
transport_email_port = 465
transport_email_use_auth = true
transport_email_auth_username = your_email.com
transport_email_auth_password = your_password
transport_email_subject_prefix = [graylog]
transport_email_from_email = your_email.com
transport_email_use_tls = false
transport_email_use_ssl = true

3.6 启动Graylog 

sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog

        查看graylog日志

tail -50f  /var/log/graylog-server/server.log

        查看系统日志 

tail -50f /var/log/messages

        查看graylog状态

sudo systemctl status graylog-server.service

这篇关于基于CentOS7环境搭建Graylog日志系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475839

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、