___

___ ____ ______ _____________ _____ ___________ ___ ___ ___ ________ ___ _________ ________ ______________ ___ ________ ___ __ _________ ______ ______ __ _______ ___ ______ _______ ____ _ ______ ____ ___________ __ ________ ____ ______

___ ______ ____________ __ ___ _____________ _________ ____ ___ _____ _____ ________ ____ ___ ___ _______ ____ __ ___ __ _________ ______ ______ __ _______ ___ ______ _______ ____ _ ______ ____ ___________ __ ________ ____ _______ ____ __ _ ____ ________ ___________ __ ___ __________ ________

注: __ _______ ___ ____ ___ _____________ _________ _____ ______ _____________ __________ _____ __ ___ ___ _________ __ ___ ___ _____________ __ ___________ ____ ___ ______ ____________ __ _____________ _____ ___ ___ _______ _______ ____ ___ ____ _____ _______ __ _____ _ ___ ________ __ _____ _____ ___ _______ ___________

___ ___ ___ ___ _________ _______ _______ __ ___ ______ ______ ______ ___ ____ _________ _____ __ ___ __ ___ ________ ________

  • ____________________ ____________ ____ ______ _______ ___ __________ ___ ___________ ___ ___ _____ ___________ _____ ___ _______ __________ __ ___ _____ ___ ______ _____ __ _ ____ __ ____ __ ____ ___________ ________ _____ ___ _ ___________ _______ ____ ______ ________ __ ____ _________ __________ __ ___ _____ _______ ___ _______________________________ ___ ____ ___________ _____ ___ ___________ _______ ___ ___ ___ ___ ______ ________ ______ __ ___ ________ ____ __ ______ ___ _____ _____ __ ___ ___ ____ _________ ____

  • _____________________ _____ ______ ____ ___________ _______ ____________ _ ___________ ________ __ ______ _ ________ _____ ____ ______ ____ _______ _ _________ ________ ____ ___ __ ___ __ ________________________ ____ ____ ___ ____ ___ ____ ______ ____ _______ ___

  • __________________________ _____ ______ ____ ___________ _______ ____________ _ ___________ ________ __ ______ _ ________ __________ _______ ____ ______ ____ _______ _ _________ ________ ____ ___ __ ___ __ ________________________ ____ ____ ___ ____ ___ ____ ______ __ ____ _______ ___

___ ______ ________ _________ __ ___ ______ _______ __ ____ __ ____ ____ __ ______ _____________ ______ __ ________ ___ _________ ________

  • ______________________________ ____ ____ ___ _____ ____ _____ __ _________ ___ ___ ___________________________ _______ __ ______ ___ _________ _________

  • _____________________________________ ____ ____ ___ _____ ____ ______ __ _________ ___ ___ ___________________________ _______ __ ______ ___ _________ _________ ____ ________ ____ _________ __ ____ ________ ____ ______ __ _____ ___ ____ _______ ______ ____ ____ ______ ______ _______ ____ ____ _______ __ _____

________

インテグレーションを設定すると、これらの機能にアクセスできるようになります:

____________

このインテグレーションを導入するには、以下の手順に従ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. [設定] セクションの説明に従ってインテグレーションを設定します。

  3. Splunk Distribution of OpenTelemetry Collector を再起動します。

_____________

Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:

  1. Smart Agent レシーバーを設定ファイルに含めます。

  2. レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。

_______

__ ________ ____ ____________ ___ ___ _________ __ ____ _________ ______________

YAML
receivers:
  smartagent/jmx:
    type: jmx
    ...  # Additional config

_____ ___ ___ _______ __ ___ ___________________________________ _______ __ ____ _____________ _____

YAML
service:
  pipelines:
    metrics:
      receivers: [smartagent/jmx]

_____________ ________

___ _________ _____ _____ ___ _____________ _______ ___ ____ ____________

______

________

____

___________

____

__

______

____ ____ __ ______ __ __ ______________ __ ____ _______ ___ _

_________ _____

____

__

_______

____ ____ __ ______ __ __ ______________ __ ____ _______ ___ _

_________ _____ _________ __

__________

__

______

___ _______ ___ ___ ___ ___ _________ _________ __ _____ __ ____

__ ______ __ ____ ______ ____ ____ ___ ____ _____ _ ________ ___ ___ _________ ___________________________________________________ __ ___________ ____ ___ ____ ____ ____ __ _______ ___ _____ ________ ___ _______ ___ ____ __ __________ ___ _____ ________ ___ ______ __ __________________________________

