Prometheus安装、配置、维护及日常使用

一、Prometheus快速部署

1、服务器信息
Linux操作系统版本:CentOS Linux release 7.5.1804(Core)x86_64。
主机IP地址:172.16.60.63。
Prometheus选择下载版本:prometheus-2.44.0.linux-amd64.tar.gz。

2、软件下载

在官方网站下载页面地址https://prometheus.io/download/中找到Prometheus下载列表。在这里可以下载适用于各平台的二进制文件最新版本。

3、 使用二进制文件快速部署

1)官网下载Prometheus完成后,获取软件包的哈希值:

# sha256sum prometheus-2.44.0.linux-amd64.tar.gz

与官网提供的软件包类表中“SHA256 Checksum”列里的哈希值进行核对,保证下载的Prometheus软件包的完整性。

2)解压缩二进制软件包到指定的安装目录,运行Prometheus,操作如下:
# tar -zxvf prometheus-2.4.0.linux-amd64.tar.gz -C /data
# 这里安装在/data目录下
# cd /data    # 注意核对个人安装目录
# chown -R root:root prometheus-2.4.0.linux-amd64
# ln -sv prometheus-2.4.0.linux-amd64 prometheus

3)启动Prometheus。

# cd /data/prometheus # 进入安装目录下找到prometheus服务程序
# ./prometheus # 先在终端界面直接启动prometheus服务

可以看到以下输出信息,由于篇幅缘故,这里只截取了Prometheus启动时输出日志的部分内容,
ts=2023-05-22T06:16:59.289Z caller=main.go:531 level=info msg="No time or size retention was set so using the default time retention" duration=15d
ts=2023-05-22T06:16:59.289Z caller=main.go:575 level=info msg="Starting Prometheus Server" mode=server version="(version=2.44.0, branch=HEAD, revision=1ac5131f698ebc60f13fe2727f89b115a41f6558)"
ts=2023-05-22T06:16:59.289Z caller=main.go:580 level=info build_context="(go=go1.20.4, platform=linux/amd64, user=root@739e8181c5db, date=20230514-06:18:11, tags=netgo,builtinassets,stringlabels)"
ts=2023-05-22T06:16:59.289Z caller=main.go:581 level=info host_details="(Linux 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 promethus (none))"
ts=2023-05-22T06:16:59.289Z caller=main.go:582 level=info fd_limits="(soft=4096, hard=4096)"
ts=2023-05-22T06:16:59.289Z caller=main.go:583 level=info vm_limits="(soft=unlimited, hard=unlimited)"
ts=2023-05-22T06:16:59.293Z caller=web.go:562 level=info component=web msg="Start listening for connections" address=0.0.0.0:9090
ts=2023-05-22T06:16:59.294Z caller=main.go:1016 level=info msg="Starting TSDB ..."
ts=2023-05-22T06:16:59.298Z caller=tls_config.go:232 level=info component=web msg="Listening on" address=[::]:9090
ts=2023-05-22T06:16:59.298Z caller=tls_config.go:235 level=info component=web msg="TLS is disabled." http2=false address=[::]:9090
ts=2023-05-22T06:16:59.300Z caller=head.go:588 level=info component=tsdb msg="Replaying on-disk memory mappable chunks if any"
ts=2023-05-22T06:16:59.300Z caller=head.go:669 level=info component=tsdb msg="On-disk memory mappable chunks replay completed" duration=5.382µs
ts=2023-05-22T06:16:59.300Z caller=head.go:677 level=info component=tsdb msg="Replaying WAL, this may take a while"
ts=2023-05-22T06:16:59.300Z caller=head.go:748 level=info component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
ts=2023-05-22T06:16:59.300Z caller=head.go:785 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=18.178µs wal_replay_duration=446.57µs wbl_replay_duration=300ns total_replay_duration=497.453µs
ts=2023-05-22T06:16:59.301Z caller=main.go:1037 level=info fs_type=XFS_SUPER_MAGIC
ts=2023-05-22T06:16:59.301Z caller=main.go:1040 level=info msg="TSDB started"
ts=2023-05-22T06:16:59.301Z caller=main.go:1220 level=info msg="Loading configuration file" filename=prometheus.yml
ts=2023-05-22T06:16:59.304Z caller=main.go:1257 level=info msg="Completed loading of configuration file" filename=prometheus.yml totalDuration=2.292321ms db_storage=2.615µs remote_storage=3.003µs web_handler=665ns query_engine=918ns scrape=1.94575ms scrape_sd=31.408µs notify=40.726µs notify_sd=10.054µs rules=3.103µs tracing=16.347µs
ts=2023-05-22T06:16:59.304Z caller=main.go:1001 level=info msg="Server is ready to receive web requests."
ts=2023-05-22T06:16:59.304Z caller=manager.go:995 level=info component="rule manager" msg="Starting rule manager..."
 

