Pour les services applicatifs et les plug-ins de surveillance personnalisés pris en charge par VMware Aria Operations, vous devez respecter certains détails de configuration.

Tableau 1. Détails de la configuration pour les services applicatifs pris en charge
Détails de la configuration pour les services applicatifs pris en charge
Active Directory
ActiveMQ
Apache HTTPD
Cassandra
Hyper-V
Plug-in Java
Voici les détails de configuration :
[[inputs.jolokia2_agent]]
  # Prefix to attach to the measurement name
  name_prefix = "java."
  # Add agents URLs to query
  urls = ["http://localhost:8080/jolokia"]
  #username and password are mandatory for Jolokia 1.6 or later
  #username = <jolokia role username>
  #password = <jolokia role password>
  # response_timeout = "5s"
  ## Optional TLS config
  # tls_ca   = "/var/private/ca.pem"
  # tls_cert = "/var/private/client.pem"
  # tls_key  = "/var/private/client-key.pem"
  # insecure_skip_verify = false
  ### JVM Generic
  [[inputs.jolokia2_agent.metric]]
    name  = "OperatingSystem"
    mbean = "java.lang:type=OperatingSystem"
    paths = ["ProcessCpuLoad","SystemLoadAverage","SystemCpuLoad"]
  [[inputs.jolokia2_agent.metric]]
    name  = "jvm_runtime"
    mbean = "java.lang:type=Runtime"
    paths = ["Uptime"]
  [[inputs.jolokia2_agent.metric]]
    name  = "jvm_memory"
    mbean = "java.lang:type=Memory"
    paths = ["HeapMemoryUsage", "NonHeapMemoryUsage", "ObjectPendingFinalizationCount"]
  [[inputs.jolokia2_agent.metric]]
    name     = "jvm_garbage_collector"
    mbean    = "java.lang:name=*,type=GarbageCollector"
    paths    = ["CollectionTime", "CollectionCount"]
    tag_keys = ["name"]
  [[inputs.jolokia2_agent.metric]]
    name       = "jvm_memory_pool"
    mbean      = "java.lang:name=*,type=MemoryPool"
    paths      = ["Usage", "PeakUsage", "CollectionUsage"]
    tag_keys   = ["name"]
    tag_prefix = "pool_"
  ### TOMCAT
  [[inputs.jolokia2_agent.metric]]
    name     = "GlobalRequestProcessor"
    mbean    = "Catalina:name=*,type=GlobalRequestProcessor"
    paths    = ["requestCount","bytesReceived","bytesSent","processingTime","errorCount"]
    tag_keys = ["name"]
  [[inputs.jolokia2_agent.metric]]
    name     = "JspMonitor"
    mbean    = "Catalina:J2EEApplication=*,J2EEServer=*,WebModule=*,name=jsp,type=JspMonitor"
    paths    = ["jspReloadCount","jspCount","jspUnloadCount"]
    tag_keys = ["J2EEApplication","J2EEServer","WebModule"]
  [[inputs.jolokia2_agent.metric]]
    name     = "ThreadPool"
    mbean    = "Catalina:name=*,type=ThreadPool"
    paths    = ["maxThreads","currentThreadCount","currentThreadsBusy"]
    tag_keys = ["name"]
  [[inputs.jolokia2_agent.metric]]
    name     = "Servlet"
    mbean    = "Catalina:J2EEApplication=*,J2EEServer=*,WebModule=*,j2eeType=Servlet,name=*"
    paths    = ["processingTime","errorCount","requestCount"]
    tag_keys = ["name","J2EEApplication","J2EEServer","WebModule"]
  [[inputs.jolokia2_agent.metric]]
    name     = "Cache"
    mbean    = "Catalina:context=*,host=*,name=Cache,type=WebResourceRoot"
    paths    = ["hitCount","lookupCount"]
    tag_keys = ["context","host"]
