概要

Amazon MQ は、クラウドでメッセージブローカーを容易にセットアップして運用できる、Apache ActiveMQ 向けのマネージド型メッセージブローカーサービスです。

このインテグレーションを有効にすると、すべての Amazon MQ メトリクスを Datadog に表示できます。

セットアップ

インストール

Amazon Web Services インテグレーションをまだセットアップしていない場合は、最初にセットアップします。

メトリクスの収集

  1. AWS インテグレーションページで、Metric Collection タブの下にある MQ が有効になっていることを確認します。

  2. Datadog - AWS Amazon MQ インテグレーションをインストールします。

収集データ

ログの有効化

Amazon MQ から S3 バケットまたは CloudWatch のいずれかにログを送信するよう構成します。

: S3 バケットにログを送る場合は、Target prefixamazon_mq に設定されているかを確認してください。

ログを Datadog に送信する方法

  1. Datadog Forwarder Lambda 関数をまだセットアップしていない場合は、セットアップします。

  2. Lambda 関数がインストールされたら、AWS コンソールから、Amazon MQ ログを含む S3 バケットまたは CloudWatch のロググループに手動でトリガーを追加します。

収集データ

メトリクス

aws.amazonmq.ack_rate
(count)
The rate at which messages are being acknowledged by consumers. The number produced represents the number of messages per second at the time of sampling.
aws.amazonmq.ack_rate.maximum
(count)
The maximum rate at which messages are being acknowledged by consumers.
aws.amazonmq.ack_rate.minimum
(count)
The minimum rate at which messages are being acknowledged by consumers.
aws.amazonmq.ack_rate.sum
(count)
The maximum rate at which messages are being acknowledged by consumers.
aws.amazonmq.burst_balance
(gauge)
The percentage of burst credits remaining on the Amazon EBS volume used to persist message data for throughput-optimized brokers.
Shown as percent
aws.amazonmq.burst_balance.maximum
(gauge)
The maximum percentage of burst credits remaining on the Amazon EBS volume used to persist message data for throughput-optimized brokers.
Shown as percent
aws.amazonmq.burst_balance.minimum
(gauge)
The minimum percentage of burst credits remaining on the Amazon EBS volume used to persist message data for throughput-optimized brokers.
Shown as percent
aws.amazonmq.burst_balance.sum
(gauge)
The sum percentage of burst credits remaining on the Amazon EBS volume used to persist message data for throughput-optimized brokers.
Shown as percent
aws.amazonmq.channel_count
(count)
The total number of channels established on the broker.
aws.amazonmq.channel_count.maximum
(count)
The maximum number of channels established on the broker.
aws.amazonmq.channel_count.minimum
(count)
The minimum number of channels established on the broker.
aws.amazonmq.channel_count.sum
(count)
The sum number of channels established on the broker.
aws.amazonmq.confirm_rate
(count)
The rate at which the RabbitMQ server is confirming published messages. You can compare this metric with PublishRate to better understand how your broker is performing.
aws.amazonmq.confirm_rate.maximum
(count)
The maximum rate at which the RabbitMQ server is confirming published messages. You can compare this metric with PublishRate to better understand how your broker is performing.
aws.amazonmq.confirm_rate.minimum
(count)
The minimum rate at which the RabbitMQ server is confirming published messages. You can compare this metric with PublishRate to better understand how your broker is performing.
aws.amazonmq.confirm_rate.sum
(count)
The sum rate at which the RabbitMQ server is confirming published messages. You can compare this metric with PublishRate to better understand how your broker is performing.
aws.amazonmq.connection_count
(count)
The total number of connections established on the broker.
aws.amazonmq.connection_count.maximum
(count)
The maximum number of connections established on the broker.
aws.amazonmq.connection_count.minimum
(count)
The minimum number of connections established on the broker.
aws.amazonmq.connection_count.sum
(count)
The sum number of connections established on the broker.
aws.amazonmq.consumer_count
(count)
The total number of consumers connected to the broker.
aws.amazonmq.consumer_count.maximum
(count)
The maximum number of consumers connected to the broker.
aws.amazonmq.consumer_count.minimum
(count)
The minimum number of consumers connected to the broker.
aws.amazonmq.consumer_count.sum
(count)
The sum of consumers connected to the broker.
aws.amazonmq.cpu_credit_balance
(gauge)
The number of earned CPU credits that an instance has accrued since it was launched or started (including the number of launch credits).
aws.amazonmq.cpu_credit_balance.maximum
(gauge)
The maximum number of earned CPU credits that an instance has accrued since it was launched or started (including the number of launch credits).
aws.amazonmq.cpu_credit_balance.minimum
(gauge)
The minimum number of earned CPU credits that an instance has accrued since it was launched or started (including the number of launch credits).
aws.amazonmq.cpu_credit_balance.sum
(gauge)
The sum of earned CPU credits that an instance has accrued since it was launched or started (including the number of launch credits).
aws.amazonmq.cpu_utilization
(gauge)
The percentage of allocated EC2 compute units that broker currently uses.
Shown as percent
aws.amazonmq.cpu_utilization.maximum
(gauge)
The maximum percentage of allocated EC2 compute units that broker currently uses.
Shown as percent
aws.amazonmq.cpu_utilization.minimum
(gauge)
The minimum percentage of allocated EC2 compute units that broker currently uses.
Shown as percent
aws.amazonmq.cpu_utilization.sum
(gauge)
The sum of percentage of allocated EC2 compute units that broker currently uses.
Shown as percent
aws.amazonmq.current_connections_count
(count)
The current number of active connections on the current broker.
Shown as connection
aws.amazonmq.current_connections_count.maximum
(count)
The maximum number of active connections on the current broker.
Shown as connection
aws.amazonmq.current_connections_count.minimum
(count)
The minimum number of active connections on the current broker.
Shown as connection
aws.amazonmq.current_connections_count.sum
(count)
The sum of active connections on the current broker.
Shown as connection
aws.amazonmq.dequeue_count
(count)
The number of messages acknowledged by consumers.
Shown as message
aws.amazonmq.dequeue_count.maximum
(count)
The maximum number of messages acknowledged by consumers.
Shown as message
aws.amazonmq.dequeue_count.minimum
(count)
The minimum number of messages acknowledged by consumers.
Shown as message
aws.amazonmq.dequeue_count.sum
(count)
The sum of number of messages acknowledged by consumers.
Shown as message
aws.amazonmq.dispatch_count
(count)
The number of messages sent to consumers.
Shown as message
aws.amazonmq.dispatch_count.maximum
(count)
The maximum number of messages sent to consumers.
Shown as message
aws.amazonmq.dispatch_count.minimum
(count)
The minimum number of messages sent to consumers.
Shown as message
aws.amazonmq.dispatch_count.sum
(count)
The sum of number of messages sent to consumers.
Shown as message
aws.amazonmq.enqueue_count
(count)
The number of messages sent to the destination
Shown as message
aws.amazonmq.enqueue_count.maximum
(count)
The maximum number of messages sent to the destination
Shown as message
aws.amazonmq.enqueue_count.minimum
(count)
The minimum number of messages sent to the destination
Shown as message
aws.amazonmq.enqueue_count.sum
(count)
The sum of number of messages sent to the destination
Shown as message
aws.amazonmq.enqueue_time
(gauge)
The end-to-end latency from when a message arrives at a broker until it is delivered to a consumer.
Shown as millisecond
aws.amazonmq.enqueue_time.maximum
(gauge)
The maximum end-to-end latency from when a message arrives at a broker until it is delivered to a consumer.
Shown as millisecond
aws.amazonmq.enqueue_time.minimum
(gauge)
The minimum end-to-end latency from when a message arrives at a broker until it is delivered to a consumer.
Shown as millisecond
aws.amazonmq.enqueue_time.sum
(gauge)
The sum of the end-to-end latency from when a message arrives at a broker until it is delivered to a consumer.
Shown as millisecond
aws.amazonmq.established_connections_count
(count)
The total number of connections, active and inactive, that have been established on the broker.
Shown as connection
aws.amazonmq.established_connections_count.maximum
(count)
The maximum number of connections, active and inactive, that have been established on the broker.
Shown as connection
aws.amazonmq.established_connections_count.minimum
(count)
The minimum number of connections, active and inactive, that have been established on the broker.
Shown as connection
aws.amazonmq.established_connections_count.sum
(count)
The sum of connections, active and inactive, that have been established on the broker.
Shown as connection
aws.amazonmq.exchange_count
(count)
The total number of exchanges configured on the broker.
aws.amazonmq.exchange_count.maximum
(count)
The maximum number of exchanges configured on the broker.
aws.amazonmq.exchange_count.minimum
(count)
The minimum number of exchanges configured on the broker.
aws.amazonmq.exchange_count.sum
(count)
The sum number of exchanges configured on the broker.
aws.amazonmq.expired_count
(count)
The number of messages that couldn't be delivered because they expired.
Shown as message
aws.amazonmq.expired_count.maximum
(count)
The maximum number of messages that couldn't be delivered because they expired.
Shown as message
aws.amazonmq.expired_count.minimum
(count)
The minimum number of messages that couldn't be delivered because they expired.
Shown as message
aws.amazonmq.expired_count.sum
(count)
The sum of number of messages that couldn't be delivered because they expired.
Shown as message
aws.amazonmq.heap_usage
(gauge)
The percentage of the ActiveMQ JVM memory limit that the broker currently uses
Shown as percent
aws.amazonmq.heap_usage.maximum
(gauge)
The maximum percentage of the ActiveMQ JVM memory limit that the broker currently uses
Shown as percent
aws.amazonmq.heap_usage.minimum
(gauge)
The minimum percentage of the ActiveMQ JVM memory limit that the broker currently uses
Shown as percent
aws.amazonmq.heap_usage.sum
(gauge)
The sum of percentage of the ActiveMQ JVM memory limit that the broker currently uses
Shown as percent
aws.amazonmq.in_flight_count
(count)
The number of messages sent to consumers that have not been acknowledged.
Shown as message
aws.amazonmq.in_flight_count.maximum
(count)
The maximum number of messages sent to consumers that have not been acknowledged.
Shown as message
aws.amazonmq.in_flight_count.minimum
(count)
The minimum number of messages sent to consumers that have not been acknowledged.
Shown as message
aws.amazonmq.in_flight_count.sum
(count)
The sum of messages sent to consumers that have not been acknowledged.
Shown as message
aws.amazonmq.inactive_durable_topic_subscribers_count
(count)
The number of inactive durable topic subscribers, up to a maximum of 2000.
aws.amazonmq.inactive_durable_topic_subscribers_count.maximum
(count)
The maximum number of inactive durable topic subscribers, up to a maximum of 2000.
aws.amazonmq.inactive_durable_topic_subscribers_count.minimum
(count)
The minimum number of inactive durable topic subscribers, up to a maximum of 2000.
aws.amazonmq.inactive_durable_topic_subscribers_count.sum
(count)
The sum of inactive durable topic subscribers, up to a maximum of 2000.
aws.amazonmq.job_scheduler_store_percentage_usage
(gauge)
The percentage of disk space used by the job scheduler store.
Shown as percent
aws.amazonmq.job_scheduler_store_percentage_usage.maximum
(gauge)
The maximum percentage of disk space used by the job scheduler store.
Shown as percent
aws.amazonmq.job_scheduler_store_percentage_usage.minimum
(gauge)
The minimum percentage of disk space used by the job scheduler store.
Shown as percent
aws.amazonmq.job_scheduler_store_percentage_usage.sum
(gauge)
The sum percentage of disk space used by the job scheduler store.
Shown as percent
aws.amazonmq.journal_files_for_fast_recovery
(count)
The number of journal files that will be replayed after a clean shutdown.
Shown as file
aws.amazonmq.journal_files_for_fast_recovery.maximum
(count)
The maximum number of journal files that will be replayed after a clean shutdown.
Shown as file
aws.amazonmq.journal_files_for_fast_recovery.minimum
(count)
The minimum number of journal files that will be replayed after a clean shutdown.
Shown as file
aws.amazonmq.journal_files_for_fast_recovery.sum
(count)
The sum of journal files that will be replayed after a clean shutdown.
Shown as file
aws.amazonmq.journal_files_for_full_recovery
(count)
The number of journal files that will be replayed after an unclean shutdown.
Shown as file
aws.amazonmq.journal_files_for_full_recovery.maximum
(count)
The maximum number of journal files that will be replayed after an unclean shutdown.
Shown as file
aws.amazonmq.journal_files_for_full_recovery.minimum
(count)
The minimum number of journal files that will be replayed after an unclean shutdown.
Shown as file
aws.amazonmq.journal_files_for_full_recovery.sum
(count)
The sum of journal files that will be replayed after an unclean shutdown.
Shown as file
aws.amazonmq.memory_usage
(gauge)
The percentage of memory limit that the destination currently uses
Shown as percent
aws.amazonmq.memory_usage.maximum
(gauge)
The maximum percentage of memory limit that the destination currently uses
Shown as percent
aws.amazonmq.memory_usage.minimum
(gauge)
The minimum percentage of memory limit that the destination currently uses
Shown as percent
aws.amazonmq.memory_usage.sum
(gauge)
The sum of percentage of memory limit that the destination currently uses
Shown as percent
aws.amazonmq.message_count
(count)
The total number of messages stored on the broker.
aws.amazonmq.message_count.maximum
(count)
The maximum number of messages stored on the broker.
aws.amazonmq.message_count.minimum
(count)
The minimum number of messages stored on the broker.
aws.amazonmq.message_count.sum
(count)
The sum of messages stored on the broker.
aws.amazonmq.message_ready_count
(count)
The total number of ready messages in the queues.
aws.amazonmq.message_ready_count.maximum
(count)
The maximum number of ready messages in the queues.
aws.amazonmq.message_ready_count.minimum
(count)
The minimum number of ready messages in the queues.
aws.amazonmq.message_ready_count.sum
(count)
The sum of ready messages in the queues.
aws.amazonmq.message_unacknowledged_count
(count)
The total number of unacknowledged messages in the queues.
aws.amazonmq.message_unacknowledged_count.maximum
(count)
The maximum number of unacknowledged messages in the queues.
aws.amazonmq.message_unacknowledged_count.minimum
(count)
The minimum number of unacknowledged messages in the queues.
aws.amazonmq.message_unacknowledged_count.sum
(count)
The sum of unacknowledged messages in the queues.
aws.amazonmq.network_in
(gauge)
The volume of incoming traffic for the broker
Shown as byte
aws.amazonmq.network_in.maximum
(gauge)
The maximum volume of incoming traffic for the broker
Shown as byte
aws.amazonmq.network_in.minimum
(gauge)
The minimum volume of incoming traffic for the broker
Shown as byte
aws.amazonmq.network_in.sum
(gauge)
The sum of volume of incoming traffic for the broker
Shown as byte
aws.amazonmq.network_out
(gauge)
The volume of outgoing traffic for the broker
Shown as byte
aws.amazonmq.network_out.maximum
(gauge)
The maximum volume of outgoing traffic for the broker
Shown as byte
aws.amazonmq.network_out.minimum
(gauge)
The minimum volume of outgoing traffic for the broker
Shown as byte
aws.amazonmq.network_out.sum
(gauge)
The sum of volumes of outgoing traffic for the broker
Shown as byte
aws.amazonmq.open_transaction_count
(count)
The total number of transactions in progress.
Shown as transaction
aws.amazonmq.open_transaction_count.maximum
(count)
The maximum number of transactions in progress.
Shown as transaction
aws.amazonmq.open_transaction_count.minimum
(count)
The minimum number of transactions in progress.
Shown as transaction
aws.amazonmq.open_transaction_count.sum
(count)
The sum number of transactions in progress.
Shown as transaction
aws.amazonmq.producer_count
(count)
The number of producers for the destination.
aws.amazonmq.producer_count.maximum
(count)
The maximum number of producers for the destination.
aws.amazonmq.producer_count.minimum
(count)
The minimum number of producers for the destination.
aws.amazonmq.producer_count.sum
(count)
The sum of number of producers for the destination.
aws.amazonmq.publish_rate
(count)
The rate at which messages are published to the broker. The number produced represents the number of messages per second at the time of sampling.
aws.amazonmq.publish_rate.maximum
(count)
The maximum rate at which messages are published to the broker. The number produced represents the number of messages per second at the time of sampling.
aws.amazonmq.publish_rate.minimum
(count)
The minimum rate at which messages are published to the broker. The number produced represents the number of messages per second at the time of sampling.
aws.amazonmq.publish_rate.sum
(count)
The sum rate at which messages are published to the broker. The number produced represents the number of messages per second at the time of sampling.
aws.amazonmq.queue_count
(count)
The total number of queues configured on the broker.
aws.amazonmq.queue_count.maximum
(count)
The maximum number of queues configured on the broker.
aws.amazonmq.queue_count.minimum
(count)
The minimum number of queues configured on the broker.
aws.amazonmq.queue_count.sum
(count)
The sum of queues configured on the broker.
aws.amazonmq.queue_size
(count)
The number of messages in the queue.
Shown as message
aws.amazonmq.queue_size.maximum
(count)
The maximum number of messages in the queue.
Shown as message
aws.amazonmq.queue_size.minimum
(count)
The minimum number of messages in the queue.
Shown as message
aws.amazonmq.queue_size.sum
(count)
The sum of number of messages in the queue.
Shown as message
aws.amazonmq.rabbit_mqdisk_free
(gauge)
The total volume of free disk space available in a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free.maximum
(gauge)
The maximum volume of free disk space available in a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free.minimum
(gauge)
The minimum volume of free disk space available in a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free.sum
(gauge)
The sum volume of free disk space available in a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free_limit
(gauge)
The disk limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free_limit.maximum
(gauge)
The maximum disk limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free_limit.minimum
(gauge)
The minimum disk limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqdisk_free_limit.sum
(gauge)
The sum disk limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqfd_used
(count)
The number of file descriptors used
aws.amazonmq.rabbit_mqfd_used.maximum
(count)
The maximum number of file descriptors used
aws.amazonmq.rabbit_mqfd_used.minimum
(count)
The minimum number of file descriptors used
aws.amazonmq.rabbit_mqfd_used.sum
(count)
The sum of file descriptors used
aws.amazonmq.rabbit_mqmem_limit
(gauge)
The RAM limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_limit.maximum
(gauge)
The maximum RAM limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_limit.minimum
(gauge)
The minimum RAM limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_limit.sum
(gauge)
The sum RAM limit for a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_used
(gauge)
The volume of RAM used by a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_used.maximum
(gauge)
The maximum volume of RAM used by a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_used.minimum
(gauge)
The minimum volume of RAM used by a RabbitMQ node
Shown as byte
aws.amazonmq.rabbit_mqmem_used.sum
(gauge)
The sum volume of RAM used by a RabbitMQ node
Shown as byte
aws.amazonmq.receive_count
(count)
The number of messages that have been received from the remote broker for a duplex network connector.
Shown as message
aws.amazonmq.receive_count.maximum
(count)
The maximum number of messages that have been received from the remote broker for a duplex network connector.
Shown as message
aws.amazonmq.receive_count.minimum
(count)
The minimum number of messages that have been received from the remote broker for a duplex network connector.
Shown as message
aws.amazonmq.receive_count.sum
(count)
The sum of messages that have been received from the remote broker for a duplex network connector.
Shown as message
aws.amazonmq.store_percent_usage
(gauge)
The percent used by the storage limit. If this reaches 100 the broker will refuse messages.
Shown as percent
aws.amazonmq.store_percent_usage.maximum
(gauge)
The maximum percent used by the storage limit. If this reaches 100 the broker will refuse messages.
Shown as percent
aws.amazonmq.store_percent_usage.minimum
(gauge)
The minimum percent used by the storage limit. If this reaches 100 the broker will refuse messages.
Shown as percent
aws.amazonmq.store_percent_usage.sum
(gauge)
The sum percentage used by the storage limit. If this reaches 100 the broker will refuse messages.
Shown as percent
aws.amazonmq.system_cpu_utilization
(gauge)
The percentage of allocated Amazon EC2 compute units that the broker currently uses.
Shown as percent
aws.amazonmq.system_cpu_utilization.maximum
(gauge)
The maximum percentage of allocated Amazon EC2 compute units that the broker currently uses.
Shown as percent
aws.amazonmq.system_cpu_utilization.minimum
(gauge)
The minimum percentage of allocated Amazon EC2 compute units that the broker currently uses.
Shown as percent
aws.amazonmq.system_cpu_utilization.sum
(gauge)
The sum percentage of allocated Amazon EC2 compute units that the broker currently uses.
Shown as percent
aws.amazonmq.temp_percent_usage
(gauge)
The percentage of available temporary storage used by non-persistent messages.
Shown as percent
aws.amazonmq.temp_percent_usage.maximum
(gauge)
The maximum percentage of available temporary storage used by non-persistent messages.
Shown as percent
aws.amazonmq.temp_percent_usage.minimum
(gauge)
The minimum percentage of available temporary storage used by non-persistent messages.
Shown as percent
aws.amazonmq.temp_percent_usage.sum
(gauge)
The sum percentage of available temporary storage used by non-persistent messages.
Shown as percent
aws.amazonmq.total_consumer_count
(count)
The number of message consumers subscribed to destinations on the current broker.
aws.amazonmq.total_consumer_count.maximum
(count)
The maximum number of message consumers subscribed to destinations on the current broker.
aws.amazonmq.total_consumer_count.minimum
(count)
The minimum number of message consumers subscribed to destinations on the current broker.
aws.amazonmq.total_consumer_count.sum
(count)
The sum of message consumers subscribed to destinations on the current broker.
aws.amazonmq.total_message_count
(count)
The number of messages stored on the broker
Shown as message
aws.amazonmq.total_message_count.maximum
(count)
The maximum number of messages stored on the broker
Shown as message
aws.amazonmq.total_message_count.minimum
(count)
The minimum number of messages stored on the broker
Shown as message
aws.amazonmq.total_message_count.sum
(count)
The sum of number of messages stored on the broker
Shown as message
aws.amazonmq.total_producer_count
(count)
The number of message producers active on destinations on the current broker.
aws.amazonmq.total_producer_count.maximum
(count)
The maximum number of message producers active on destinations on the current broker.
aws.amazonmq.total_producer_count.minimum
(count)
The minimum number of message producers active on destinations on the current broker.
aws.amazonmq.total_producer_count.sum
(count)
The sum of message producers active on destinations on the current broker.
aws.amazonmq.volume_read_ops
(count)
The number of read operations performed on the Amazon EBS volume.
aws.amazonmq.volume_read_ops.maximum
(count)
The maximum number of read operations performed on the Amazon EBS volume.
aws.amazonmq.volume_read_ops.minimum
(count)
The minimum number of read operations performed on the Amazon EBS volume.
aws.amazonmq.volume_read_ops.sum
(count)
The sum of read operations performed on the Amazon EBS volume.
aws.amazonmq.volume_write_ops
(count)
The number of write operations performed on the Amazon EBS volume.
aws.amazonmq.volume_write_ops.maximum
(count)
The maximum number of write operations performed on the Amazon EBS volume.
aws.amazonmq.volume_write_ops.minimum
(count)
The minimum number of write operations performed on the Amazon EBS volume.
aws.amazonmq.volume_write_ops.sum
(count)
The sum of write operations performed on the Amazon EBS volume.

AWS から取得される各メトリクスには、ホスト名やセキュリティ グループなど、AWS コンソールに表示されるのと同じタグが割り当てられます。

イベント

AWS Amazon MQ インテグレーションには、イベントは含まれません。

サービスチェック

AWS Amazon MQ インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料

お役に立つドキュメント、リンクや記事:

PREVIEWING: safchain/fix-custom-agent