For application services and custom monitoring plugins supported by VMware Aria Operations , there are configuration details that you must follow.
Configuration Details for Supported Application Services |
---|
Active Directory |
ActiveMQ |
Apache HTTPD |
Cassandra |
Hyper-V |
Java Plugin
Here are the configuration details:
[[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 Server |
Microsoft IIS |
Microsoft SQL Server
Here are the configuration details:
[[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
Here are the configuration details:
[[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 Server |
Oracle WebLogic |
WebSphere |
Ping check Here are the configuration details: [[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 check Here are the configuration details: [[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 check Here are the configuration details: # 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" |
Custom scripts Here are the configuration details:
For Linux Platforms:
# 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"
For Windows Platforms:
# 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 Process Here are the configuration details (via regular expression): # 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!#"
Here are the configuration details (via executable name):
# 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"
Here are the configuration details (via process 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 Service Here are the configuration details (via executable name): # 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" |