Serveur JBoss
Microsoft IIS
Microsoft SQL Server
Voici les détails de configuration :
[[inputs.sqlserver]]
   name_prefix = "MSSQL."

       #servers = [
       #"Server=<servername>;Port=1433;User Id=telegraf;Password=<mystrongpassword from step 2>;app name=telegraf;log=1;",
       #"Server=<servername>;Port=1433;User Id=telegraf;Password=<mystrongpassword from step 2>;app name=telegraf;log=1;"
      #]
       servers = [
        "Server=localhost;Port=1433;User Id=sa;Password=Password;app name=telegraf;log=1;"
         ]
   
   namepass = ["Rows*writes*bytes*sec*", "Rows*reads*bytes*sec*", "Rows*writes*sec*", "Rows*reads*sec*", "Query*User*counter*", "Buffer*cache*hit*ratio*", "Page*life*expectancy*", "Page*lookups*sec*", "Page*reads*sec*", "Page*writes*sec*", "Lazy*writes*sec*", "Checkpoint*pages*sec*", "Log*Apply*Ready*Queue*", "Data*File*s*Size*KB*", "Log*File*s*", "XTP*Memory*Used*KB*", "Log*Flushes*sec*", "Write*Transactions*sec*", "Transactions*sec*", "Log*Flush*Wait*Time*", "Active*Transactions*", "Log*Bytes*Flushed*sec*", "Processes*blocked*", "User*Connections*", "Logins*sec*", "Logouts*sec*", "Active*Temp*Tables*", "Temp*Tables*Creation*Rate*", "Batch*Requests*sec*", "SQL*Compilations*sec*", "SQL*Re*Compilations*sec", "Stored*Procedures*Invoked*sec*", "Target*Server*Memory*KB*", "Total*Server*Memory*KB*", "SQL*Cache*Memory*KB*", "Log*Pool*Memory*KB*", "Connection*Memory*KB*", "Lock*Memory*KB*", "Memory*Grants*Pending*", "Active*memory*grant*amount*KB*", "Disk*Read*Bytes*sec*", "Disk*Read*IO*Throttled*sec*", "Disk*Read*IO*sec*", "Disk*Write*Bytes*sec*", "Disk*Write*IO*Throttled*sec*", "Used*memory*KB*", "CPU*usage*", "Free*Space*in*tempdb*KB*", "Version*Store*Size*KB*", "Transactions*", "Blocked*tasks*", "Active*requests*", "Queued*requests*", "Requests*completed*sec*", "Number*of*Deadlocks*sec*", "Lock*Wait*Time*ms*", "Lock*Waits*sec*", "Lock*Requests*sec*", "Average*Wait*Time*ms*", "Index*Searches*sec*", "Page*Splits*sec*", "Full*Scans*sec*", "CPU*", "Wait*time*ms*", "Wait*tasks*", "State*", "Recovery*Model*"]
MongoDB
MS Exchange Server
MySQL
NGINX
NTPD
Voici les détails de configuration :
[[inputs.ntpq]]
     name_prefix = “ntpd.”
     ## If false, set the -n ntpq flag. Can reduce metric gather times.
     dns_lookup = tr
OracleDB
PostgreSQL
Pivotal
RabbitMQ
Riak
Serveur SharePoint
Serveur Tomcat
Oracle WebLogic
WebSphere
Tableau 2. Détails de configuration des plug-ins de surveillance personnalisés
Contrôle de test ping

Voici les détails de configuration :

[[inputs.ping]]
## Hosts to send ping packets to.
urls = [www.vmware.com]

## Number of ping packets to send per interval.  Corresponds to the "-c"
## option of the ping command.
# count = 1

## Time to wait between sending ping packets in seconds.  Operates like the
## "-i" option of the ping command.
# ping_interval = 1.0

## If set, the time to wait for a ping response in seconds.  Operates like
## the "-W" option of the ping command.
# timeout = 1.0

## If set, the total ping deadline, in seconds.  Operates like the -w option
## of the ping command.
# deadline = 10

## Interface or source address to send ping from.  Operates like the -I or -S
## option of the ping command.
# interface = ""
Vérification TCP

Voici les détails de configuration :

[[inputs.net_response]]
name_override="netresponse"
## Server address (default localhost)
address = "10.10.10.10:443"
protocol = "tcp"

## Set timeout
# timeout = "1s"

## Set read timeout (only used if expecting a response)
# read_timeout = "1s"
Vérification HTTP

Voici les détails de configuration :