从截取的日志中,我们找到加粗标记字体的信息,可以看到prometheus服务已经成功启动,且默认监听端口9090已经开启,如果想更换默认监控端口,需要启动时添加配置参数信息,例如,--
web.listen-address="0.0.0.0:端口号",更多方法可以使用./prometheus-h查看相关帮助信息。

4)添加Prometheus为系统服务开机启动。
此时,当终端关闭或按下Ctrl+C时,Prometheus服务会自动关闭,这不是我们想要的工作方式。我们要对进程执行关闭、重新启动、查看进程状态等操作时,还需配合各种Linux命令才能完成。这里为了方便,将Prometheus添加为系统服务且开机自启动。

可以使用CentOS Linux release 7操作系统中的命令systemctl来管理守护进程Prometheus服务。在/usr/lib/systemd/system目录下添加一个系统服务启动文件,用配置文件prometheus.service:

# vi /usr/lib/systemd/system/prometheus.service # 参考内容如下:
[Unit]
Description=Prometheus server daemon
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/data/prometheus/prometheus \
--config.file "/data/prometheus/prometheus.yml" \
--storage.tsdb.path "/data/prometheus/data" \
--storage.tsdb.retention=15d \
--web.console.templates="/data/prometheus/consoles" \
--web.console.libraries="/data/prometheus/console_libraries" \
--web.max-connections=512 \
--web.external-url"http://172.16.60.63:9090" \
--web.listen-address "0.0.0.0:9090"
Restart=on-failure

[Install]
WantedBy=multi-user.target

最后,配置文件完成且保存退出,需要通知systemd重新加载配置文件:

# systemctl daemon-reload # 通知systemd重新加载配置文件
# systemctl enable prometheus.service # 设置为开机自启动
# systemctl disable prometheus.service # 如果不想设置为开机自启动,可以关闭
# systemctl start prometheus.service # 开启服务
# systemctl status prometheus.service # 查看状态为Active: active (running)

# systemctl restart prometheus.service # 重启服务
# systemctl stop prometheus.service # 停止服务

4、Prometheus Web UI登录

在浏览器中输入http://IP:9090格式便可进行访问,如下图

 最后,通过访问http://172.16.60.63:9090/targets地址,可以查看页面中的Targets信息。示例中使用默认配置文件,仅仅对Prometheus本机进行监控,如图所示。

 Prometheus内部默认提供许多metric(指标)用于监控操作,这些指标都可以在Web UI中输入查询。如果将Prometheus默认配置文件中的“localhost”修改为主机IP地址,我们直接点击图2-6中提供的链接即可访问Metrics信息,但示例中是默认配置文件,需要在浏览器中输入示例地址http://172.16.60.63:9090/metrics,才可以看到所有指标信息。由于内容比较多,这里仅展示部分输出信息:

# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0.000136642
go_gc_duration_seconds{quantile="0.25"} 0.000200511
……此处省略部分信息……
prometheus_build_info{branch="HEAD",goversion="go1.10.3",revision="068eaa
5dbfce6c08f3d05d3d3c0bfd96267cfed2",version="2.4.0"} 1
# HELP prometheus_config_last_reload_success_timestamp_seconds Timestamp
of the last successful configuration reload.
# TYPE prometheus_config_last_reload_success_timestamp_seconds gauge
prometheus_conf?ig_last_reload_success_timestamp_seconds
1.553934655140825e+09
# HELP prometheus_config_last_reload_successful Whether the last conf?
iguration reload attempt was successful.
# TYPE prometheus_config_last_reload_successful gauge
……此处省略部分信息……
# HELP promhttp_metric_handler_requests_in_f?light Current number of
scrapes being served.
# TYPE promhttp_metric_handler_requests_in_f?light gauge
promhttp_metric_handler_requests_in_f?light 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by
HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 72
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0

二、Prometheus监控主机、服务

1、Linux主机监控

由于Linux操作系统自身并不直接支持Prometheus,所以Prometheus官方提供了Go语言编写的Node exporter来实现对Linux操作系统主机的监控数据采集。它提供了系统内几乎所有的标准指标,如CPU、内存、磁盘空间、磁盘I/O、系统负载和网络带宽。另外,它还提供了由内核公开的大量额外监控指标,从负载平均到主板温度等。

在安装之前,首先在官方下载页面https://prometheus.io/download/找到Node exporter列表,下载最新版本中特定平台的二进制文件。然后开始Nodeexporter的安装部署以及使用。

应用信息如下:
·被监控的Linux操作系统版本为CentOS Linux release 7.5.1804(Core)x86_64。
·主机IP地址为172.16.60.63。
·Node exporter选择下载版本是node_exporter-1.5.0.linuxamd64.tar.gz。

1.1 下载部署
大致步骤如下:
1)官网站下载Node exporter完成后,获取软件包的哈希值,与官网所提供的软件包类表中“SHA256 Checksum”列里的哈希值进行核对,确保下载的Node exporter软件包完整性。

