[
    {
        "desc": "The port to monitor for inter-server communication",
        "display_name": "Quorum Port",
        "name": "quorumPort",
        "value": "3181"
    },
    {
        "desc": "Whether or not periodic stacks collection is enabled.",
        "display_name": "Stacks Collection Enabled",
        "name": "stacks_collection_enabled",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the ZooKeeper Log Directory parameter.",
        "display_name": "Suppress Parameter Validation: ZooKeeper Log Directory",
        "name": "role_config_suppression_zk_server_log_dir",
        "value": "false"
    },
    {
        "desc": "Specifies the name of the user that has read-only privileges when using password file based authentication for JMX access. JMX authentication must be enabled for this setting to take effect.",
        "display_name": "Name of User with Read-Only access to the JMX Agent",
        "name": "jmx_passwd_file_readonly_user",
        "value": "monitorRole"
    },
    {
        "desc": "Enables the health test that the Server's process state is consistent with the role configuration",
        "display_name": "Server Process Health Test",
        "name": "zookeeper_server_scm_health_enabled",
        "value": "true"
    },
    {
        "desc": "The address (IPv4, IPv6, or hostname) to monitor for client connections. This is the address that clients attempt to connect to. This setting is optional, because by default, ZooKeeper binds in such a way that any connection to the client port for any address/interface/NIC on the server will be accepted.",
        "display_name": "Client Port Address",
        "name": "clientPortAddress",
        "value": null
    },
    {
        "desc": "The method used to collect stacks. The jstack option involves periodically running the jstack command against the role's daemon process. The servlet method is available for those roles that have an HTTP server endpoint exposing the current stacks traces of all threads. When the servlet method is selected, that HTTP endpoint is periodically scraped.",
        "display_name": "Stacks Collection Method",
        "name": "stacks_collection_method",
        "value": "jstack"
    },
    {
        "desc": "Specifies the password of the user that has read-only privileges when using password file based authentication for JMX access. JMX authentication must be enabled for this setting to take effect.",
        "display_name": "Password of User with Read-Only Access to the JMX agent",
        "name": "jmx_passwd_file_readonly_user_password",
        "value": "MONITOR"
    },
    {
        "desc": "Whether to suppress the results of the Quorum Membership heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Quorum Membership",
        "name": "role_health_suppression_zookeeper_server_quorum_membership",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Name of User with Read-Write Access to the JMX Agent parameter.",
        "display_name": "Suppress Parameter Validation: Name of User with Read-Write Access to the JMX Agent",
        "name": "role_config_suppression_jmx_passwd_file_readwrite_user",
        "value": "false"
    },
    {
        "desc": "The period to review when computing unexpected exits.",
        "display_name": "Unexpected Exits Monitoring Period",
        "name": "unexpected_exits_window",
        "value": "5"
    },
    {
        "desc": "Whether to suppress the results of the Audit Pipeline Test heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Audit Pipeline Test",
        "name": "role_health_suppression_zookeeper_server_audit_health",
        "value": "false"
    },
    {
        "desc": "The health check thresholds of the weighted average size of the ZooKeeper Server connection count over a recent period. See ZooKeeper Server Connection Count Monitoring Period.",
        "display_name": "ZooKeeper Server Connection Count Thresholds",
        "name": "zookeeper_server_connection_count_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Heap Dump Directory parameter.",
        "display_name": "Suppress Parameter Validation: Heap Dump Directory",
        "name": "role_config_suppression_oom_heap_dump_dir",
        "value": "false"
    },
    {
        "desc": "For advanced use only. A string to be inserted into <strong>zoo.cfg</strong> for this role only.",
        "display_name": "Server Advanced Configuration Snippet (Safety Valve) for zoo.cfg",
        "name": "zookeeper_config_safety_valve",
        "value": null
    },
    {
        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
        "display_name": "Enable Configuration Change Alerts",
        "name": "enable_config_alerts",
        "value": "false"
    },
    {
        "desc": "When set, generates heap dump file when java.lang.OutOfMemoryError is thrown.",
        "display_name": "Dump Heap When Out of Memory",
        "name": "oom_heap_dump_enabled",
        "value": "true"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's Transaction Log Directory.",
        "display_name": "Transaction Log Directory Free Space Monitoring Absolute Thresholds",
        "name": "zookeeper_server_data_log_directory_free_space_absolute_thresholds",
        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
    },
    {
        "desc": "The port to monitor for client connections. This is the port that clients attempt to connect to.",
        "display_name": "Client Port",
        "name": "clientPort",
        "value": "2181"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Server Advanced Configuration Snippet (Safety Valve) for zoo.cfg parameter.",
        "display_name": "Suppress Parameter Validation: Server Advanced Configuration Snippet (Safety Valve) for zoo.cfg",
        "name": "role_config_suppression_zookeeper_config_safety_valve",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Password of User with Read-Only Access to the JMX agent parameter.",
        "display_name": "Suppress Parameter Validation: Password of User with Read-Only Access to the JMX agent",
        "name": "role_config_suppression_jmx_passwd_file_readonly_user_password",
        "value": "false"
    },
    {
        "desc": "The port used by the ZooKeeper Server's RMI registry. This is required to enable JMX access through RMI which is required for Cloudera Manager ZooKeeper monitoring. This is added as \"-Dcom.sun.management.jmxremote.port\" to the ZooKeeper Server's JVM command line.",
        "display_name": "JMX Remote Port",
        "name": "server_jmx_agent_port",
        "value": "9010"
    },
    {
        "desc": "Whether to suppress the results of the GC Duration heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: GC Duration",
        "name": "role_health_suppression_zookeeper_server_gc_duration",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the Heap Dump Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Heap Dump Directory Free Space",
        "name": "role_health_suppression_zookeeper_server_heap_dump_directory_free_space",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Stacks Collection Directory parameter.",
        "display_name": "Suppress Parameter Validation: Stacks Collection Directory",
        "name": "role_config_suppression_stacks_collection_directory",
        "value": "false"
    },
    {
        "desc": "Unique identifier for each ZooKeeper server, typically starts at 1",
        "display_name": "ZooKeeper Server ID",
        "name": "serverId",
        "value": null
    },
    {
        "desc": "The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit.",
        "display_name": "File Descriptor Monitoring Thresholds",
        "name": "zookeeper_server_fd_thresholds",
        "value": "{\"critical\":\"70.0\",\"warning\":\"50.0\"}"
    },
    {
        "desc": "Whether to suppress the results of the Swap Memory Usage heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Swap Memory Usage",
        "name": "role_health_suppression_zookeeper_server_swap_memory_usage",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the File Descriptors heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: File Descriptors",
        "name": "role_health_suppression_zookeeper_server_file_descriptor",
        "value": "false"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Log Directory Free Space Monitoring Absolute Thresholds setting is configured.",
        "display_name": "Log Directory Free Space Monitoring Percentage Thresholds",
        "name": "log_directory_free_space_percentage_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "<p>This file contains the rules that govern how log messages are turned into events by the custom log4j appender that this role loads. It is in JSON format, and is composed of a list of rules. Every log message is evaluated against each of these rules in turn to decide whether or not to send an event for that message. If a log message matches multiple rules, the first matching rule is used. </p><p>Each rule has some or all of the following fields:</p><ul><li><code>alert</code> - whether or not events generated from this rule should be promoted to alerts. A value of \"true\" will cause alerts to be generated. If not specified, the default is \"false\".</li><li><code>rate</code> <b>(mandatory)</b> - the maximum number of log messages matching this rule that can be sent as events every minute. If more than <code>rate</code> matching log messages are received in a single minute, the extra messages are ignored. If rate is less than 0, the number of messages per minute is unlimited.</li><li><code>periodminutes</code>  - the number of minutes during which the publisher will only publish <code>rate</code> events or fewer. If not specified, the default is <b>one minute</b></li><li><code>threshold</code> - apply this rule only to messages with this log4j severity level or above. An example is \"WARN\" for warning level messages or higher.</li><li><code>content</code> - match only those messages for which contents match this regular expression.</li><li><code>exceptiontype</code> - match only those messages that are part of an exception message. The exception type must match this regular expression.</li></ul><p>Example:</p><ul><li><pre>{\"alert\": false, \"rate\": 10, \"exceptiontype\": \"java.lang.StringIndexOutOfBoundsException\"}</pre>This rule sends events to Cloudera Manager for every <code>StringIndexOutOfBoundsException</code>, up to a maximum of 10 every minute.</li><li><pre>{\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"exceptiontype\": \".*\"}, {\"alert\": true, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"ERROR\"}</pre>In this example, an event generated may not be promoted to alert if an exception is in the ERROR log message, because the first rule with alert = false will match.</li></ul>",
        "display_name": "Rules to Extract Events from Log Files",
        "name": "log_event_whitelist",
        "value": "{\n  \"version\": \"0\",\n  \"rules\": [\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"FATAL\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\": \".* is deprecated. Instead, use .*\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\": \".* is deprecated. Use .* instead\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 2, \"exceptiontype\": \".*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\"}\n  ]\n}\n"
    },
    {
        "desc": "The disk location that ZooKeeper will use to store its transaction logs.",
        "display_name": "Transaction Log Directory",
        "name": "dataLogDir",
        "value": "/var/lib/zookeeper"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's Data Directory.",
        "display_name": "Data Directory Free Space Monitoring Absolute Thresholds",
        "name": "zookeeper_server_data_directory_free_space_absolute_thresholds",
        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory.",
        "display_name": "Heap Dump Directory Free Space Monitoring Absolute Thresholds",
        "name": "heap_dump_directory_free_space_absolute_thresholds",
        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
    },
    {
        "desc": "The maximum size, in megabytes, per log file for Server logs.  Typically used by log4j or logback.",
        "display_name": "Server Max Log Size",
        "name": "max_log_size",
        "value": "200"
    },
    {
        "desc": "<p>The configured triggers for this role. This is a JSON-formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.</p><p>Each trigger has the following fields:</p><ul><li><code>triggerName</code> <b>(mandatory)</b> - The name of the trigger. This value must be unique for the specific role. </li><li><code>triggerExpression</code> <b>(mandatory)</b> - A tsquery expression representing the trigger. </li><li><code>streamThreshold</code> <b>(optional)</b> - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire. </li><li><code>enabled</code> <b> (optional)</b> - By default set to 'true'. If set to 'false', the trigger is not evaluated.</li><li><code>expressionEditorConfig</code> <b> (optional)</b> - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here can lead to inconsistencies.</li></ul><p>For example, the following JSON formatted trigger configured for a DataNode fires if the DataNode has more than 1500 file descriptors opened:</p><p><pre>[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad\",\n  \"streamThreshold\": 0, \"enabled\": \"true\"}]</pre></p><p>See the trigger rules documentation for more details on how to write triggers using tsquery.</p><p>The JSON format is evolving and may change and, as a result, backward compatibility is not guaranteed between releases.</p>",
        "display_name": "Role Triggers",
        "name": "role_triggers",
        "value": "[]"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Password of user with read-write access to the JMX agent parameter.",
        "display_name": "Suppress Parameter Validation: Password of user with read-write access to the JMX agent",
        "name": "role_config_suppression_jmx_passwd_file_readwrite_user_password",
        "value": "false"
    },
    {
        "desc": "The minimum session timeout, in milliseconds, that the ZooKeeper Server will allow the client to negotiate",
        "display_name": "Minimum Session Timeout",
        "name": "minSessionTimeout",
        "value": "4000"
    },
    {
        "desc": "The percentage thresholds of the ratio of the maximum request latency to the maximum client-negotiable session timeout since the server was started.",
        "display_name": "Maximum Latency Monitoring Thresholds",
        "name": "zookeeper_server_max_latency_thresholds",
        "value": "{\"critical\":\"100.0\",\"warning\":\"75.0\"}"
    },
    {
        "desc": "The amount of stacks data that is retained. After the retention limit is reached, the oldest data is deleted.",
        "display_name": "Stacks Collection Data Retention",
        "name": "stacks_collection_data_retention",
        "value": "104857600"
    },
    {
        "desc": "Enables authentication when interacting with the JMX agent on the ZooKeeper server.",
        "display_name": "Enable Authenticated Communication with the JMX Agent",
        "name": "enable_jmx_authentication",
        "value": "false"
    },
    {
        "desc": "Enables the quorum membership check for this ZooKeeper Server.",
        "display_name": "Enable the Quorum Membership Check",
        "name": "zookeeper_server_quorum_membership_enabled",
        "value": "true"
    },
    {
        "desc": "The port used by the ZooKeeper Server's RMI server to handle JMX RMI requests. This is added as \"-Dcom.sun.management.jmxremote.rmi.port=&lt;port&gt;\" to the ZooKeeper Server's JVM command line. This has an effect only in Oracle JDK 7u4 and higher. If the setting is left blank, the JMX Remote Port value is used. If set to 0 or -1, this setting is ignored. When this setting is not in effect, the JVM uses a random port for the RMI server.",
        "display_name": "JMX RMI Server Port",
        "name": "server_jmx_rmi_port",
        "value": null
    },
    {
        "desc": "The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role.",
        "display_name": "Unexpected Exits Thresholds",
        "name": "unexpected_exits_thresholds",
        "value": "{\"critical\":\"any\",\"warning\":\"never\"}"
    },
    {
        "desc": "Whether to suppress the results of the Host Health heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Host Health",
        "name": "role_health_suppression_zookeeper_server_host_health",
        "value": "false"
    },
    {
        "desc": "Directory where ZooKeeper will place its log files.",
        "display_name": "ZooKeeper Log Directory",
        "name": "zk_server_log_dir",
        "value": "/var/log/zookeeper"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Heap Dump Directory Free Space Monitoring Absolute Thresholds setting is configured.",
        "display_name": "Heap Dump Directory Free Space Monitoring Percentage Thresholds",
        "name": "heap_dump_directory_free_space_percentage_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Transaction Log Directory parameter.",
        "display_name": "Suppress Parameter Validation: Transaction Log Directory",
        "name": "role_config_suppression_datalogdir",
        "value": "false"
    },
    {
        "desc": "Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager.",
        "display_name": "Cgroup CPU Shares",
        "name": "rm_cpu_shares",
        "value": "1024"
    },
    {
        "desc": "The minimum log level for Server logs",
        "display_name": "Server Logging Threshold",
        "name": "log_threshold",
        "value": "INFO"
    },
    {
        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of this role except client configuration.",
        "display_name": "Server Environment Advanced Configuration Snippet (Safety Valve)",
        "name": "SERVER_role_env_safety_valve",
        "value": null
    },
    {
        "desc": "The period to review when computing the moving average of the outstanding requests queue size. Specified in minutes.",
        "display_name": "ZooKeeper Server Outstanding Requests Monitoring Period",
        "name": "zookeeper_server_outstanding_requests_window",
        "value": "3"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Client Port Address parameter.",
        "display_name": "Suppress Parameter Validation: Client Port Address",
        "name": "role_config_suppression_clientportaddress",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Java Configuration Options for Zookeeper Server parameter.",
        "display_name": "Suppress Parameter Validation: Java Configuration Options for Zookeeper Server",
        "name": "role_config_suppression_zk_server_java_opts",
        "value": "false"
    },
    {
        "desc": "The disk location that ZooKeeper will use to store its database snapshots.",
        "display_name": "Data Directory",
        "name": "dataDir",
        "value": "/var/lib/zookeeper"
    },
    {
        "desc": "The tolerance window that will be used in the detection of a ZooKeeper server's membership in a quorum. Specified in minutes.",
        "display_name": "Quorum Membership Detection Window",
        "name": "zookeeper_server_quorum_membership_detection_window",
        "value": "3"
    },
    {
        "desc": "The health check thresholds of the weighted average size of the ZooKeeper Server outstanding requests queue over a recent period. See ZooKeeper Server Outstanding Requests Monitoring Period.",
        "display_name": "ZooKeeper Server Outstanding Requests Thresholds",
        "name": "zookeeper_server_outstanding_requests_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Server Environment Advanced Configuration Snippet (Safety Valve) parameter.",
        "display_name": "Suppress Parameter Validation: Server Environment Advanced Configuration Snippet (Safety Valve)",
        "name": "role_config_suppression_server_role_env_safety_valve",
        "value": "false"
    },
    {
        "desc": "When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure.",
        "display_name": "Automatically Restart Process",
        "name": "process_auto_restart",
        "value": "true"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Server Logging Advanced Configuration Snippet (Safety Valve) parameter.",
        "display_name": "Suppress Parameter Validation: Server Logging Advanced Configuration Snippet (Safety Valve)",
        "name": "role_config_suppression_log4j_safety_valve",
        "value": "false"
    },
    {
        "desc": "Specifies the name of the user that has read-write privileges when using password file based authentication for JMX access. JMX authentication must be enabled for this setting to take effect.",
        "display_name": "Name of User with Read-Write Access to the JMX Agent",
        "name": "jmx_passwd_file_readwrite_user",
        "value": "controlRole"
    },
    {
        "desc": "The port to monitor for leadership election",
        "display_name": "Election Port",
        "name": "electionPort",
        "value": "4181"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Rules to Extract Events from Log Files parameter.",
        "display_name": "Suppress Parameter Validation: Rules to Extract Events from Log Files",
        "name": "role_config_suppression_log_event_whitelist",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the CDH Version Validator configuration validator.",
        "display_name": "Suppress Configuration Validator: CDH Version Validator",
        "name": "role_config_suppression_cdh_version_validator",
        "value": "false"
    },
    {
        "desc": "Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
        "display_name": "Cgroup Memory Hard Limit",
        "name": "rm_memory_hard_limit",
        "value": "-1"
    },
    {
        "desc": "The health test thresholds on the swap memory usage of the process.",
        "display_name": "Process Swap Memory Thresholds",
        "name": "process_swap_memory_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"any\"}"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory.",
        "display_name": "Log Directory Free Space Monitoring Absolute Thresholds",
        "name": "log_directory_free_space_absolute_thresholds",
        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
    },
    {
        "desc": "The maximum number of concurrent connections (at the socket level) that a single client, identified by the IP address, may make to a single member of the ZooKeeper ensemble. This setting is used to prevent certain classes of DoS attacks, including file descriptor exhaustion. To remove the limit on concurrent connections, set this value to 0.",
        "display_name": "Maximum Client Connections",
        "name": "maxClientCnxns",
        "value": "60"
    },
    {
        "desc": "If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value.",
        "display_name": "Maximum Process File Descriptors",
        "name": "rlimit_fds",
        "value": null
    },
    {
        "desc": "These arguments will be passed as part of the Java command line. Commonly, garbage collection flags, PermGen, or extra debugging flags would be passed here.",
        "display_name": "Java Configuration Options for Zookeeper Server",
        "name": "zk_server_java_opts",
        "value": ""
    },
    {
        "desc": "Whether to suppress the results of the Maximum Request Latency heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Maximum Request Latency",
        "name": "role_health_suppression_zookeeper_server_max_latency",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the Unexpected Exits heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Unexpected Exits",
        "name": "role_health_suppression_zookeeper_server_unexpected_exits",
        "value": "false"
    },
    {
        "desc": "The period to review when computing the moving average of garbage collection time.",
        "display_name": "Garbage Collection Duration Monitoring Period",
        "name": "zookeeper_server_gc_duration_window",
        "value": "5"
    },
    {
        "desc": "Specifies the password of the user that has read-write privileges when using password file based authentication for JMX access. JMX authentication must be enabled for this setting to take effect.",
        "display_name": "Password of user with read-write access to the JMX agent",
        "name": "jmx_passwd_file_readwrite_user_password",
        "value": "CONTROL"
    },
    {
        "desc": "Enables the JMX agent on the ZooKeeper server. Turning this off on any of the ZooKeeper servers that are part of a service will prevent Cloudera Manager from being able to monitor that server and may affect the monitoring provided on the entire service.",
        "display_name": "Enable JMX Agent",
        "name": "enable_jmx_agent",
        "value": "true"
    },
    {
        "desc": "Whether to suppress the results of the Process Status heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Process Status",
        "name": "role_health_suppression_zookeeper_server_scm_health",
        "value": "false"
    },
    {
        "desc": "Path to directory where heap dumps are generated when java.lang.OutOfMemoryError error is thrown. This directory is automatically created if it does not exist. If this directory already exists, role user must have write access to this directory. If this directory is shared among multiple roles, it should have 1777 permissions. The heap dump files are created with 600 permissions and are owned by the role user. The amount of free space in this directory should be greater than the maximum Java Process heap size configured for this role.",
        "display_name": "Heap Dump Directory",
        "name": "oom_heap_dump_dir",
        "value": "/tmp"
    },
    {
        "desc": "The frequency with which stacks are collected.",
        "display_name": "Stacks Collection Frequency",
        "name": "stacks_collection_frequency",
        "value": "5.0"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's Transaction Log Directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Transaction Log Directory Free Space Monitoring Absolute Thresholds setting is configured.",
        "display_name": "Transaction Log Directory Free Space Monitoring Percentage Thresholds",
        "name": "zookeeper_server_data_log_directory_free_space_percentage_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Data Directory parameter.",
        "display_name": "Suppress Parameter Validation: Data Directory",
        "name": "role_config_suppression_datadir",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the Outstanding Requests heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Outstanding Requests",
        "name": "role_health_suppression_zookeeper_server_outstanding_requests",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Name of User with Read-Only access to the JMX Agent parameter.",
        "display_name": "Suppress Parameter Validation: Name of User with Read-Only access to the JMX Agent",
        "name": "role_config_suppression_jmx_passwd_file_readonly_user",
        "value": "false"
    },
    {
        "desc": "The health test thresholds for the weighted average time spent in Java garbage collection. Specified as a percentage of elapsed wall clock time.",
        "display_name": "Garbage Collection Duration Thresholds",
        "name": "zookeeper_server_gc_duration_thresholds",
        "value": "{\"critical\":\"60.0\",\"warning\":\"30.0\"}"
    },
    {
        "desc": "For advanced use only, a string to be inserted into <strong>log4j.properties</strong> for this role only.",
        "display_name": "Server Logging Advanced Configuration Snippet (Safety Valve)",
        "name": "log4j_safety_valve",
        "value": null
    },
    {
        "desc": "Maximum size in bytes for the Java Process heap memory.  Passed to Java -Xmx.",
        "display_name": "Java Heap Size of ZooKeeper Server in Bytes",
        "name": "zookeeper_server_java_heapsize",
        "value": "1073741824"
    },
    {
        "desc": "The maximum number of rolled log files to keep for Server logs.  Typically used by log4j or logback.",
        "display_name": "Server Maximum Log File Backups",
        "name": "max_log_backup_index",
        "value": "10"
    },
    {
        "desc": "Whether to suppress the results of the Log Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Log Directory Free Space",
        "name": "role_health_suppression_zookeeper_server_log_directory_free_space",
        "value": "false"
    },
    {
        "desc": "Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
        "display_name": "Cgroup Memory Soft Limit",
        "name": "rm_memory_soft_limit",
        "value": "-1"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's Data Directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Data Directory Free Space Monitoring Absolute Thresholds setting is configured.",
        "display_name": "Data Directory Free Space Monitoring Percentage Thresholds",
        "name": "zookeeper_server_data_directory_free_space_percentage_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "Cloudera Manager agent monitors each service and each of its role by publishing metrics to the Cloudera Manager Service Monitor. Setting it to false will stop Cloudera Manager agent from publishing any metric for corresponding service/roles. This is usually helpful for services that generate large amount of metrics which Service Monitor is not able to process.",
        "display_name": "Enable Metric Collection",
        "name": "process_should_monitor",
        "value": "true"
    },
    {
        "desc": "The period to review when computing the moving average of the connection count. Specified in minutes.",
        "display_name": "ZooKeeper Server Connection Count Monitoring Period",
        "name": "zookeeper_server_connection_count_window",
        "value": "3"
    },
    {
        "desc": "When computing the overall Server health, consider the host's health.",
        "display_name": "Server Host Health Test",
        "name": "zookeeper_server_host_health_enabled",
        "value": "true"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Role Triggers parameter.",
        "display_name": "Suppress Parameter Validation: Role Triggers",
        "name": "role_config_suppression_role_triggers",
        "value": "false"
    },
    {
        "desc": "When set, a SIGKILL signal is sent to the role process when java.lang.OutOfMemoryError is thrown.",
        "display_name": "Kill When Out of Memory",
        "name": "oom_sigkill_enabled",
        "value": "true"
    },
    {
        "desc": "The maximum session timeout, in milliseconds, that the ZooKeeper Server will allow the client to negotiate",
        "display_name": "Maximum Session Timeout",
        "name": "maxSessionTimeout",
        "value": "40000"
    },
    {
        "desc": "When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold",
        "display_name": "Enable Health Alerts for this Role",
        "name": "enable_alerts",
        "value": "true"
    },
    {
        "desc": "The directory in which stacks logs are placed. If not set, stacks are logged into a <code>stacks</code> subdirectory of the role's log directory.",
        "display_name": "Stacks Collection Directory",
        "name": "stacks_collection_directory",
        "value": null
    },
    {
        "desc": "Whether to suppress the results of the Transaction Log Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Transaction Log Directory Free Space",
        "name": "role_health_suppression_zookeeper_server_data_log_directory_free_space",
        "value": "false"
    },
    {
        "desc": "Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager.",
        "display_name": "Cgroup I/O Weight",
        "name": "rm_io_weight",
        "value": "500"
    },
    {
        "desc": "Whether to suppress the results of the Data Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Data Directory Free Space",
        "name": "role_health_suppression_zookeeper_server_data_directory_free_space",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the Connection Count heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Connection Count",
        "name": "role_health_suppression_zookeeper_server_connection_count",
        "value": "false"
    }
]