วิธีการติดตั้งเซิร์ฟเวอร์ Graylog บน CentOS 7

เซิร์ฟเวอร์ Graylog เป็นชุดซอฟต์แวร์การจัดการบันทึกโอเพ่นซอร์สที่พร้อมสำหรับองค์กร มันรวบรวมบันทึกจากแหล่งต่าง ๆ และวิเคราะห์เพื่อค้นหาและแก้ไขปัญหา เซิร์ฟเวอร์ Graylog นั้นเป็นการผสมผสานระหว่าง Elasticsearch, MongoDB และ Graylog Elasticsearch เป็นแอพพลิเคชั่นโอเพนซอร์ซที่ได้รับความนิยมอย่างมากในการจัดเก็บข้อความ MongoDB เป็นแอปพลิเคชั่นโอเพนซอร์ซเพื่อเก็บข้อมูลในรูปแบบ NoSQL Graylog รวบรวมบันทึกจากแหล่งต่าง ๆ และจัดทำแดชบอร์ดบนเว็บเพื่อจัดการและค้นหาผ่านบันทึก Graylog ยังมี REST API สำหรับการกำหนดค่าและข้อมูล มันมีแดชบอร์ดที่สามารถกำหนดค่าได้ซึ่งสามารถใช้ในการมองเห็นตัวชี้วัดและสังเกตแนวโน้มโดยใช้สถิติภาคสนามค่าด่วนและแผนภูมิจากตำแหน่งศูนย์กลางเดียว

ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการติดตั้ง Graylog Server บน CentOS 7 คู่มือนี้เขียนขึ้นสำหรับ Graylog Server 2.3 แต่อาจใช้ได้กับเวอร์ชันที่ใหม่กว่าด้วย คุณจะได้เรียนรู้วิธีการติดตั้ง Java, Elasticsearch และ MongoDB เราจะรักษาความปลอดภัยอินสแตนซ์ของ MongoDB และตั้งค่า Nginx reverse proxy สำหรับแดชบอร์ดบนเว็บและ API

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์ของเซิร์ฟเวอร์ Vultr CentOS 7 ที่มี RAM อย่างน้อย 4GB
  • sudo ผู้ใช้

ในบทช่วยสอนนี้เราจะใช้192.0.2.1เป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์และgraylog.example.comเป็นชื่อโดเมนที่ชี้ไปยังเซิร์ฟเวอร์ แทนที่การเกิดขึ้นทั้งหมด192.0.2.1ด้วยที่อยู่ IP สาธารณะ Vultr ของคุณและgraylog.example.comด้วยชื่อโดเมนจริงของคุณ

ปรับปรุงระบบฐานของคุณใช้คู่มือวิธีการปรับปรุง CentOS 7 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้ง Java

ติดตั้ง Java

Elasticsearch ต้องการ Java 8 เพื่อให้ทำงานได้ รองรับทั้ง Oracle Java และ OpenJDK แต่ขอแนะนำเสมอว่าให้คุณใช้ Oracle Java เมื่อเป็นไปได้ Oracle จัดให้มีพร้อมสำหรับการติดตั้งแพคเกจ RPM ดาวน์โหลด Oracle JDK RPM:

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"

ติดตั้งแพ็คเกจ RPM

sudo yum -y install jdk-8u144-linux-x64.rpm

หาก Java ติดตั้งสำเร็จคุณควรตรวจสอบเวอร์ชั่นของมันได้

java -version

คุณจะเห็นผลลัพธ์ต่อไปนี้

[user@vultr ~]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

ตั้งค่าJAVA_HOMEและJRE_HOMEตัวแปรสภาพแวดล้อมโดยการเรียกใช้:

echo "export JAVA_HOME=/usr/java/jdk1.8.0_144/" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_144/jre" >> ~/.bash_profile

ตอนนี้แหล่งไฟล์โดยใช้คำสั่งดังต่อไปนี้

source ~/.bash_profile

รันecho $JAVA_HOMEคำสั่งเพื่อตรวจสอบว่าตัวแปรสภาพแวดล้อมถูกตั้งค่าหรือไม่

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_144/

ติดตั้ง Elasticsearch