2)解压缩软件包到指定的安装目录。由于Node exporter采用Go语言编写而成,不依赖于第三方,所以下载完成后,只需解压缩二级制软件包后运行node_exporter即可。

3)启动node_exporter,代码如下:

# ./node_exporter

这里,先在终端界面启动node_exporter,成功启动后可以看到默认监听端口是9100,其中“Enabled collectors”列是node_exporter默认情况下启用的功能。如果想更换默认监控端口,需要启动时添加参数--web.listen-address=":9200"即可,更多方法可以使用#./node_exporter-h查看相关帮助信息。

4)添加node_exporter为系统服务开机启动。此时,当终端关闭或按下Ctrl+C时,node_exporter服务会自动关闭,这不是我们想要的操作方式。我们要关闭进程、重新启动进程、查看进程状态时,还得配合各种Linux命令才能完成。为了方便操作,可以将node_exporter程序添加为系统服务且开机自启动。该系统服务启动时使用的配置文件node_exporter.service内容如下:

# vi /usr/lib/systemd/system/node_exporter.service # 参考内容如下:
[Unit]
Description=node_exporter
Documentation=https:// prometheus.io/
After=network-online.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/data/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target

最后可以通过systemctl命令进行如下操作:

# systemctl daemon-reload # 通知systemd重新加载配置文件
# systemctl enable node_exporter.service # 设置为开机自启动
# systemctl start node_exporter.service # 启动服务
# systemctl status node_exporter.service # 状态为Active: active(running)时已正常启动
# systemctl restart node_exporter.service # 重启服务
# systemctl stop node_exporter.service # 停止服务

至此,我们完成了对node_exporter的下载安装,并对其进行了系统服务添加和开机自启动设置。

1.2 与Prometheus集成

当启动node_exporter在后台开始工作时,node_exporter和Prometheus还没有进行对接关联,此时,二者只是各自独立运行的应用程序。现在需要将已安装部署好的node_exporter添加到Prometheus服务器中。可以在Prometheus主机目录中,找到主配置文件,使用其中的静态配置功能static_configs来采集node_exporter提供的数据。

编辑prometheus.yml文件,添加job与node_exporter进行关联的参考配置内容如下:

# vi prometheus.yml
scrape_configs:
   - job_name: 'prometheus'
        static_configs:
       - targets: ['172.16.60.63:9090']
 - job_name: 'node_exporter'
       static_configs:
     - targets: ['172.16.60.63:9100']

配置完成后,需要我们重新启动prometheus或进行动态热加载操作,使修改后的配置文件加载生效。现在,可以在浏览器中输入Prometheus示例页面地址http://172.16.60.63:9090,访Prometheus web UI提供的页面内容,再点击“Status”中的“Targets”,如图所示。

 进入Targets页面后,可以在列表中看到刚才配置好的node_exporter的状态为“UP”,说明Prometheus最后一次从Nodeexporter中采集数据是成功的,此刻,被监控的服务器主机工作运行
状态是正常的

2、Windows主机监控

应用信息如下:
·被监控的Windows操作系统版本,Windows Server 2016 R2 Enterprise x86_64。
·Windows服务器主机IP地址,172.16.61.75。
·wmi_exporter选择下载版本,windows_exporter-0.22.0-amd64.msi。

1) 软件下载与部署
下载页面地址:
https://github.com/martinlindhe/wmi_exporter/releases。

选择当前最新版本:windows_exporter-0.22.0-amd64.msi 下载到被监控主机。

直接双击文件进行快速安装即可。wmi_exporter会自动安装到C:\Program Files\windows_exporter目录下。在命令提示符中输入命令:netstat-ab,可以看到windows_exporter.exe开启默认端口9182进行监听。此时,可以使用浏览器访问http://192.168.24.16:9182/metrics页面地址,若看到
windows_exporter各项采集指标,说明wmi_exporter已经成功安装

