גישה למדדי הביצועים של שרת Outline
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Outline מספק מדדי ביצועים מפורטים באמצעות Prometheus, ומאפשר לכם לקבל תובנות מעמיקות יותר לגבי השימוש והמצב של השרת. במדריך הזה נסביר איך לאחזר את המדדים האלה ולהציג אותם.
הערה חשובה: המדריך הזה מבוסס על ההנחה שיש לכם הבנה בסיסית של Prometheus ו-PromQL. אם זו הפעם הראשונה שאתם משתמשים ב-Prometheus, כדאי לבדוק את מסמכי התיעוד והמדריכים שלו לפני שממשיכים למדדים של Outline.
דרישות מוקדמות
הוראות
יציאת פרומתאוס פורוורד
מתחברים לשרת באמצעות SSH ומעבירים את יציאת 9090:
ssh root@your_server_ip -L 9090:localhost:9090
גישה לממשק האינטרנט של Prometheus
פותחים את דפדפן האינטרנט ועוברים לכתובת: http://localhost:9090/graph
שליחת שאילתות למדדי Prometheus
משתמשים בשאילתות PromQL כדי לאחזר את המדדים הספציפיים שרוצים.
שאילתות לדוגמה ב-PromQL
שימוש
בייטים של נתונים (לפי מפתח גישה, פרוטוקול וכיוון):
increase(shadowsocks_data_bytes[1d])
באיטרים של נתונים (צוברים לפי מפתח גישה):
sum(increase(shadowsocks_data_bytes[1d])) by (access_key)
בייטים של נתונים (לחישוב מגבלות הנתונים):
sum(increase(shadowsocks_data_bytes{dir=~"c<p|p>t"}[30d])) by (access_key)
בייטים של נתונים (לפי מיקום, פרוטוקול וכיוון):
increase(shadowsocks_data_bytes_per_location[1d])
מפתחות גישה פעילים
sum(max(max_over_time(shadowsocks_data_bytes{access_key!=""} [1h])) by (access_key) > bool 0)
חיבורי TCP
חיבורי TCP (לפי מפתח גישה, מיקום וסטטוס):
increase(shadowsocks_tcp_connections_closed[1d])
חיבורי TCP (לפי מיקום):
increase(shadowsocks_tcp_connections_opened[1d])
UDP
חבילות UDP (לפי מיקום וסטטוס):
increase(shadowsocks_udp_packets_from_client_per_location[1d])
שיוכים של UDP (ללא פירוט):
increase(shadowsocks_udp_nat_entries_added[1d])
פרומתאוס:
prometheus_build_info
outline-ss-server:
shadowsocks_build_info
Node.js:
nodejs_version_info
הרשימה המלאה של המדדים הזמינים מופיעה בקוד המקור של outline-ss-server
.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-25 (שעון UTC).
[null,null,["עדכון אחרון: 2025-07-25 (שעון UTC)."],[[["\u003cp\u003eOutline provides detailed performance metrics via Prometheus, offering insights into server usage and health.\u003c/p\u003e\n"],["\u003cp\u003eAccessing these metrics requires an Outline server with Prometheus enabled and SSH access to forward port 9090.\u003c/p\u003e\n"],["\u003cp\u003eYou can use PromQL queries to retrieve specific metrics, such as data bytes, active access keys, TCP connections, and UDP packets.\u003c/p\u003e\n"],["\u003cp\u003ePerformance metrics are also available for CPU usage and memory by process.\u003c/p\u003e\n"],["\u003cp\u003eBuild information for Prometheus, outline-ss-server, and Node.js are available as well, providing software versioning.\u003c/p\u003e\n"]]],["Performance metrics are accessed via Prometheus, requiring an Outline server with Prometheus enabled and SSH access. Port 9090 is forwarded via SSH to view metrics in a web browser at `http://localhost:9090/graph`. PromQL queries retrieve metrics like data bytes, active access keys, TCP connections, UDP packets/associations, and CPU/memory usage. Build information for Prometheus, `outline-ss-server`, and Node.js are also available. The source code provides a complete metrics list.\n"],null,["# Accessing Outline Server Performance Metrics\n\nOutline provides detailed performance metrics through\n[Prometheus](https://prometheus.io/), allowing you to gain deeper insights into\nyour server's usage and health. This guide will walk you through the process of\nretrieving and viewing these metrics.\n\n**Important Note:** This guide assumes you have a basic understanding of\nPrometheus and PromQL. If you're new to Prometheus, consider exploring its\ndocumentation and tutorials before diving into Outline's metrics.\n\nPrerequisites\n-------------\n\n- **Outline server with Prometheus enabled**: Ensure that your Outline server\n has Prometheus metrics enabled. (This is usually the default configuration).\n\n- **SSH access to your server**: You'll need SSH access to forward the\n Prometheus port.\n\nInstructions\n------------\n\n1. **Forward Prometheus Port**\n\n Connect to your server using SSH and forward port 9090: \n\n ssh root@your_server_ip -L 9090:localhost:9090\n\n2. **Access Prometheus Web Interface**\n\n Open your web browser and navigate to: \u003chttp://localhost:9090/graph\u003e\n Query Prometheus Metrics\n3. **Use PromQL queries to retrieve the specific metrics you're interested in.**\n\n### Example PromQL Queries\n\n#### Usage\n\n- **Data Bytes (by access key, protocol, and direction):**\n\n `increase(shadowsocks_data_bytes[1d])`\n- **Data Bytes (aggregated by access key):**\n\n `sum(increase(shadowsocks_data_bytes[1d])) by (access_key)`\n- **Data Bytes (for data limits calculation):**\n\n `sum(increase(shadowsocks_data_bytes{dir=~\"c\u003cp|p\u003et\"}[30d])) by (access_key)`\n- **Data Bytes (by location, protocol, and direction):**\n\n `increase(shadowsocks_data_bytes_per_location[1d])`\n\n#### Active Access Keys\n\n`sum(max(max_over_time(shadowsocks_data_bytes{access_key!=\"\"} [1h])) by (access_key) \u003e bool 0)`\n\n#### TCP Connections\n\n- **TCP Connections (by access key, location, and status):**\n\n `increase(shadowsocks_tcp_connections_closed[1d])`\n- **TCP Connections (by location):**\n\n `increase(shadowsocks_tcp_connections_opened[1d])`\n\n#### UDP\n\n- **UDP Packets (by location and status):**\n\n `increase(shadowsocks_udp_packets_from_client_per_location[1d])`\n- **UDP Associations (no breakdown):**\n\n `increase(shadowsocks_udp_nat_entries_added[1d])`\n\n#### Performance\n\n- **CPU Usage (by process):**\n\n `rate(process_cpu_seconds_total[10m])`\n- **Memory (by process):**\n\n `process_virtual_memory_bytes`\n\n#### Build Information\n\n- **Prometheus:**\n\n `prometheus_build_info`\n- **outline-ss-server:**\n\n `shadowsocks_build_info`\n- **Node.js:**\n\n `nodejs_version_info`\n\nThe complete list of available metrics can be found in the `outline-ss-server`\n[source code](https://github.com/Jigsaw-Code/outline-ss-server/blob/master/cmd/outline-ss-server/metrics.go)."]]