Graylog是一个开源的日志管理平台,可以帮助您集中收集、索引和分析来自不同源的日志数据。以下是完整的安装和配置流程:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
sudo apt install openjdk-11-jre-headless -y # Ubuntu/Debian
sudo yum install java-11-openjdk -y # CentOS/RHEL
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl enable --now mongod
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
sudo yum install -y mongodb-org
sudo systemctl enable --now mongod
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch=7.10.2
配置Elasticsearch:
sudo sed -i 's/#cluster.name: my-application/cluster.name: graylog/' /etc/elasticsearch/elasticsearch.yml
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch
wget https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.deb
sudo dpkg -i graylog-4.3-repository_latest.deb
sudo apt update
sudo apt install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm
sudo yum install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins
生成密码和密钥:
password_secret=$(pwgen -N 1 -s 96)
echo "password_secret = $password_secret"
root_password_sha2=$(echo -n "EnterYourAdminPassword" | sha256sum | cut -d" " -f1)
echo "root_password_sha2 = $root_password_sha2"
编辑配置文件 /etc/graylog/server/server.conf
:
password_secret = [上面生成的password_secret]
root_password_sha2 = [上面生成的root_password_sha2]
http_bind_address = 0.0.0.0:9000
elasticsearch_hosts = http://localhost:9200
mongodb_uri = mongodb://localhost/graylog
启动Graylog:
sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server
打开浏览器访问:http://<your-server-ip>:9000
使用用户名 admin
和您设置的密码登录。
在Graylog Web界面:
配置rsyslog发送日志到Graylog:
echo "*.* @your-graylog-server-ip:514" | sudo tee -a /etc/rsyslog.conf
sudo systemctl restart rsyslog
sudo apt install filebeat # Ubuntu/Debian
sudo yum install filebeat # CentOS/RHEL
/etc/filebeat/filebeat.yml
):filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.logstash:
hosts: ["your-graylog-server-ip:5044"]
在Graylog中配置Beats输入:
启动Filebeat:
sudo systemctl enable --now filebeat
创建搜索:
source:your_source AND level:ERROR
创建仪表板:
设置警报:
索引轮换:
监控Graylog自身:
备份:
Graylog无法启动:
journalctl -u graylog-server -f
日志未显示:
性能问题:
/etc/graylog/server/server.conf
中的-Xms
和-Xmx
参数)通过以上步骤,您应该能够在Linux环境中成功部署和使用Graylog进行日志分析。根据您的具体需求,可以进一步探索Graylog的高级功能,如管道处理、插件集成等。