2)与Prometheus集成

在Prometheus的配置文件prometheus.yml中继续追加static_configs来采集wmi_exporter提供的数据。添加的参考配置内容如下:

- job_name: 'wmi_exporter'
  scrape_interval: 10s
  static_configs:
   - targets: ['172.16.61.75:9182']

配置完成后,需要我们重新启动Prometheus或动态热加载,使配置文件加载生效。现在,可以在浏览器中输入Prometheus示例页面地址http://172.16.60.63:9090来访问Prometheus Web UI
提供的页面内容。点击“Status”中的“Targets”后,在Targets页面列表中新增了windows_exporter显示项目,且windows_exporter状态为“UP”,如图所示。

3、MySQL数据库监控

应用信息如下:
·Linux操作系统版本,CentOS Linux release 7.5.1804(Core)
x86_64。
·MySQL主机IP地址,172.16.61.69。
·MySQL版本,mysql-5.7.20。
·mysqld_exporter选择下载版本,mysqld_exporter-0.11.0.linuxamd64.tar.gz。

3.1 软件下载与部署

在官方下载页面https://prometheus.io/download/中找到mysqld_exporter列表,下
载最新版本中特定平台的二进制文件

部署可分为以下6个步骤。
1)下载mysqld_exporter完成后,获取软件包的哈希值,与官网提供的软件包列表中“SHA256 Checksum”列里的哈希值进行核对,保证所下载的mysqld_exporter软件包的完整性。
2)解压缩软件包到指定的安装目录。
mysqld_exporter同样也采用Go语言编写而成,不依赖于第三方,
所以下载完成后,只需解压缩二级制软件包后运行mysqld_exporter即可。
3)创建MySQL授权用户。
连接到MySQL服务器,创建一个用户,例如
“mysqld_exporter”。该用户需要拥有PROCESS,SELECT,REPLICATION CLIENT授权,且为了避免有些高负载MySQL服务器过载,为用户设置最大连接限制。可以进行如下操作:

mysql>CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY
'YourStrongPassword' WITH \
MAX_USER_CONNECTIONS 2; #注意MySQL5.5版本时去掉MAX_USER_CONNECTIONS选

mysql>GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO
'mysqld_exporter'@'localhost';
mysql>FLUSH PRIVILEGES;
mysql> select Host,User from mysql.user; # 核查用户是否已经创建完成

4)配置数据库认证。
mysqld_exports需要连接数据库服务器的用户名和密码
在与“mysqld_exports”文件同目录下创建“.mysqld_exporter.cnf”文件,并添加如下内容:

# vi .mysqld_exporter.cnf
[client]
user=mysqld_exporter
password=YourStrongPassword

# tree -a mysqld_exporter # 查看mysqld_exporter目录
下内容
mysqld_exporter
├── LICENSE
├── .mysqld_exporter.cnf
├──mysqld_exporter
└── NOTICE

5)启动mysqld_exporter。
启动时需要指定配置文件路径
# ./mysqld_exporter --config.my-cnf=".mysqld_exporter.cnf" 

mysqld_exporter成功启动后,默认监听端口是9104,其中,“Enabled collectors”列是mysqld_exporter默认情况下启用的功能。

6)添加mysqld_exporter,为系统服务启动。
创建系统服务启动配置文件mysqld_exporter.service:

# vi /usr/lib/systemd/system/mysqld_exporter.service # 参考内容如下:

[Unit]
Description=Prometheus MySQL Exporter
After=network.target
User=root
Group=root

[Service]
Type=simple
Restart=always
ExecStart=/data/mysqld_exporter/mysqld_exporter \
--config.my-cnf=/data/mysqld_exporter/.mysqld_exporter.cnf \
--collect.global_status \
--collect.auto_increment.columns \
--collect.info_schema.processlist \
--collect.binlog_size \
--collect.info_schema.tablestats \
--collect.global_variables \
--collect.info_schema.innodb_metrics \
--collect.info_schema.query_response_time \
--collect.info_schema.userstats \
--collect.info_schema.tables \
--collect.perf_schema.tablelocks \
--collect.perf_schema.file_events \
--collect.perf_schema.eventswaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tableiowaits \
--collect.slave_status \
--web.listen-address=0.0.0.0:9104

[Install]
WantedBy=multi-user.target

最后可以通过systemctl命令进行各种操作,例如:

