#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

[default]
debug_level = INFO
metrics_servers = localhost
enable_time_threshold = false
enable_value_threshold = false
skip_disk_patterns =
skip_virtual_interfaces = false
skip_network_interfaces_patterns =

[emitter]
send_interval = 60
kinit_cmd = /usr/bin/kinit -kt /etc/security/keytabs/ams.monitor.keytab amsmon/localhost
klist_cmd = /usr/bin/klist

[collector]
collector_sleep_interval = 5
max_queue_size = 5000
failover_strategy = round-robin
failover_strategy_blacklisted_interval_seconds = 600
host = localhost
port = 6188
https_enabled = false
