5.2 监控与日志(上) 本节导读:通过本节学习,你将掌握LangGraph应用的监控体系配置,从基础的指标收集到复杂的告警规则,构建完整的可观测性系统,确保LangGraph在生产环境中的稳定运行。 学习目标 掌握Prometheus指标收集和配置方法 学会使用Grafana创建监控仪表板 理解LangGraph的性能监控关键指标 掌告警规则配置和通知机制 能够进行性能瓶颈分析和优化 核心概念 监控与日志系统是生产环境应用的重要组成部分,对于长时间运行的LangGraph智能体来说,完善的监控和日志系统尤为重要。LangGraph的监控需要关注图执行状态、工具调用性能、内存使用等多个方面。
本节导读:通过本节学习,你将掌握LangGraph应用的监控体系配置,从基础的指标收集到复杂的告警规则,构建完整的可观测性系统,确保LangGraph在生产环境中的稳定运行。
监控与日志系统是生产环境应用的重要组成部分,对于长时间运行的LangGraph智能体来说,完善的监控和日志系统尤为重要。LangGraph的监控需要关注图执行状态、工具调用性能、内存使用等多个方面。
LangGraph作为一个复杂的智能体框架,其监控需要特别关注:
Reading package lists...
Building dependency tree...
Reading state information...
adduser is already the newest version (3.137ubuntu1).
adduser set to manually installed.
debconf is already the newest version (1.5.86ubuntu1).
debconf set to manually installed.
The following packages were automatically installed and are no longer required:
eatmydata libeatmydata1 python3-jsonpatch
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libnss-systemd libpam-systemd libsystemd-shared libsystemd0 libudev1
systemd-dev systemd-resolved systemd-sysv udev
Suggested packages:
systemd-container systemd-homed systemd-userdbd systemd-boot libqrencode4
libtss2-rc0
The following packages will be upgraded:
libnss-systemd libpam-systemd libsystemd-shared libsystemd0 libudev1 systemd
systemd-dev systemd-resolved systemd-sysv udev
10 upgraded, 0 newly installed, 0 to remove and 326 not upgraded.
Need to get 8,844 kB of archives.
After this operation, 52.2 kB of additional disk space will be used.
Get:1 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 systemd-dev all 255.4-1ubuntu8.16 [106 kB]
Get:2 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 systemd-resolved amd64 255.4-1ubuntu8.16 [296 kB]
Get:3 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 libsystemd-shared amd64 255.4-1ubuntu8.16 [2,076 kB]
Get:4 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 libsystemd0 amd64 255.4-1ubuntu8.16 [431 kB]
Get:5 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 systemd-sysv amd64 255.4-1ubuntu8.16 [11.9 kB]
Get:6 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 libnss-systemd amd64 255.4-1ubuntu8.16 [159 kB]
Get:7 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 libpam-systemd amd64 255.4-1ubuntu8.16 [235 kB]
Get:8 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 systemd amd64 255.4-1ubuntu8.16 [3,475 kB]
Get:9 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 udev amd64 255.4-1ubuntu8.16 [1,875 kB]
Get:10 http://mirrors.tencentyun.com/ubuntu noble-updates/main amd64 libudev1 amd64 255.4-1ubuntu8.16 [177 kB]
Fetched 8,844 kB in 1s (10.8 MB/s)
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 105764 files and directories currently installed.)
Preparing to unpack .../systemd-dev_255.4-1ubuntu8.16_all.deb ...
Unpacking systemd-dev (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../systemd-resolved_255.4-1ubuntu8.16_amd64.deb ...
Unpacking systemd-resolved (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../libsystemd-shared_255.4-1ubuntu8.16_amd64.deb ...
Unpacking libsystemd-shared:amd64 (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../libsystemd0_255.4-1ubuntu8.16_amd64.deb ...
Unpacking libsystemd0:amd64 (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Setting up libsystemd0:amd64 (255.4-1ubuntu8.16) ...
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 105764 files and directories currently installed.)
Preparing to unpack .../0-systemd-sysv_255.4-1ubuntu8.16_amd64.deb ...
Unpacking systemd-sysv (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../1-libnss-systemd_255.4-1ubuntu8.16_amd64.deb ...
Unpacking libnss-systemd:amd64 (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../2-libpam-systemd_255.4-1ubuntu8.16_amd64.deb ...
Unpacking libpam-systemd:amd64 (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../3-systemd_255.4-1ubuntu8.16_amd64.deb ...
Unpacking systemd (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../4-udev_255.4-1ubuntu8.16_amd64.deb ...
Unpacking udev (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Preparing to unpack .../5-libudev1_255.4-1ubuntu8.16_amd64.deb ...
Unpacking libudev1:amd64 (255.4-1ubuntu8.16) over (255.4-1ubuntu8) ...
Setting up libudev1:amd64 (255.4-1ubuntu8.16) ...
Setting up systemd-dev (255.4-1ubuntu8.16) ...
Setting up libsystemd-shared:amd64 (255.4-1ubuntu8.16) ...
Setting up systemd (255.4-1ubuntu8.16) ...
Setting up udev (255.4-1ubuntu8.16) ...
Setting up systemd-resolved (255.4-1ubuntu8.16) ...
Setting up systemd-sysv (255.4-1ubuntu8.16) ...
Setting up libnss-systemd:amd64 (255.4-1ubuntu8.16) ...
Setting up libpam-systemd:amd64 (255.4-1ubuntu8.16) ...
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for dbus (1.14.10-4ubuntu4.1) ...
Processing triggers for initramfs-tools (0.142ubuntu25) ...
update-initramfs: Generating /boot/initrd.img-6.8.0-71-generic
Selecting previously unselected package grafana.
(Reading database ... 105765 files and directories currently installed.)
Preparing to unpack grafana_10.2.0_amd64.deb ...
Unpacking grafana (10.2.0) ...
本节详细介绍了LangGraph监控系统的配置,从基础的Prometheus指标收集到复杂的告警规则,构建了完整的监控体系。通过这套监控系统,我们可以实时了解LangGraph应用的运行状态,快速定位性能瓶颈,及时发现系统异常,确保生产环境的稳定运行。
下一节将继续介绍日志系统和链路追踪配置。
关键词:监控系统, Prometheus, Grafana, 告警规则, 性能监控, 集成配置
难度:进阶
预计阅读:35分钟