ส่งบันทึกไปยังคอนเทนเนอร์ ELK จากคอนเทนเนอร์ Docker (ไม่มี Filebeat)

ฉันใช้ SEBP/ELK Docker container เนื่องจากดูเหมือนว่าจะเป็นคอนเทนเนอร์ที่ดีที่สุด เหมาะสำหรับการตั้งค่าการบันทึกแอปพลิเคชันอย่างรวดเร็ว น่าเสียดายที่หลังจากอ่าน เอกสาร ดูเหมือนจะไม่มีวิธีที่ง่ายในการรับบันทึกจาก คอนเทนเนอร์พี่น้องโดยไม่ต้องใช้ Filebeat

ฉันไม่ต้องการติดตั้ง Filebeat บนคอนเทนเนอร์แต่ละตัวของฉัน เพราะดูเหมือนว่าจะขัดแย้งกับมนต์แยกหน้าที่ของ Docker โดยตรง

ทีแอลดีอาร์; ฉันจะรับบันทึกจากคอนเทนเนอร์แอปพลิเคชันของฉันไปยังคอนเทนเนอร์ ELK ได้อย่างไร


person ServAce85    schedule 06.01.2017    source แหล่งที่มา
comment
ฉันอาจจะเข้าใจความคิดของคุณ ฉันทำอิมเมจ ELK คุณสามารถลองเปิดใช้งานอินพุตไฟล์ใน logstash https://github.com/nguoianphu/docker-elk/blob/master/logstash.conf จากนั้นคุณสามารถเมานต์เส้นทางของไฟล์ด้วยโวลุ่มนักเทียบท่า   -  person Tuan    schedule 06.01.2017


คำตอบ (2)


การใช้ filebeat ในแต่ละคอนเทนเนอร์ขัดต่อปรัชญาของ Docker จะทำให้เปลืองทรัพยากรและมีค่าใช้จ่ายในการบริหารจัดการมากขึ้น

คุณสามารถใช้ไฟล์บันทึกในเครื่องผ่านทาง logstash

การกำหนดค่าตัวอย่าง:

input {
  file {
    path => "/var/log/apache.log"
    type => "apache-access"  # a type to identify those logs (will need this later)
    start_position => "beginning"
  }
}

ตอนนี้เราต้องสร้างไฟล์บันทึกในเครื่องไปที่ logstash คอนเทนเนอร์:

หากคุณใช้ bind mounts คุณสามารถเมานต์ไดเร็กทอรีเดียวกันในคอนเทนเนอร์ logstash

sudo docker run -d -v /path/to/logs/:/path/to/logs/in/container logstash

หากคุณใช้ volumes คุณสามารถเมานต์วอลุ่มเดียวกันที่มีบันทึกเพื่อ logstash ได้เช่นกัน

sudo docker run -d -v logvol:/path/to/logs/in/container logstash
person Farhad Farahi    schedule 06.01.2017

SEBP/ELK เป็นเครื่องมือที่ไม่ถูกต้องในการแก้ไขปัญหานี้ แต่ฉันควรใช้โปรเจ็กต์ที่หมุนคอนเทนเนอร์สำหรับแต่ละองค์ประกอบของสแต็ก ELK: Elasticsearch, Logstash และ Kibana ฉันพบพื้นที่เก็บข้อมูลดังกล่าวบน GitHub

โปรเจ็กต์ deviantony/docker-elk จะรวมองค์ประกอบ ELK 3 รายการไว้ในชุดคอนเทนเนอร์ที่ใช้งานได้ สิ่งที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้ก็คือ ไม่เหมือนกับโปรเจ็กต์ SEBP/ELK ตรงที่ deviantony/docker-elk ไม่ได้มีความคิดเห็นแบบมีความคิดเห็นเกี่ยวกับฟีเจอร์ที่ควรมีให้ใช้งานและสิ่งที่ควรปิด ในโปรเจ็กต์ SEBP/ELK ความสามารถในการเขียนไปยังพอร์ต 5000 จะถูกลบออก และเมื่อคุณพยายามเพิ่มกลับผ่านไฟล์ logstash.conf แบบกำหนดเอง ตัวฟัง UDP จะล้มเหลวในท้ายที่สุด ในทางกลับกัน โครงการ deviantony/docker-elk ก็ใช้งานได้

คะแนนโบนัส: โปรเจ็กต์นี้ยังมีสาขาที่มี X-Pack ซึ่งเพิ่มระดับการรักษาความปลอดภัยขั้นต่ำสุดทันที

person ServAce85    schedule 07.01.2017