การตั้งค่าพาเนล¶
หน้า "การตั้งค่า" ของพาเนลจัดการการกำหนดค่ารันไทม์อย่างรวมศูนย์ การแก้ไขมีผลทันทีและเก็บถาวรในฐานข้อมูล 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): ไคลเอนต์ไม่สามารถเขียนทับได้ ถูกสร้างและจัดการโดยฝั่งเซิร์ฟเวอร์อัตโนมัติ