Elasticsearch เป็นแอพพลิเคชั่นแบบกระจายแบบเรียลไทม์ที่ปรับขนาดได้และมีความพร้อมใช้งานสูงที่ใช้ในการจัดเก็บบันทึกและค้นหาไฟล์เหล่านั้น มันเก็บข้อมูลในดัชนีและค้นหาข้อมูลได้อย่างรวดเร็ว มันมีชุดของ API ที่หลากหลายเช่น HTTP RESTful API และ Java API ดั้งเดิม Elasticsearch สามารถติดตั้งได้โดยตรงผ่านที่เก็บ Elasticsearch สร้างไฟล์ที่เก็บใหม่สำหรับ Elasticsearch

sudo nano /etc/yum.repos.d/elasticsearch.repo

เติมไฟล์ด้วยเนื้อหาต่อไปนี้

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

นำเข้าคีย์ PGP ที่ใช้ในการเซ็นชื่อแพ็คเกจ สิ่งนี้จะทำให้มั่นใจในความสมบูรณ์ของแพ็คเกจ

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

ติดตั้งแพ็คเกจ Elasticsearch:

sudo yum -y install elasticsearch

เมื่อติดตั้งแพคเกจแล้วให้เปิดไฟล์กำหนดค่าเริ่มต้นของ Elasticsearch

sudo nano /etc/elasticsearch/elasticsearch.yml

ค้นหาบรรทัดต่อไปนี้ยกเลิกหมายเหตุและเปลี่ยนค่าจากmy-applicationเป็นgraylog

cluster.name: graylog

คุณสามารถเริ่มต้นใช้งาน Elasticsearch และเปิดใช้งานให้เริ่มต้นโดยอัตโนมัติในเวลาบูต:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Elasticsearch กำลังทำงานบนพอร์ต 9200 ตรวจสอบว่าทำงานได้อย่างถูกต้องโดยการเรียกใช้:

curl -XGET 'localhost:9200/?pretty'

คุณจะเห็นผลลัพธ์คล้ายกับต่อไปนี้