____________

___

______

_ _______ ______ ______ ____ _________ ____ ______ ____ ___

_______ ___ ___ _________ ___ _______ ___ ___ ____ ___________ __ ___ __ _____ ____ _______ ___ ___ ___ ___ ______ ______ __ _ ________ ____ ___ _____ __ __ ____ ____ _________________________________ ___ ____ ___________ __ _____ ___ _______ _______ ___ ______________________________________________________________________________________________________ ___ ___ ___ ___ __ ________ __ ____ __ _____ ___ _ _____ __________

________

__

______

________ ___ ___ _______________ __ ___________

________

__

______

________ ___ ___ _______________ __ ___________

____________

__

______

___ ___ _____ ____ __ ________ __ ______ ______________ __

_________ __ ___ ______ ____

________________

__

______

___ ___ _____ ____ ________ __ _________

____________

__

______

___ ___ _____ _____ _________ ____

______________

__

______

___ _______ _____ ____ __ ___ ___ _______ __ _________

__________________

__

______

___ _____ _____ ____ ________ __ _________

_________________

__

______

_________ ___ ______ ________ ___ ___ __ ___________ ____ ____

_________ ___________ _______________ ___ ______________ ____ _____ _________________ ______ ____ ___________ ________________ ______________ ___ ___________ ___ _______________ ___ ___ ______________

_____

__

______

___ _____ __ ________ __ _______ ________________

___ _________ __ __ _______ ______ ______ ____ __________ ____ __ ___ ____ _________ __ ___ _________ ________ ______ ________

GROOVY
// Query the JMX endpoint for a single MBean.
ss = util.queryJMX("org.apache.cassandra.db:type=StorageService").first()

// Copied and modified from https://github.com/apache/cassandra
def parseFileSize(String value) {
    if (!value.matches("\\d+(\\.\\d+)? (GiB|KiB|MiB|TiB|bytes)")) {
        throw new IllegalArgumentException(
            String.format("value %s is not a valid human-readable file size", value));
    }
    if (value.endsWith(" TiB")) {
        return Math.round(Double.valueOf(value.replace(" TiB", "")) * 1e12);
    }
    else if (value.endsWith(" GiB")) {
        return Math.round(Double.valueOf(value.replace(" GiB", "")) * 1e9);
    }
    else if (value.endsWith(" KiB")) {
        return Math.round(Double.valueOf(value.replace(" KiB", "")) * 1e3);
    }
    else if (value.endsWith(" MiB")) {
        return Math.round(Double.valueOf(value.replace(" MiB", "")) * 1e6);
    }
    else if (value.endsWith(" bytes")) {
        return Math.round(Double.valueOf(value.replace(" bytes", "")));
    }
    else {
        throw new IllegalStateException(String.format("FileUtils.parseFileSize() reached an illegal state parsing %s", value));
    }
}

localEndpoint = ss.HostIdToEndpoint.get(ss.LocalHostId)
dims = [host_id: ss.LocalHostId, cluster_name: ss.ClusterName]

output.sendDatapoints([
    // Equivalent of "Up/Down" in the `nodetool status` output.
    // 1 = Live; 0 = Dead; -1 = Unknown
    util.makeGauge(
        "cassandra.status",
        ss.LiveNodes.contains(localEndpoint) ? 1 : (ss.DeadNodes.contains(localEndpoint) ? 0 : -1),
        dims),

    util.makeGauge(
        "cassandra.state",
        ss.JoiningNodes.contains(localEndpoint) ? 3 : (ss.LeavingNodes.contains(localEndpoint) ? 2 : 1),
        dims),

    util.makeGauge(
        "cassandra.load",
        parseFileSize(ss.LoadString),
        dims),

    util.makeGauge(
        "cassandra.ownership",
        ss.Ownership.get(InetAddress.getByName(localEndpoint)),
        dims)
    ])

____ ____ ____ ____ ______ __ _________ ______ ______ _____ __ __ _______ _ __________ ___ ________ __ ________ _______ ______ ____ ____ ___________ ___ _______ ________ _____

_______

_____ ___ __ _______ _________ ___ ____ ____________

_______________

If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.

Available to Splunk Observability Cloud customers

Available to prospective customers and free trial users

  • Ask a question and get answers through community support at Splunk Answers.

  • Join the Splunk community #observability Slack channel to communicate with customers, partners, and Splunk employees worldwide.