# systemctl daemon-reload # 通知systemd重新加载配置文件
# systemctl enable mysqld_exporter.service # 设置为开机自启动
# systemctl start mysqld_exporter.service # 开启服务
# systemctl status mysqld_exporter.service # 状态为Active: active(running)时已正常启动
# systemctl restart mysqld_exporter.service # 重启服务
# systemctl stop mysqld_exporter.service # 停止服务

7)与Prometheus集成

在Prometheus的配置文件prometheus.yml中的static_configs模块内,继续追加配置内容来采集mysqld_exporter提供的数据。添加的参考配置内容如下:

- job_name: 'mysqld_exporter'
    scrape_interval: 10s
    static_configs:
     - targets: ['172.16.61.69:9104']

配置完成后,需要重新启动Prometheus或进行动态热加载操作,可以在浏览器中输入Prometheus示例页面地址http://172.16.60.63:9090,访问Prometheus Web UI提供的内容,可以看到在Targets页面列表中已经新增了mysqld_exporter显示项,且mysqld_exporter状态为“UP”。

 

4、Redis数据库监控

应用信息如下:
·Linux操作系统版本为CentOS Linux release 7.5.1804(Core)x86_64。
·Redis主机IP地址为172.16.61.69。
·Redis版本为redis-4.0.9。
·redis_exporter选择下载版本为redis_exporter-v1.50.0.linux-amd64.tar

4.1 1.软件下载与部署
1)下载redis_exporter。
下载地址为https://github.com/oliver006/redis_exporter/releases。选择最新版本redis_exporter-v1.50.0.linux-amd64.tar

2)解压缩软件包到指定的安装目录:

# 进入安装目录下,在终端启动查看信息,成功启动,默认监听端口是9121。
# ./redis_exporter -redis.addr localhost:6379 -redis.password
YourStrongPassword

3)添加redis_exporter为系统服务开机启动配置文件
redis_exporter.service:

# vi /usr/lib/systemd/system/redis_exporter.service # 参考内容如下:
[Unit]
Description=Prometheus Redis Exporter
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/data/redis_exporter/redis_exporter \
-redis.addr localhost:6379 \
-redis.password YourStrongPassword \
[Install]
WantedBy=multi-user.target

最后可以通过systemctl命令进行各种操作,例如:

# systemctl daemon-reload # 通知systemd重新加载配置文件
# systemctl enable redis_exporter.service # 设置为开机自启动
# systemctl start redis_exporter.service # 开启服务
# systemctl status redis_exporter.service # 状态为Active: active(running)时已正常启动
# systemctl restart redis_exporter.service # 重启服务
# systemctl stop redis_exporter.service # 停止服务

4)与Prometheus集成

在Prometheus的配置文件prometheus.yml中的static_configs模块内,继续追加配置内容来采集redis_exporter提供的数据。参考配置内容如下:

- job_name: 'redis_exporter'
     scrape_interval: 10s
     static_conf?igs:
     - targets: ['172.16.61.69:9121']

配置完成后,需要重新启动Prometheus或动态热加载,对配置文件进行加载生效操作。现在,可以在浏览器中输入Prometheus示例页面地址http://172.16.60.63:9090,访问Prometheus Web UI提供的内容,可以看到在Targets页面列表中已经新增了redis_exporter显示项,且redis_exporter状态为“UP”。

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Windows Usb热插拔是指在Windows操作系统中,当USB设备插入或拔出时,系统能够自动检测并做出相应的响应。在程序中实现USB热插拔的功能,可以通过注册USB设备信息和监测USB设备插拔事件来实现。 在程序初始化时,可以通过注册USB设备信息来响应USB热插拔事件。这可以通过调用RegisterDeviceNotification函数来实现。在注册USB设备信息时,需要指定设备类型为DBT_DEVTYP_DEVICEINTERFACE,并传入相应的设备接口信息。具体的注册过程可以参考引用\[1\]中的代码示例。 另外,还可以使用第三方库来实现USB转串口设备的热插拔检测。例如,可以使用CH343PT库中的接口CH343PT_SetDevNotify来实现USB转串口设备的热插拔检测。具体的使用方法可以参考引用\[3\]中的介绍。 总结起来,Windows Usb热插拔可以通过注册USB设备信息和监测USB设备插拔事件来实现。具体的实现方法可以根据需求选择使用系统提供的函数或第三方库来完成。 #### 引用[.reference_title] - *1* [windows下USB检测插拔状态](https://blog.csdn.net/qq_22642239/article/details/110451792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [CH343PT库使用一>USB转串口设备的热插拔检测](https://blog.csdn.net/WCH_TechGroup/article/details/127514913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红尘︶炼心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值