[user@vultr ~]$ curl -XGET 'localhost:9200/?pretty'
{
  "name" : "-kYzFA9",
  "cluster_name" : "graylog",
  "cluster_uuid" : "T3JQKehzSqmLThlVkEKPKg",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

หากคุณพบข้อผิดพลาดให้รอสองสามวินาทีแล้วลองอีกครั้งเนื่องจาก Elasticsearch ใช้เวลาในการเริ่มกระบวนการให้เสร็จสิ้น ขณะนี้ติดตั้ง Elasticsearch และทำงานอย่างถูกต้อง

ติดตั้ง MongoDB

MongoDB เป็นเซิร์ฟเวอร์ฐานข้อมูล NoSQL ฟรีและโอเพ่นซอร์ส ซึ่งแตกต่างจากฐานข้อมูลดั้งเดิมที่ใช้ตารางในการจัดระเบียบข้อมูล MongoDB เป็นเอกสารเชิงและใช้เอกสารเหมือน JSON โดยไม่ต้อง schema Graylog ใช้ MongoDB เพื่อจัดเก็บการกำหนดค่าและข้อมูลเมตา สามารถติดตั้งได้โดยตรงผ่านที่เก็บ MongoDB สร้างไฟล์ที่เก็บใหม่สำหรับ MongoDB

sudo nano /etc/yum.repos.d/mongodb.repo

เติมไฟล์ด้วยเนื้อหาต่อไปนี้

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

ติดตั้ง MongoDB โดยเรียกใช้:

sudo yum -y install mongodb-org

เริ่มต้นเซิร์ฟเวอร์ MongoDB และเปิดใช้งานให้เริ่มโดยอัตโนมัติ

sudo systemctl start mongod
sudo systemctl enable mongod

ติดตั้งเซิร์ฟเวอร์ Graylog

ดาวน์โหลดที่เก็บล่าสุดสำหรับเซิร์ฟเวอร์ Graylog

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
sudo yum -y update

ติดตั้ง Graylog โดยเรียกใช้:

sudo yum -y install graylog-server

เซิร์ฟเวอร์ Graylog ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว ก่อนที่คุณจะเริ่มคุณจะต้องกำหนดค่าบางอย่าง

กำหนดค่า Graylog

ติดตั้งpwgenยูทิลิตี้เพื่อสร้างรหัสผ่านที่คาดเดายาก

sudo yum -y install pwgen

ตอนนี้สร้างความลับรหัสผ่านที่แข็งแกร่ง

pwgen -N 1 -s 96

คุณจะออกคล้ายกับ:

[user@vultr ~]$ pwgen -N 1 -s 96
pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v

และสร้างแฮช 256 บิตสำหรับรหัสผ่านของadminผู้ใช้รูท:

echo -n StrongPassword | sha256sum

แทนที่StrongPasswordด้วยรหัสผ่านที่คุณต้องการตั้งค่าสำหรับadminผู้ใช้ แล้วคุณจะได้เห็น:

[user@vultr ~]$ echo -n StrongPassword | sha256sum
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223  -

เปิดไฟล์กำหนดค่า Graylog:

sudo nano /etc/graylog/server/server.conf

ค้นหาpassword_secret =คัดลอกและวางรหัสผ่านที่สร้างผ่านpwgenคำสั่ง ค้นหาroot_password_sha2 =คัดลอกและวางแฮช SHA 256 บิตที่แปลงแล้วของรหัสผ่านผู้ดูแลระบบของคุณ ค้นหา#root_email =ยกเลิกการแสดงความคิดเห็นและแจ้งที่อยู่อีเมลของคุณ uncomment root_timezoneและตั้งค่าเขตเวลาของคุณที่ ตัวอย่างเช่น:

password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = [email protected]
root_timezone = Asia/Kolkata

เปิดใช้งาน web-based interface Graylog โดย uncommenting และการตั้งค่า#web_enable = false trueยังไม่แสดงข้อคิดเห็นและเปลี่ยนบรรทัดต่อไปนี้ตามที่ระบุ

rest_listen_uri = http://0.0.0.0:9000/api/
rest_transport_uri = http://45.76.214.19:9000/api/
web_enable = true
web_listen_uri = http://0.0.0.0:9000/

บันทึกไฟล์และออกจากตัวแก้ไขข้อความของคุณ

เริ่มบริการ Graylog โดยเรียกใช้:

sudo systemctl restart graylog-server

กำหนดค่า Nginx เป็น reverse proxy

โดยค่าเริ่มต้นเว็บอินเตอร์เฟส Graylog ฟังlocalhostบนพอร์ต 9000 และฟัง API ที่พอร์ต 9000 ด้วย /apiURL ในบทช่วยสอนนี้เราจะใช้ Nginx เป็น reverse proxy เพื่อให้แอปพลิเคชันสามารถเข้าถึงได้ผ่านพอร์ต HTTP มาตรฐาน ติดตั้งเว็บเซิร์ฟเวอร์ Nginx โดยเรียกใช้:

sudo yum -y install nginx

เปิดโฮสต์เสมือนเริ่มต้นด้วยการพิมพ์

sudo nano /etc/nginx/nginx.conf

ค้นหาserverบล็อกข้างใต้httpและแทนที่serverบล็อกทั้งหมดด้วยบรรทัดต่อไปนี้

server
{
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name graylog.example.com 192.0.2.1;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/api;
      proxy_pass       http://127.0.0.1:9000;
    }
}

เริ่ม Nginx และเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต:

sudo systemctl start nginx
sudo systemctl enable nginx

กำหนดค่าไฟร์วอลล์และ SELinux

หากคุณใช้ไฟร์วอลล์บนเซิร์ฟเวอร์ของคุณคุณจะต้องกำหนดค่าไฟร์วอลล์เพื่อตั้งค่าข้อยกเว้นสำหรับบางพอร์ต อนุญาตให้ใช้บริการ Elasticsearch และ Nginx reverse proxy เพื่อเชื่อมต่อจากนอกเครือข่าย

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-port=9200/tcp
sudo firewall-cmd --reload

หากคุณเปิดใช้งาน SELinux ในระบบของคุณคุณจะต้องเพิ่มข้อยกเว้นบางประการในนโยบายของ SELinux

sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017

ข้อสรุป

การติดตั้งและกำหนดค่าพื้นฐานของเซิร์ฟเวอร์ Graylog เสร็จสมบูรณ์แล้ว ตอนนี้คุณสามารถเข้าถึงเซิร์ฟเวอร์ Graylog ในhttp://192.0.2.1หรือhttp://graylog.example.comถ้าคุณมีการกำหนดค่า DNS เข้าสู่ระบบโดยใช้ชื่อผู้ใช้adminและรหัสผ่านแบบข้อความธรรมดาที่คุณตั้งไว้root_password_sha2ก่อนหน้านี้

ขอแสดงความยินดี - คุณมีเซิร์ฟเวอร์ Graylog ที่ทำงานได้อย่างสมบูรณ์ติดตั้งบนเซิร์ฟเวอร์ CentOS 7 ของคุณ



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true