ข้ามไปที่เนื้อหา

การตั้งค่าพาเนล

หน้า "การตั้งค่า" ของพาเนลจัดการการกำหนดค่ารันไทม์อย่างรวมศูนย์ การแก้ไขมีผลทันทีและเก็บถาวรในฐานข้อมูล SQLite ไม่ต้องแก้ไขไฟล์กำหนดค่าหรือรีสตาร์ทบริการ การกำหนดค่าบางส่วนที่เคยอยู่ใน config.yaml (AI, Agent token, การยืนยันตัวตนมอนิเตอร์) ได้ย้ายมาที่นี่แล้ว

การเข้าถึง "การตั้งค่าพาเนล" ต้องมีสิทธิ์ settings.view การบันทึกการแก้ไขต้องมีสิทธิ์ settings.edit (บทบาท admin มีเป็นค่าเริ่มต้น)

การตั้งค่าพื้นฐาน

รายการ คำอธิบาย
พอร์ตพาเนล พอร์ต listen ของพาเนล (ตรงกับ server.port)
โดเมนพาเนล โดเมนเข้าถึงพาเนล ใช้สำหรับสร้างลิงก์และสถานการณ์ reverse proxy
จุดเข้าความปลอดภัย คำนำหน้าพาธที่ซ่อน (ตรงกับ server.secret_entry) เช่น /opsmini_panel เว้นว่างคือไม่เปิดใช้
เปิดใช้ HTTPS เปิดใช้ HTTPS หรือไม่ (แนะนำใช้ร่วมกับ reverse proxy ยุติ TLS ที่ขอบ)

การยืนยันตัวตนสองขั้นตอน (2FA)

  • สวิตช์รวม: เมื่อเปิดแล้ว บัญชีทั้งหมดที่ผูกตัวตรวจสอบ (authenticator) แล้วจะต้องกรอกรหัสไดนามิก 6 หลักตอนล็อกอิน
  • ผู้ใช้แต่ละรายสามารถผูก/ยกเลิก TOTP authenticator ได้อิสระ (เข้ากันได้กับ Google Authenticator / 1Password / แอป authenticator ของผู้ให้บริการคลาวด์ต่าง ๆ)
  • เมื่อทำ authenticator หาย ให้ล็อกอินเข้าเซิร์ฟเวอร์แล้วใช้ opsmini -reset-mfa <username> เพื่อรีเซ็ต

ดูรายละเอียดที่ ผู้ใช้และสิทธิ์

การเชื่อมต่อโมเดล AI

กำหนดค่าการเชื่อมต่อโมเดลของ AI assistant ในตัวได้ที่เดียว แทนส่วน ai เดิมใน config.yaml:

รายการ คำอธิบาย
เปิดใช้ AI assistant สวิตช์รวม เมื่อปิด ฟังก์ชันที่เกี่ยวข้องกับ AI จะใช้ไม่ได้
ผู้ให้บริการโมเดล openai / deepseek / qwen / ollama
โมเดล ชื่อโมเดล เช่น gpt-4o, deepseek-chat, qwen-plus
API Key คีย์ของผู้ให้บริการ; ปล่อยว่างสามารถอ่านจากตัวแปรสภาพแวดล้อม OPSMINI_AI_KEY
ที่อยู่ API Base URL ของอินเทอร์เฟซที่เข้ากันได้กับ OpenAI เช่น https://api.openai.com/v1
รันคำสั่งด้วยภาษาธรรมชาติ อนุญาตให้ AI รันคำสั่งปฏิบัติการหรือไม่
การวิเคราะห์ล็อกอัจฉริยะ เปิดใช้การวิเคราะห์ล็อกด้วย AI หรือไม่
การวินิจฉัยการแจ้งเตือนอัจฉริยะ เปิดใช้การวินิจฉัยการแจ้งเตือนด้วย AI หรือไม่

ลำดับความสำคัญของการกำหนดค่า: ตัวแปรสภาพแวดล้อม OPSMINI_AI_KEY > การตั้งค่าพาเนล > ai.* ที่เหลือในไฟล์กำหนดค่า ดูรายละเอียดที่ AI assistant

API Token

สร้าง access token สำหรับระบบภายนอก (แพลตฟอร์มมอนิเตอร์ สคริปต์อัตโนมัติ เครื่องมือออร์เคสเตรชันของบุคคลที่สาม):

  • token ที่สร้างใช้เรียกอินเทอร์เฟซ /agent/v1 โดยแนบ Authorization: Bearer <token> ในส่วนหัวของคำขอ
  • ปล่อยว่างคือปิดใช้งาน Agent API
  • รองรับ "สร้างแบบสุ่ม" เพื่อสร้าง token สุ่มที่แข็งแรงได้ในคลิกเดียว; มีผลหลังบันทึก
  • เมื่อรั่วไหลควรสร้างใหม่ทันที

