[comment]: # ({856c911b-856c911b})
# 1 监控项 键格式

监控项 键格式（包括键参数）必须遵循语法规则。以下插图描述了支持的语法结构。通过跟随箭头可以确定在每个位置允许的元素和字符——如果可以通过线条到达某个块，则允许该块；否则不允许。

![](../../../../../assets/en/manual/config/item_key_2.png){width="600"}

要构造一个有效的 监控项 键，首先需要指定键名称，然后可以选择是否包含参数——如图中所示的两条可选路径所示。

[comment]: # ({/856c911b-856c911b})

[comment]: # ({63ccf8e4-63ccf8e4})
#### 键名

键名本身允许使用的字符范围有限，这些字符直接连续使用。允许的字符包括：

    0-9a-zA-Z_-.

含义如下：

-   所有数字；
-   所有小写字母；
-   所有大写字母；
-   下划线；
-   短横线；
-   点号。

![](../../../../../assets/en/manual/config/key_name.png)

[comment]: # ({/63ccf8e4-63ccf8e4})

[comment]: # ({7262f26f-af5ae7f1})
#### 键参数

一个 监控项 键可以包含多个参数，参数之间用逗号分隔。

![](../../../../../assets/en/manual/config/key_parameters.png)

每个键参数可以是带引号的 string、不带引号的 string 或一个 array。

![](../../../../../assets/en/manual/config/item_parameter.png)

参数也可以留空，从而使用默认值。在这种情况下，如果指定了后续参数，则必须添加适当数量的逗号。例如，监控项 键 **icmpping\[,,200,,500\]** 表示各个 ping 之间的间隔为 200 毫秒，超时时间为 500 毫秒，所有其他参数使用默认值。

参数中也可以包含宏。这些宏可以是 [监控项监控项原型](/manual/appendix/macros/supported_by_location_user#监控项监控项原型) 或某些内置宏。要查看 监控项 键参数中支持哪些特定的内置宏，请在页面 [Supported macros](/manual/appendix/macros/supported_by_location) 上搜索 "监控项 key parameters"。

[comment]: # ({/7262f26f-af5ae7f1})

[comment]: # ({816c672d-b4a70ec9})
#### 参数-引用字符串

若键参数为带引号的string，则允许使用任意Unicode字符。若键参数string包含引号，则该参数必须被引号包裹，且作为参数string组成部分的每个引号都必须用反斜杠(`\`)进行转义。若键参数string包含逗号，则该参数必须被引号包裹。

![](../../../../../assets/en/manual/config/key_param_quoted_string.png)

::: notewarning
对监控项键参数加引号时，仅能使用双引号。不支持单引号。
:::

::: noteimportant
不允许使用多级参数数组，例如
`[a,[b,[c,d]],e]`。
:::

[comment]: # ({/816c672d-b4a70ec9})

[comment]: # ({3376836e-3376836e})
#### 参数 - 未加引号的 string

如果键参数是一个未加引号的 string，则除逗号和右方括号（\]）外，允许使用任何 Unicode 字符。未加引号的参数不能以左方括号（\[).

![](../../../../../assets/en/manual/config/key_param_unquoted_string.png) 开头。

[comment]: # ({/3376836e-3376836e})

[comment]: # ({43e6bef7-5289a973})
#### 参数-数组

如果键参数是一个 array，则再次用方括号将其括起来，其中各个参数需符合指定多个参数的规则和语法。  

![](../../../../../assets/en/manual/config/key_param_array.png)

[comment]: # ({/43e6bef7-5289a973})
