ฉันกำลังพยายามหาวิธีแก้ไขที่จะช่วยฉันตรวจสอบเครื่องของผลิตภัณฑ์และไฟล์บันทึกในแต่ละเครื่อง นี่คือข้อเท็จจริงบางประการเกี่ยวกับสภาพแวดล้อมการทำงานของฉัน:
ฉันมีผลิตภัณฑ์ที่ติดตั้งในแล็บซึ่งประกอบด้วยเครื่องหลายเครื่อง (บางเครื่อง 3 เครื่อง และ VM 8 เครื่อง) ของ Windows Server 2016 ขึ้นไป และ Windows 10
แล็ปท็อปของฉันอยู่ใน LAN หนึ่งและแล็บอยู่ใน LAN อื่น
ผลิตภัณฑ์สร้างไฟล์บันทึก (*.log) หลายไฟล์โดยมีชื่อและวัตถุประสงค์ต่างกันในแต่ละเครื่อง
ฉันคิดว่าไฟล์บันทึกเหล่านั้นสร้างขึ้นโดยคุณสมบัติ log4net ...
มี 5 บริการที่ต้องติดตาม ได้แก่ IIS, SQL, RabbitMQ, Product's service
ฉันไม่สามารถ UNC (เช่น: \server-name\logs\product.log) กับเครื่องเหล่านั้นจากแล็ปท็อปของฉันและในทางกลับกัน
เครื่องไม่สามารถเข้าถึงอินเทอร์เน็ตได้
ปัจจุบัน หากฉันต้องการตรวจสอบไฟล์บันทึก ฉันต้อง RDP ไปยังแต่ละเครื่องและเรียกใช้บรรทัดสคริปต์ PowerShell ต่อไปนี้: รับเนื้อหา C:\Product\Logs\Product.log -wait -tail 1000
หรือ
เพื่อเรียกใช้สคริปต์นี้จาก "ภายนอก" (จากแล็ปท็อปของฉัน) ด้วยการเชื่อมต่อ SSL และห่อไฟล์
บรรทัดสคริปต์ด้วย เรียกใช้คำสั่ง
สั่งการ:
...
#region SSL เชื่อมต่อกับเซิร์ฟเวอร์
เพิ่ม-พิมพ์ @"
ใช้ System.Net;
ใช้ System.Security.Cryptography.X509Certificates;
TrustAllCertsPolicy ระดับสาธารณะ: ICertificatePolicy {
บูลสาธารณะ CheckValidationResult(
ServicePoint srvPoint, ใบรับรอง X509Certificate,
คำขอ WebRequest, int ใบรับรองปัญหา
)
{
กลับจริง;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = วัตถุใหม่ TrustAllCertsPolicy
$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols
#endregion
Enter-PSSession -ComputerName $hqappIP -Credential $cred
เรียกใช้คำสั่ง -ComputerName $hqappIP -Credential $cred -ScriptBlock {
รับเนื้อหา C:\Product\Logs\Product.log -wait -tail 1000
}
...
- ฉันได้รับคำแนะนำให้เพิ่มเครื่องมือ Docker ในแล็ปท็อปที่จะเรียกใช้ ELK\logstash + Kibana และติดตั้งในเครื่องของ Lab - filebeat ที่จะพูดคุยกับเซิร์ฟเวอร์ใน Docker แต่ฉันพบว่าเครื่องของ Lab อยู่ใน LAN เดียวและ ไม่สามารถ ping ไปยังแล็ปท็อปของฉันที่อยู่ใน LAN อื่นได้ (สิ่งที่ทำให้ฉันสับสนเพราะฉันสามารถ ping จากแล็ปท็อปของฉันไปยังเครื่องเหล่านั้นและเรียกใช้สคริปต์ในแบบที่ฉันสร้างให้คุณในส่วนที่แล้ว)
- ฉันจะไม่ได้รับเครื่องเพิ่มเติมใน LAN ของ Lab ดังนั้นนี่จึงไม่ใช่ตัวเลือก
- แล็ปท็อปของฉันมีระบบปฏิบัติการ Windows 10
ดังนั้น ฉันจึงทิ้งแล็บที่ปลอดภัยไว้ในมือข้างหนึ่ง และแล็ปท็อปสำหรับองค์กรของฉันในอีกทางหนึ่ง - ฉันจะสร้างในสภาพแวดล้อมดังกล่าวได้อย่างไร - เซิร์ฟเวอร์ตรวจสอบในแล็ปท็อปของฉัน โดยเฉพาะอย่างยิ่งด้วยเครื่องมือฟรี (ดังที่ฉันได้กล่าวถึงในเบื้องหลัง)