ไวท์ลิสต์คำสั่งยังคงดูแลใน agent.allowed_commands ของ config.yaml ดูรายละเอียดที่ Agent API

รูปลักษณ์และธีม

  • สีหลักที่กำหนดเอง: ตั้งค่าสีหลักของแบรนด์พาเนล (สีแบรนด์องค์กร / ความชอบส่วนตัว) ค่าเริ่มต้นคือสีน้ำเงิน OpsMini #4f6ef7
  • การแสดงเมนู / ภาษา: ภาษาอินเทอร์เฟซของพาเนล (7 ภาษา) และการมองเห็นเมนู

การส่งออกมอนิเตอร์ (Prometheus)

ควบคุมการยืนยันตัวตนของเอนด์พอยต์ /metrics (เข้ากันได้กับ node_exporter):

รายการ คำอธิบาย
เปิดใช้การยืนยันตัวตน เปิด HTTP Basic authentication สำหรับ /metrics หรือไม่
ชื่อผู้ใช้ / รหัสผ่าน ข้อมูลรับรอง Basic authentication การปล่อยชื่อผู้ใช้ว่างคือเปิดการเข้าถึงสาธารณะ

การตั้งค่าที่นี่มีลำดับความสำคัญสูงกว่า metrics.user/password ใน config.yaml เมื่อ Prometheus scrape ต้องกำหนดค่า basic_auth ที่ตรงกัน ดูรายละเอียดที่ Prometheus metrics

เทมเพลตแอปพลิเคชัน (ร้านซอฟต์แวร์)

จัดการเทมเพลตแอปพลิเคชันของร้านซอฟต์แวร์:

  • ซิงค์เทมเพลตทางการ: ซิงค์เทมเพลตแอปพลิเคชันทางการจากร้านแอปของเว็บไซต์ opsmini.com ได้ในคลิกเดียว
  • นำเข้า/ส่งออกด้วยตนเอง: ในสภาพแวดล้อมออฟไลน์สามารถดาวน์โหลดเทมเพลตจากเว็บทางการแล้วนำเข้าด้วยตนเอง หรือส่งออกเทมเพลตท้องถิ่นเพื่อสำรอง
  • ไดเรกทอรีข้อมูล: ไดเรกทอรีเก็บข้อมูลถาวรของแอปพลิเคชัน (สคริปต์ติดตั้งอ้างอิงผ่านตัวแปรสภาพแวดล้อม DATA_DIR)

การแจ้งเตือน

กำหนดค่าช่องทางการแจ้งเตือนของการแจ้งเตือน:

ช่องทาง คำอธิบาย
SMTP อีเมล เซิร์ฟเวอร์ SMTP / พอร์ต / ผู้ส่ง / ผู้รับ / ชื่อผู้ใช้ / รหัสผ่าน
WeCom (WeChat Work) ที่อยู่ Webhook ของบอตกลุ่ม
DingTalk ที่อยู่ Webhook ของบอตกลุ่ม
Feishu (Lark) ที่อยู่ Webhook ของบอตกลุ่ม

เมื่อการแจ้งเตือนถูกทริกเกอร์ จะส่งการแจ้งเตือนตามช่องทางที่กำหนดไว้ที่นี่

การเก็บรักษาล็อก

  • ระยะเวลาเก็บล็อกพาเนล: จำนวนวันที่เก็บล็อกการตรวจสอบและล็อกการเข้าถึง (ค่าเริ่มต้น 7 วัน) ล้างอัตโนมัติเมื่อหมดอายุ
  • จำนวนวันที่เก็บเหตุการณ์การแจ้งเตือนสามารถตั้งแยกได้ (ค่าเริ่มต้น 30 วัน)

การจัดเก็บการตั้งค่า

การตั้งค่าพาเนลเก็บในรูปแบบ key-value ในตาราง settings ของ SQLite อ่านตอนรันไทม์ รายการละเอียดอ่อนสองประเภทถูกป้องกันโดยฝั่งเซิร์ฟเวอร์:

  • ละเอียดอ่อนแบบอ่านอย่างเดียว (jwt_secret, metrics_pass): อินเทอร์เฟซไม่ส่งกลับไปยัง frontend
  • ป้องกันการเขียน (jwt_secret): ไคลเอนต์ไม่สามารถเขียนทับได้ ถูกสร้างและจัดการโดยฝั่งเซิร์ฟเวอร์อัตโนมัติ