VMware Aria Operations에서 지원되는 애플리케이션 서비스 및 사용자 지정 모니터링 플러그인의 경우 반드시 따라야 하는 구성 세부 정보가 있습니다.

표 1. 지원되는 애플리케이션 서비스에 대한 구성 세부 정보
지원되는 애플리케이션 서비스에 대한 구성 세부 정보
Active Directory
ActiveMQ
Apache HTTPD
Cassandra
Hyper-V
Java 플러그인
구성 세부 정보는 다음과 같습니다.
[[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"]
JBoss 서버
Microsoft IIS
Microsoft SQL Server
구성 세부 정보는 다음과 같습니다.
[[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
구성 세부 정보는 다음과 같습니다.
[[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
SharePoint Server
Tomcat 서버
Oracle WebLogic
WebSphere
표 2. 사용자 지정 모니터링 플러그인에 대한 구성 세부 정보
Ping 확인

구성 세부 정보는 다음과 같습니다.

[[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 = ""
TCP 검사

구성 세부 정보는 다음과 같습니다.

[[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"
HTTP 검사

구성 세부 정보는 다음과 같습니다.

# 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"
사용자 지정 스크립트

구성 세부 정보는 다음과 같습니다.

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"
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"
Linux 프로세스

구성 세부 정보는 다음과 같습니다(정규식 사용).

# 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!#"
구성 세부 정보는 다음과 같습니다(실행 파일 이름 사용).
# 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"
구성 세부 정보는 다음과 같습니다(프로세스 ID 사용).
# 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"
Windows 서비스

구성 세부 정보는 다음과 같습니다(실행 파일 이름 사용).

# 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"