เมื่อโครงสร้างพื้นฐานด้านไอทีเคลื่อนไปสู่คลาวด์และ Internet of Things กำลังเป็นที่นิยมองค์กรและผู้เชี่ยวชาญด้านไอทีกำลังใช้บริการคลาวด์สาธารณะในระดับที่สูงขึ้น ในขณะที่เซิร์ฟเวอร์และบริการกำลังทำงานอยู่กำลังเพิ่มจำนวนบันทึกที่ระบบสร้างขึ้นก็เพิ่มขึ้นเช่นกัน การวิเคราะห์บันทึกเหล่านี้มีความสำคัญมากในโครงสร้างพื้นฐานด้วยเหตุผลหลายประการ ซึ่งรวมถึงการปฏิบัติตามนโยบายและข้อบังคับด้านความปลอดภัยการแก้ไขปัญหาระบบการตอบสนองต่อเหตุการณ์ที่เกี่ยวข้องกับความปลอดภัยหรือเพื่อเข้าใจพฤติกรรมของผู้ใช้
แอปพลิเคชั่นโอเพนซอร์ซที่ได้รับความนิยมอย่างมากสามแห่งชื่อ Elasticsearch, Logstash และ Kibana รวมกันเพื่อสร้าง Elastic Stack ห��ือ ELK Stack Elastic Stack เป็นเครื่องมือที่ทรงพลังมากสำหรับการค้นหาวิเคราะห์และแสดงภาพบันทึกและข้อมูล Elasticsearch เป็นแอพพลิเคชั่นแบบกระจายเรียลไทม์ปรับขนาดได้และพร้อมใช้งานสูงในการจัดเก็บบันทึกและค้นหาไฟล์เหล่านั้น Logstash รวบรวมบันทึกที่ส่งมาจาก Beats เพิ่มประสิทธิภาพแล้วส่งไปยัง Elasticsearch Kibana เป็นเว็บ UI ที่ใช้เพื่อแสดงภาพบันทึกและข้อมูลเชิงลึกที่นำไปปฏิบัติได้
ในบทช่วยสอนนี้เราจะติดตั้ง Elasticsearch, Logstash และ Kibana พร้อม X-Pack เวอร์ชั่นล่าสุดบน Ubuntu 17.04
ข้อกำหนดเบื้องต้น
ที่จะปฏิบัติตามการกวดวิชานี้คุณจะต้องมี17.04 Vultr 64 บิต Ubuntuเช่นเซิร์ฟเวอร์ที่มีอย่างน้อย4 GB RAM สำหรับสภาพแวดล้อมการผลิตข้อกำหนดของฮาร์ดแวร์จะเพิ่มขึ้นตามจำนวนผู้ใช้และจำนวนบันทึก
บทช่วยสอนนี้เขียนจากsudo
มุมมองของผู้ใช้ ในการตั้งค่าผู้ใช้ sudo ให้ทำตามวิธีการใช้ Sudo บนคู่มือเดเบียน
คุณจะต้องมีโดเมนที่ชี้ไปยังเซิร์ฟเวอร์ของคุณเพื่อรับใบรับรองจาก Let's Encrypt CA
ก่อนที่จะติดตั้งแพ็กเกจใด ๆ บนอินสแตนซ์ของเซิร์ฟเวอร์ Ubuntu ขอแนะนำให้อัพเดตระบบ ล็อกอินโดยใช้ผู้ใช้ sudo และรันคำสั่งต่อไปนี้เพื่ออัพเดตระบบ
sudo apt update
sudo apt -y upgrade
เมื่อระบบอัปเกรดเสร็จแล้วให้ทำตามขั้นตอนต่อไป
ขั้นตอนที่ 2: ติดตั้ง Java
Elasticsearch ต้องการ Java 8 ในการทำงาน รองรับทั้ง Oracle Java และ OpenJDK บทแนะนำในส่วนนี้แสดงให้เห็นถึงการติดตั้งทั้ง Oracle Java และ OpenJDK
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง Java เวอร์ชันใดเวอร์ชันหนึ่งต่อไปนี้ แนะนำให้ติดตั้ง Oracle Java สำหรับ Elasticsearch อย่างไรก็ตามคุณอาจเลือกที่จะติดตั้ง OpenJDK ตามที่คุณต้องการ
การติดตั้ง Oracle Java
ในการติดตั้ง Oracle Java บนระบบ Ubuntu ของคุณคุณจะต้องเพิ่ม Oracle Java PPA โดยเรียกใช้:
sudo add-apt-repository ppa:webupd8team/java
ตอนนี้อัพเดตข้อมูลที่เก็บโดยการรัน:
sudo apt update
ตอนนี้คุณสามารถติดตั้ง Java 8 เวอร์ชันล่าสุดที่เสถียรโดยการรัน:
sudo apt -y install oracle-java8-installer
ยอมรับข้อตกลงใบอนุญาตเมื่อได้รับแจ้ง เมื่อการติดตั้งเสร็จสิ้นคุณสามารถตรวจสอบเวอร์ชั่น Java ได้โดยรัน:
java -version
คุณจะเห็นผลลัพธ์คล้ายกับ:
user@vultr:~$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
นอกจากนี้คุณยังสามารถตั้งค่าJAVA_HOME
และค่าเริ่มต้นอื่น ๆ oracle-java8-set-default
โดยการติดตั้ง วิ่ง:
sudo apt -y install oracle-java8-set-default
ตอนนี้คุณสามารถตรวจสอบว่าJAVA_HOME
ตัวแปรถูกตั้งค่าโดยใช้:
echo "$JAVA_HOME"
ผลลัพธ์ควรมีลักษณะดังนี้:
user@vultr:~$ echo "$JAVA_HOME"
/usr/lib/jvm/java-8-oracle
หากคุณไม่ได้รับผลลัพธ์ที่แสดงด้านบนคุณอาจต้องออกจากระบบและลงชื่อเข้าใช้เชลล์อีกครั้ง Oracle Java ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว ตอนนี้คุณสามารถไปยังขั้นตอนที่ 3 ของการติดตั้งบทช่วยสอนข้ามการติดตั้ง OpenJDK
การติดตั้ง OpenJDK
การติดตั้ง OpenJDK ค่อนข้างตรงไปตรงมา เพียงเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง OpenJDK
sudo apt -y install default-jdk
เมื่อการติดตั้งเสร็จสิ้นคุณสามารถตรวจสอบเวอร์ชั่น Java ได้โดยรัน:
java -version
คุณจะเห็นผลลัพธ์คล้ายกับ:
user@vultr:~$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.17.04.2-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
ในการตั้งค่าJAVA_HOME
ตัวแปรให้รันคำสั่งต่อไปนี้:
sudo echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> /etc/environment
โหลดไฟล์สภาพแวดล้อมอีกครั้งโดยเรียกใช้:
sudo source /etc/environment
ตอนนี้คุณสามารถตรวจสอบว่าJAVA_HOME
ตัวแปรถูกตั้งค่าโดยใช้:
echo "$JAVA_HOME"
ผลลัพธ์ควรมีลักษณะดังนี้:
user@vultr:~$ echo "$JAVA_HOME"
/usr/lib/jvm/java-8-openjdk-amd64/
ขั้นตอนที่ 3: ติดตั้ง Elasticsearch
Elasticsearch เป็นเอ็นจิ้นการค้นหาที่รวดเร็วและมีประสิทธิภาพสูง เพิ่มที่เก็บ Elasticsearch APT โดยเรียกใช้:
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
คำสั่งดังกล่าวสร้างไฟล์ที่เก็บใหม่สำหรับ Elasticsearch และเพิ่มรายการแหล่งที่มาลงในมัน ตอนนี้นำเข้าคีย์ PGP ที่ใช้ในการเซ็นชื่อแพ็คเกจ
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
อัพเดตข้อมูลเมตาของที่เก็บ APT โดยรัน:
sudo apt update
ติดตั้ง Elasticsearch โดยใช้คำสั่งต่อไปนี้
sudo apt -y install elasticsearch
คำสั่งดังกล่าวจะติดตั้ง Elasticsearch รุ่นล่าสุดในระบบของคุณ เมื่อติดตั้ง Elasticsearch แล้วให้โหลด Systemd service daemon อีกครั้งโดยเรียกใช้:
sudo systemctl daemon-reload
เริ่ม Elasticsearch และเปิดใช้งานให้เริ่มต้นโดยอัตโนมัติในเวลาบูต
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
หากต้องการหยุด Elasticsearch คุณสามารถเรียกใช้:
sudo systemctl stop elasticsearch
เพื่อตรวจสอบสถานะของบริการที่คุณสามารถเรียกใช้:
sudo systemctl status elasticsearch
ElasticSearch 9200
ตอนนี้ทำงานบนพอร์ต คุณสามารถตรวจสอบว่ามันทำงานและสร้างผลลัพธ์โดยใช้คำสั่งต่อไปนี้
curl -XGET 'localhost:9200/?pretty'
ข้อความที่คล้ายกับข้อความต่อไปนี้จะถูกพิมพ์
user@vultr:~$ curl -XGET 'localhost:9200/?pretty'
{
"name" : "wDaVa1K",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "71drjJ8PTyCcbai33Esy3Q",
"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"
}
ติดตั้ง X-Pack สำหรับ Elasticsearch
X-Pack เป็นปลั๊กอิน Elastic Stack ที่ให้คุณสมบัติเพิ่มเติมมากมายเช่นความปลอดภัยการแจ้งเตือนการตรวจสอบการรายงานและกราฟความสามารถ X-Pack ยังให้การรับรองความถูกต้องของผู้ใช้สำหรับ Elasticsearch และ Kibana รวมถึงการตรวจสอบโหนดต่าง ๆ ใน Kibana เป็นสิ่งสำคัญที่ X-Pack และ Elasticsearch ติดตั้งในรุ่นเดียวกัน
คุณสามารถติดตั้ง X-Pack สำหรับ Elasticsearch ได้โดยตรงโดยเรียกใช้:
cd /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install x-pack
เพื่อทำการติดตั้งต่อไปให้ป้อนy
เมื่อได้รับแจ้ง คำสั่งนี้จะติดตั้งปลั๊กอิน X-Pack ไปยังระบบของคุณ เมื่อติดตั้งแล้ว X-Pack จะเปิดใช้งานการตรวจสอบสิทธิ์สำหรับ Elasticsearch ชื่อผู้ใช้เริ่มต้นคือและรหัสผ่านคือelastic
changeme
คุณสามารถตรวจสอบว่ามีการเปิดใช้งานการรับรองความถูกต้องหรือไม่โดยเรียกใช้คำสั่งเดียวกับที่คุณรันเพื่อตรวจสอบว่า Elasticsearch ทำงานหรือไม่
curl -XGET 'localhost:9200/?pretty'
ตอนนี้เอาต์พุตจะบอกว่าการพิสูจน์ตัวตนล้มเหลว
user@vultr:~# curl -XGET 'localhost:9200/?pretty'
{
"error" : {
"root_cause" : [
{
"type" : "security_exception",
"reason" : "missing authentication token for REST request [/?pretty]",
"header" : {
"WWW-Authenticate" : "Basic realm=\"security\" charset=\"UTF-8\""
}
}
],
"type" : "security_exception",
"reason" : "missing authentication token for REST request [/?pretty]",
"header" : {
"WWW-Authenticate" : "Basic realm=\"security\" charset=\"UTF-8\""
}
},
"status" : 401
}
เปลี่ยนรหัสผ่านเริ่มต้นchangeme
โดยเรียกใช้คำสั่งต่อไปนี้
curl -XPUT -u elastic:changeme 'localhost:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password": "NewElasticPassword"
}
'
แทนที่NewPassword
ด้วยรหัสผ่านจริงที่คุณต้องการใช้ คุณสามารถตรวจสอบว่ามีการตั้งรหัสผ่านใหม่และ Elasticsearch ทำงานหรือไม่โดยเรียกใช้คำสั่งต่อไปนี้
curl -XGET -u elastic:NewElasticPassword 'localhost:9200/?pretty'
คุณจะเห็นผลลัพธ์แสดงการดำเนินการที่ประสบความสำเร็จของแบบสอบถาม
เพิ่มเติมแก้ไขไฟล์คอนฟิกูเรชัน Elasticsearch โดยเรียกใช้:
sudo nano /etc/elasticsearch/elasticsearch.yml
ค้นหาบรรทัดต่อไปนี้ uncomment บรรทัดและเปลี่ยนตามคำแนะนำที่ให้ไว้
#cluster.name: my-application #Provide the name of your cluster
#node.name: node-1 #Provide the name of your node
#network.host: 192.168.0.1
สำหรับnetwork.host
ให้ระบุที่อยู่ IP ส่วนตัวที่กำหนดให้กับระบบ รีสตาร์ทอินสแตนซ์ Elasticsearch โดยเรียกใช้:
sudo systemctl restart elasticsearch
ตอนนี้แทนการlocalhost
ที่คุณจะต้องใช้ที่อยู่ IP curl
ที่จะเรียกใช้แบบสอบถามโดยใช้
curl -XGET -u elastic:NewElasticPassword '192.168.0.1:9200/?pretty'
แทนที่192.168.0.1
ด้วยที่อยู่ IP ส่วนตัวที่แท้จริงของเซิร์ฟเวอร์ ตอนนี้เราได้ติดตั้ง Elasticsearch แล้วให้ดำเนินการต่อเพื่อติดตั้ง Kibana
ขั้นตอนที่ 4: ติดตั้ง Kibana
Kibana ใช้เพื่อแสดงภาพบันทึกและข้อมูลเชิงลึกที่สามารถดำเนินการได้โดยใช้เว็บอินเตอร์เฟส นอกจากนี้ยังสามารถใช้ในการจัดการ Elasticsearch ขอแนะนำให้ติดตั้ง Kibana เวอร์ชั่นเดียวกันกับ Elasticsearch
เนื่องจากเราได้เพิ่มที่เก็บ Elasticsearch และคีย์ PGP แล้วเราสามารถติดตั้ง Kibana ได้โดยตรงโดยการเรียกใช้:
sudo apt -y install kibana
คำสั่งก่อนหน้าจะติดตั้ง Kibana เวอร์ชันล่าสุดบนระบบของคุณ เมื่อติดตั้ง Kibana แล้วให้โหลด Systemd service daemon อีกครั้งโดยเรียกใช้:
sudo systemctl daemon-reload
คุณสามารถเริ่ม Kibana และเปิดใช้งานการเริ่มโดยอัตโนมัติเมื่อเริ่มระบบโดยเรียกใช้:
sudo systemctl enable kibana
sudo systemctl start kibana
ติดตั้ง X-Pack สำหรับ Kibana
คุณสามารถติดตั้ง X-Pack สำหรับ Kibana ได้โดยตรงโดยเรียกใช้:
cd /usr/share/kibana
sudo bin/kibana-plugin install x-pack
X-Pack สำหรับ Kibana มีการเปิดใช้งานกราฟ, การเรียนรู้ของเครื่องและการตรวจสอบตามค่าเริ่มต้น X-Pack ยังเปิดใช้งานการรับรองความถูกต้องสำหรับ Kibana ชื่อผู้ใช้เริ่มต้นคือและรหัสผ่านคือkibana
changeme
จำเป็นต้องเปลี่ยนรหัสผ่านเริ่มต้นของผู้ใช้ Kibana เรียกใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนรหัสผ่าน
curl -XPUT -u elastic '192.168.0.1:9200/_xpack/security/user/kibana/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password": "NewKibanaPassword"
}
'
แทนที่192.168.0.1
ด้วยที่อยู่ IP ส่วนตัวจริงของเซิร์ฟเวอร์และNewKibanaPassword
ด้วยรหัสผ่านใหม่สำหรับผู้ใช้ Kibana
แก้ไขไฟล์การกำหนดค่า Kibana โดยเรียกใช้:
sudo nano /etc/kibana/kibana.yml
ค้นหาบรรทัดต่อไปนี้และเปลี่ยนค่าตามคำแนะนำที่ให้ไว้
#elasticsearch.url: "http://localhost:9200"
#elasticsearch.username: "user"
#elasticsearch.password: "password"
ยกเลิกหมายเหตุบรรทัดด้านบนและelasticsearch.url
ระบุ URL สำหรับ Elasticsearch เช่น ที่อยู่ IP ต้อง IP elasticsearch.yml
เดียวกันที่ถูกนำมาใช้ใน เพิ่มเติมตั้งชื่อผู้ใช้จากuser
เป็นelastic
และยังให้รหัสผ่านของผู้ใช้ยืดหยุ่นที่คุณได้ตั้งไว้ก่อนหน้า
รีสตาร์ทอินสแตนซ์ Kibana โดยเรียกใช้:
sudo systemctl restart kibana
ติดตั้ง Nginx เป็น reverse proxy สำหรับ Kibana
เนื่องจากเรากำลังเรียกใช้ Kibana localhost
ที่พอร์ต5601
ขอแนะนำให้ตั้งค่า reverse proxy พร้อม Apache หรือ Nginx เพื่อเข้าถึง Kibana จากนอกเครือข่ายท้องถิ่น ในบทช่วยสอนนี้เราจะตั้งค่า Nginx เป็น reverse proxy สำหรับ Kibana นอกจากนี้เรายังจะรักษาความปลอดภัยอินสแตนซ์ Nginx ด้วยใบรับรอง SSL ฟรีของ Encrypt
ติดตั้ง Nginx โดยเรียกใช้:
sudo apt -y install nginx
เริ่มและเปิดใช้งาน Nginx เพื่อเริ่มต้นโดยอัตโนมัติในเวลาบูต
sudo systemctl start nginx
sudo systemctl enable nginx
ตอนนี้เว็บเซิร์ฟเวอร์ Nginx ได้รับการติดตั้งและใช้งานแล้วเราสามารถทำการติดตั้ง Certbot ได้ซึ่งเป็นไคลเอนต์ Let's Encrypt ใบรับรองอย่างเป็นทางการและอัตโนมัติ เพิ่ม Certbot PPA ให้กับระบบของคุณโดยเรียกใช้:
sudo add-apt-repository ppa:certbot/certbot
อัพเดตข้อมูลเมตาของที่เก็บ
sudo apt update
ตอนนี้คุณสามารถติดตั้ง Certbot เวอร์ชันล่าสุดได้อย่างง่ายดายโดยการเรียกใช้:
sudo apt -y install python-certbot-nginx
คำสั่งก่อนหน้านี้จะแก้ไขและติดตั้งการพึ่งพาที่จำเป็นพร้อมกับแพคเกจ Certbot
ตอนนี้เราได้ติดตั้ง Certbot แล้วให้สร้างใบรับรองสำหรับโดเมนของคุณโดยเรียกใช้:
sudo certbot certonly --webroot -w /var/www/html/ -d kibana.example.com
อย่าลืมเปลี่ยนkibana.example.com
ด้วยชื่อโดเมนจริงของคุณ คำสั่งก่อนหน้านี้จะใช้ไคลเอนต์ Certbot certonly
พารามิเตอร์บอกลูกค้า Certbot เพื่อสร้างใบรับรองเท่านั้น การใช้ตัวเลือกนี้ทำให้มั่นใจได้ว่าใบรับรองจะไม่ถูกติดตั้งโดยอัตโนมัติและการกำหนดค่า Nginx จะไม่เปลี่ยนแปลง การยืนยันจะกระทำโดยการวางไฟล์ท้าทายในwebroot
ไดเรกทอรีที่ระบุ
Certbot จะขอให้คุณแจ้งที่อยู่อีเมลของคุณเพื่อส่งหนังสือแจ้งการต่ออายุ คุณจะต้องยอมรับข้อตกลงสิทธิ์การใช้งาน
ในการรับใบรับรองจาก Let's Encrypt CA คุณต้องแน่ใจว่าโดเมนที่ใบรับรองที่คุณต้องการสร้างนั้นชี้ไปที่เซิร์ฟเวอร์ ถ้าไม่เช่นนั้นให้ทำการเปลี่ยนแปลงที่จำเป็นในระเบียน DNS ของโดเมนของคุณและรอให้ DNS เผยแพร่ก่อนทำการขอใบรับรองอีกครั้ง Certbot ตรวจสอบอำนาจโดเมนก่อนที่จะให้ใบรับรอง
ใบรับรองที่สร้างขึ้นมีแนวโน้มที่จะถูกเก็บไว้ใน/etc/letsencrypt/live/kibana.example.com/
ไดเรกทอรี ใบรับรอง SSL จะถูกเก็บไว้เป็นและคีย์ส่วนตัวจะถูกเก็บไว้เป็นfullchain.pem
privkey.pem
เรามาเข้ารหัสใบรับรองหมดอายุใน 90 วันดังนั้นขอแนะนำให้ตั้งค่าการต่ออายุอัตโนมัติสำหรับใบรับรองโดยใช้ cronjobs Cron เป็นบริการระบบที่ใช้ในการทำงานเป็นระยะ
เปิดไฟล์งาน cron โดยรัน:
sudo crontab -e
เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์
30 5 * * 1 /usr/bin/certbot renew -a nginx --quiet
งาน cron ข้างต้นจะทำงานทุกวันจันทร์เวลา 5.30 น. หากใบรับรองหมดอายุเนื่องจากหมดอายุใบรับรองจะต่ออายุโดยอัตโนมัติ
แก้ไขไฟล์โฮสต์เสมือนดีฟอลต์สำหรับ Nginx โดยการรันคำสั่งต่อไปนี้
sudo nano /etc/nginx/sites-available/default
แทนที่เนื้อหาที่มีอยู่ด้วยเนื้อหาต่อไปนี้
server {
listen 80 default_server;
server_name kibana.example.com
return 301 https://$server_name$request_uri;
}
server {
listen 443 default_server ssl http2;
server_name kibana.example.com;
ssl_certificate /etc/letsencrypt/live/kibana.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/kibana.example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
ตรวจสอบให้แน่ใจว่าคุณอัปเดตkibana.example.com
ด้วยชื่อโดเมนจริงของคุณตรวจสอบเส้นทางไปยังใบรับรอง SSL และรหัสส่วนตัว
รีสตาร์ทเว็บเซิร์ฟเวอร์ Nginx โดยเรียกใช้:
sudo systemctl restart nginx
หากทุกอย่างได้รับการกำหนดค่าอย่างถูกต้องคุณจะเห็นหน้าจอเข้าสู่ระบบ Kibana เข้าสู่ระบบโดยใช้ชื่อผู้ใช้kibana
และรหัสผ่านที่คุณตั้งไว้ คุณควรจะสามารถลงชื่อเข้าใช้และดูแดชบอร์ด Kibana ได้สำเร็จ ออกจากแผงควบคุมสำหรับตอนนี้เราจะกำหนดค่าในภายหลัง
ติดตั้ง Logstash
Logstash สามารถติดตั้งได้ผ่านทางที่เก็บ Elasticsearch อย่างเป็นทางการที่เราเพิ่มก่อนหน้านี้ ติดตั้ง Logstash โดยเรียกใช้:
sudo apt -y install logstash
คำสั่งดังกล่าวจะติดตั้ง Logstash เวอร์ชันล่าสุดบนระบบของคุณ เมื่อติดตั้ง Logstash แล้วให้โหลด Systemd service daemon อีกครั้งโดยเรียกใช้:
sudo systemctl daemon-reload
เริ่ม Logstash และเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต
sudo systemctl enable logstash
sudo systemctl start logstash
ติดตั้ง X-Pack สำหรับ Logstash
คุณสามารถติดตั้ง X-Pack สำหรับ Logstash โดยตรงโดยเรียกใช้:
cd /usr/share/logstash
sudo bin/logstash-plugin install x-pack
X-Pack สำหรับ Logstash logstash_system
มาพร้อมกับผู้ใช้เริ่มต้น คุณสามารถรีเซ็ตรหัสผ่านโดยเรียกใช้:
curl -XPUT -u elastic '192.168.0.1:9200/_xpack/security/user/logstash_system/_password?pretty' -H 'Content-Type: application/json' -d'
{
"password": "NewLogstashPassword"
}
'
แทนที่192.168.0.1
ด้วยที่อยู่ IP ส่วนตัวจริงของเซิร์ฟเวอร์และNewLogstashPassword
ด้วยรหัสผ่านใหม่สำหรับผู้ใช้ Logstash
ตอนนี้เริ่มบริการ Logstash โดยเรียกใช้:
sudo systemctl restart logstash
แก้ไขไฟล์คอนฟิกูเรชัน Logstash โดยรัน:
sudo nano /etc/logstash/logstash.yml
เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์เพื่อเปิดใช้งานการมอนิเตอร์อินสแตนซ์ Logstash
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.url: http://192.168.0.1:9200
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: NewLogstashPassword
แทนที่ Elasticsearch URL และรหัสผ่าน Logstash ตามการตั้งค่าของคุณ
ตอนนี้คุณสามารถกำหนดค่า Logstash เพื่อรับข้อมูลโดยใช้ Beats ที่แตกต่างกัน มี Beats หลายประเภท: Packetbeat, Metricbeat, Filebeat, Winlogbeat และ Heartbeat คุณจะต้องติดตั้ง Beat แต่ละครั้งแยกกัน
ข้อสรุป
ในบทช่วยสอนนี้เราได้ติดตั้ง Elastic Stack กับ X-Pack บน Ubuntu 17.04 ตอนนี้ ELK Stack พื้นฐานได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว