

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 連線至 Loki 資料來源
<a name="using-loki-in-AMG"></a>

 Loki 資料來源可讓您存取 Grafana 的日誌彙總系統 Loki。

## 新增資料來源
<a name="loki-adding-the-data-source"></a>

1.  開啟 Grafana 工作區，並確保您已登入。

1.  在**組態**連結下方的側邊選單中，您應該會找到**資料來源**連結。

1.  選擇頂端的**新增資料來源**按鈕。

1.  從資料來源清單中選取 **Loki**。

**注意**  
 如果您在側邊選單中看不到**資料來源**連結，表示您目前的使用者沒有 `Admin`角色。


|  名稱  |  描述  | 
| --- | --- | 
|  Name  |  資料來源名稱。這是您在面板、查詢和探索中看到資料來源的方式。 | 
|  Default  |  預設資料來源表示新面板會預先選取。 | 
|  URL  | Loki 執行個體的 URL，例如 http://localhost:3100。這可以是 Amazon EC2 主機的 URL，或是 Amazon EKS 叢集前面的 Application Load Balancer，或是 Loki 執行個體的任何其他 URL。 | 
|  Maximum lines  |  Loki 傳回的日誌行數上限 （預設為 1000)。在探索中顯示日誌時，如果您的瀏覽器緩慢，請減少 。 | 

### 衍生欄位
<a name="loki-derived-fields"></a>

 您可以使用*衍生欄位*組態來執行下列動作：
+  新增從日誌訊息剖析的欄位。
+  新增使用 欄位值的連結。

 您可以使用此功能直接從您的日誌連結到您的追蹤後端，或者如果日誌列中存在 userId，則連結到使用者設定檔頁面。這些連結會出現在日誌詳細資訊中。如需詳細資訊，請參閱[標籤和偵測到的欄位](explore.md#labels-and-detected-fields)。

每個衍生欄位都包含下列項目：
+  **名稱** – 在日誌詳細資訊中顯示為標籤。
+  **Regex** – 在日誌訊息上執行的 Regex 模式，並將其部分擷取為新欄位的值。只能包含單一擷取群組。
+  **URL/查詢** – 如果連結是外部連結，請輸入完整的連結 URL。如果連結是內部連結，則此輸入會做為目標資料來源的查詢。在這兩種情況下，您可以將 欄位的值插入`${__value.raw }`巨集。
+  **內部連結** – 選取連結是內部或外部。如果是內部連結，資料來源選取器可讓您選取目標資料來源。僅支援追蹤資料來源。

 您可以使用偵錯區段來查看欄位擷取的內容以及 URL 插入的方式。選擇**顯示範例日誌訊息**，以顯示您可以輸入日誌訊息的文字區域。

 具有顯示在日誌詳細資訊中連結的新欄位。

## 查詢 日誌
<a name="loki-querying-logs"></a>

 透過探索和視覺化中的日誌面板，查詢和顯示 Loki 的日誌資料。選取 Loki 資料來源，然後輸入 LogQL 查詢以顯示您的日誌。如需 LogQL 的詳細資訊，請參閱 [LogQL](https://grafana.com/docs/loki/latest/logql/)。

### 日誌查詢
<a name="loki-log-queries"></a>

 日誌查詢包含兩個部分：**日誌串流選擇器**和**搜尋表達**式。基於效能考量，您必須從選擇日誌串流的日誌標籤開始。

 查詢欄位旁的 Logs Explorer (**日誌標籤**按鈕） 會顯示可用日誌串流的標籤清單。撰寫查詢的替代方法是使用查詢欄位的自動完成。首先輸入左大括號`{`，自動完成功能表會建議標籤清單。按 **Enter** 鍵執行查詢。

 傳回結果後，日誌面板會顯示日誌資料列清單和長條圖，其中 x 軸顯示時間，y 軸顯示頻率/計數。

### 日誌串流選取器
<a name="log-stream-selector"></a>

 對於查詢表達式的標籤部分，請以大括號包裝，`{}`然後使用索引鍵值語法來選取標籤。多個標籤表達式以逗號分隔：

 `{app="mysql",name="mysql-backup"}` 

 目前支援下列標籤比對運算子：
+  `=` 完全相同。
+  `!=` 不相等。
+  `=~` regex-match。
+  `!~` 不要進行 regex-match。

 範例：
+  `{name=~"mysql.+"}` 
+  `{name!~"mysql.+"}` 

 新增標籤選擇器的另一種方式是在資料表區段中。選擇標籤旁的**篩選條件**，將標籤新增至查詢表達式。這甚至適用於多個查詢，並將標籤選擇器新增至每個查詢。

### 搜尋表達式
<a name="loki-search-expression"></a>

 撰寫日誌串流選取器之後，您可以透過撰寫搜尋表達式進一步篩選結果。搜尋表達式可以是文字或 regex 表達式。

 範例查詢：
+  `{job="mysql"} |= "error"` 
+  `{name="kafka"} |~ "tsdb-ops.*io:2003"` 
+  `{instance=~"kafka-[23]",name="kafka"} != "kafka.server:type=ReplicaManager"` 

 篩選條件運算子可以鏈結，並依序篩選表達式。產生的日誌行將滿足每個篩選條件。

 範例 

 `{job="mysql"} |= "error" != "timeout"` 

 目前支援下列篩選條件類型：
+  `|=` 行包含字串。
+  `!=` 行不包含字串。
+  `|~` 行符合規則表達式。
+  `!~` 行不符合規則表達式。

**注意**  
 如需 Loki 查詢語言 LogQL 的詳細資訊，請參閱 [Loki LogQL](https://grafana.com/docs/loki/latest/logql/)。

## 日誌內容
<a name="loki-log-context"></a>

 使用上述的搜尋表達式時，您現在可以擷取篩選結果周圍的內容。透過選擇篩選資料列上的`Show Context`連結，您將能夠調查您感興趣的日誌訊息前後的日誌訊息。

## 範本化
<a name="loki-templating"></a>

 您可以在指標查詢中使用變數，而不是硬式編碼，例如伺服器、應用程式和感應器名稱。變數會顯示為儀表板頂端的下拉式清單選取方塊。您可以使用這些下拉式方塊來變更儀表板中顯示的資料。

 如需範本和範本變數的詳細資訊，請參閱 [範本和變數](templates-and-variables.md)。

## 註釋
<a name="loki-annotations"></a>

 您可以使用任何非指標 Loki 查詢做為註釋的來源。日誌內容將用作註釋文字，而日誌串流標籤將用作標籤，因此不需要額外的映射。