# HTTP/HTTPS request given an address a method and a timeout
[[inputs.http_response]]
name_override="httpresponse"
## List of url to query.
address = https://10.10.10.10/suite-api/api/adapters
method = "GET"

## Set http_proxy.
## Telegraf uses the system wide proxy settings if it's is not set.
# http_proxy = http://localhost:8888

## Set response_timeout (default 5 seconds)
# response_timeout = "5s"

## Whether to follow redirects from the server (defaults to false)
# follow_redirects = false

## Optional name of the field that will contain the body of the response.
## By default it is set to an empty String indicating that the body's content won't be added
# response_body_field = ''

## Optional substring or regex match in body of the response (case sensitive)
# response_string_match = "\"service_status\": \"up\""
# response_string_match = "ok"
# response_string_match = "\".*_status\".?:.?\"up\""


## Optional SSL Config
# ssl_ca = "/etc/telegraf/ca.pem"
# ssl_cert = "/etc/telegraf/cert.pem"
# ssl_key = "/etc/telegraf/key.pem"


## Use SSL but skip chain & host verification
insecure_skip_verify = true

## HTTP Request Headers (all values must be strings)
[inputs.http_response.headers]
accept = "application/json" Authorization = "OpsToken a16f7a2b-b033-48bc-9827-2daf8e205537::ec11ee5f-8623-4558-a904-8b4ea3f6f47d"
Scripts personnalisés

Voici les détails de configuration :

Pour les plates-formes Linux :
# Read metrics from command that can output to stdout
[[inputs.exec]]
name_prefix = "executescript."
name_override = "output"
# commands = ["<prefix> <file path> <argument>"]
commands = ["python /opt/scripts/argument.py 10"]

## Data format to consume.
data_format = "value"
data_type = "integer"

## Timeout for each command to complete.
timeout = "300s"

[inputs.exec.tags]

file_path = "/opt/scripts/argument.py"
script_name = "my-py-script on Centos7-VM"
Pour les plates-formes Windows
# Read metrics from command that can output to stdout
[[inputs.exec]]

name_prefix = "executescript."
name_override = "output"

# commands = ["<prefix> <file path> <argument>"]
commands = ["Powershell -File C:\\\\VMware\\\\Scripts\\\\Arguments.ps1 vmtoolsd"]

## Data format to consume.
data_format = "value"
data_type = "integer"

## Timeout for each command to complete.
timeout = "300s"

[inputs.exec.tags]

file_path = "C:\\VMware\\Scripts\\Arguments.ps1"
script_name = "my-script-for-vmtool on Windows2022-PhysicalServer"
Processus Linux

Voici les détails de la configuration (via une expression régulière) :

# Monitor process cpu and memory usage
[[inputs.procstat]]
  ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
  pattern = ".*ucp-.*"

  fieldpass =  ["running", "cpu_usage", "memory_usage"]
  [inputs.procstat.tags]
    search_pattern = "regex_.#!AsTeRiSk!#ucp-.#!AsTeRiSk!#"
Voici les détails de la configuration (via le nom de l'exécutable) :
# Monitor process cpu and memory usage
[[inputs.procstat]]
  ## executable name (ie, pgrep <exe>)
  exe = "top"
  fieldpass =  ["running", "cpu_usage", "memory_usage"]
  [inputs.procstat.tags]

    search_pattern = "exec_top"
Voici les détails de la configuration (via l'ID de processus) :
# Monitor process cpu and memory usage
[[inputs.procstat]]
  ## PID file to monitor process
  pid_file = "/var/run/vmtoolsd.pid"

  fieldpass =  ["running", "cpu_usage", "memory_usage"]
  [inputs.procstat.tags]

    search_pattern = "pidfile_/var/run/vmtoolsd.pid"
Service Windows

Voici les détails de la configuration (via le nom de l'exécutable) :

# Monitor process cpu and memory usage
[[inputs.procstat]]

## Windows service name
win_service = "Dhcp"
pid_finder = "native"

fieldpass =  ["running", "cpu_usage", "memory_usage"]
[inputs.procstat.tags]
search_pattern = "exec_Dhcp"

[[inputs.win_services]]
service_names = ["Dhcp"]
name_override="procstat"

[inputs.win_services.tags]
search_pattern = "exec_Dhcp"