Platform Monitor OOTB configurations
Out-of-the-box (OOTB) configuration of Platform Monitor is available after the installation of the WorkFusion platform (on-premise-flat).
Directory structure of OOTB files
- conf
- apm
- master.yml
- mongodb-apm.yml
- rpa.yml
- app
- app.yml
- bot-manager.yml
- control-tower.yml
- nginx.yml
- nlp-uima.yml
- service-wfbi.yml
- workspace.yml
- db
- db.yml
- mongodb-ocr.yml
- mongodb-rpa.yml
- mysql.yml
- nexus.yml
- postgres.yml
- riak.yml
- solr.yml
- vault.yml
- ocr
- ocr.yml
- rest.yml
- worker.yml
- license.yml
- common
- agent.yml
- auth.yml
- system
- linux.yml
- notifications.yml
- apm
APM server configuration
master.yml
This configuration file describes general configuration of the Platform Monitor Master.
The file consists of four main parts:
- A server port where Platform Monitor is deployed:
server.port: 10101
- A link to datasource (MongoDB) where Platform Monitor reads metrics:
metrics.history.source: MongoDb
- Information about datasource where Platform Monitor saves metrics:
reporter:
mongo:
enabled: true
source: MongoDb
- Checks which need for deleting older information from Slave Platform Monitors:
checks:
- id: agent.cleanup
type: custom
schedule: 20
evaluate:
- id: agent.alive
- id: agent.check
type: custom
schedule: 20
evaluate:
- { id: agent.validate, parameters: { ns: app }, metric_name: app }
- { id: agent.validate, parameters: { ns: db }, metric_name: db }
- { id: agent.validate, parameters: { ns: ocr }, metric_name: ocr }
- { id: agent.validate, parameters: { ns: ml }, metric_name: ml }
mongodb-apm.yml
This configuration file describes configuration of mongo datasource and check for it.
This file consists of three main parts.
- Enviroment variables which need to create connection to MongoDB. Values of variables are not real. YAML file will be correct with them.
environment:
mongodb_apm_hostname: localhost
mongodb_apm_database: wfagent
mongodb_apm_port: 13017
mongodb_apm_user: wfagent
mongodb_apm_password: password
mongodb_apm_read_only_user: wfagent
mongodb_apm_read_only_password: password
- A command for restarting MongoDb:
commands:
- id: restart_mongo_apm
type: command
proxy: true
expression: "%install_dir%/apps/mongodb/mongod.init restart"
- Checks which need to get current status of database also mongo server:
checks:
- id: mongodb.db.apm
type: mongo
expression: "{ dbStats: 1 }"
source: mongodb_apm_datasource
evaluate:
- { id: mongo.object, arg: dataSize, type: double, metric_name: size }
- { id: mongo.object, arg: ok, type: double, metric_name: ok }
- id: mongodb.server.apm
type: mongo
expression: "{ serverStatus: 1 }"
source: mongodb_apm_datasource
evaluate:
- { id: mongo.object, arg: ok, type: double, metric_name: ok }
- { id: mongo.object, arg: version, type: string, metric_name: version }
rpa.yml
This configuration file describes the recovery mode for RPA Hub. The recovery mode is a mechanism of bootstrapping of the RPA part.
We check our remote RPA Platform Monitor to know it is running or not.
If our remote Platform Monitor (Installed on Windows machine) doesn't
work Platform Monitor (Installed on Linux machine) will create RDP
session.
This session will be closed in 60 seconds. When user logs in remote
Platform Monitor will start.
This command is impossible to run from the UI.
server.port: 10101
modules.pmrpa:
credentials:
- id: rpahostname1
user: user
password: password
alerts:
- id: agent.rpa.%host%
triggers:
- { metric: agent.check.rpa.%host%.size, eq: 0 }
items: rpa.hubs
checks:
- id: agent.check.rpa.%host%
type: custom
schedule: 20
evaluate:
- { id: agent.validate, parameters: { ns: "%host%:10000" }, metric_name: "size" }
items: rpa.hubs
processes:
- id: xvfb
expression: "Xvfb :0 -ac"
commands:
- id: agent.%host%.start
type: command
expression: timeout 10 rdesktop -0 -u %user% %host% -p '%password%'
credentials: "%host%"
schedule: 120
alerts: [ agent.rpa.%host% ]
items: rpa.hubs
Application server configuration
app.yml
This configuration file describes general configuration of application
platform monitor.
This configuration creates group for components.
groups:
- { id: app, name: "APP Components" }
bot-manager.yml
This configuration file describes bot manager configuration of application platform monitor.
This file consists of four main parts:
- Information about component and alert that are connected with Bot Manager:
components:
- { id: rpa.gr, name: "Bot Manager", group: app, alerts: [ rpa.gr ] }
alerts:
- id: rpa.gr
triggers:
- { metric: rpa.gr.hubs.status, neq: 0, message: "Bot Manager web check failed" }
- { metric: rpa.gr.hubs.http.code, neq: 200, message: "Bot Manager has non-200 response code" }
- { metric: rpa.gr.hc.status, neq: 0, message: "Bot Manager Healthcheck failed" }
- { metric: rpa.gr.hc.http.code, neq: 200, message: "Bot Manager Healthcheck API has non-200 response code" }
- { metric: rpa.gr.hc.health.check.errors, neq: 0, message: "Healthcheck API response contains errors", type: partial_outage }
- { metric: rpa.gr.hc.health.check.warnings, neq: 0, message: "Healthcheck API response contains warnings", type: partial_outage }
- A command for restarting Bot Manager:
commands:
- id: restart.bot.manager
type: command
proxy: true
expression: "%install_dir%/apps/rpa_manager/rpa_manager restart"
- Checks:
checks:
- id: rpa.gr.hubs
description: "Generate all hubs from SG"
type: http
expression: "/api/selenograph/hubs"
source: RpaGridRouter
evaluate:
- { id: rpa.manager.hubs, arg: rpa.hubs }
- id: rpa.gr.host.%host%
type: http
expression: /api/metrics/hub/%host%
description: "Get hub's metrics from SG"
source: RpaGridRouter
ns: "%host%:%port%"
evaluate:
- { id: http.json, arg: "register_all" }
items: rpa.hubs
- id: rpa.gr.node.%origin%.%port%
type: http
expression: /api/metrics/node/%origin%:%port%
description: "Get nodes's metrics from SG"
source: RpaGridRouter
ns: "%origin%:%port%"
evaluate:
- { id: http.json, arg: "register_all" }
items: nodes
- Health checks:
checks:
- id: rpa.gr.hc
description: "Get Bot Manager health check info"
type: http-json
source: RpaGridRouter
expression: "/api/healthcheck"
evaluate:
- { id: health.check, arg: rpa.gr }
control-tower.yml
This configuration file describes Control Tower configuration of the Platform Monitor application.
This file consists of four main parts:
- Information about component and alert that are connected with Control Tower:
components:
- { id: ct, name: Control Tower, group: app, alerts: [ ct ] }
alerts:
- id: ct
triggers:
- { metric: ct.login.status, neq: 0, message: "Web check failed" }
- { metric: ct.login.http.code, neq: 200, message: "Bad response code" }
- { metric: ct.hc.status, neq: 0, message: "Healthcheck API call failed" }
- { metric: ct.hc.http.code, neq: 200, message: "Healthcheck API has bad response code" }
- { metric: ct.hc.health.check.errors, neq: 0, message: "Healthcheck API response contains errors", type: partial_outage }
- { metric: ct.hc.health.check.warnings, neq: 0, message: "Healthcheck API response contains warnings", type: partial_outage }
- A command for restarting Control Tower:
commands:
- id: restart.control.tower
type: command
proxy: true
expression: "%install_dir%/apps/webapps/tomcat.init restart"
- A check:
- id: ct.login
type: http
expression: "/%wf_art_name%/login"
source: Nginx
- Health checks:
checks:
- id: ct.hc
description: "Get ControlTower health check info"
type: http-json
source: Nginx
expression: "/workfusion/api/v1/health-check?checkExternalComponents=true"
evaluate:
- { id: health.check, arg: ct }
nginx.yml
This configuration file describes nginx configuration of the Platform Monitor application.
This file consists of three main parts:
- Information about component and alert that are connected with Nginx:
components:
- { id: nginx, name: Nginx, group: app, description: "Nginx component", alerts: [ nginx ] }
alerts:
- id: nginx
triggers:
- { metric: nginx.monitoring.status, neq: 0, message: "Problem with nginx connection" }
- A command for restarting Nginx:
commands:
- id: restart.nginx
type: command
proxy: true
expression: "%install_dir%/apps/nginx/nginx.init restart"
- A check:
checks:
- id: nginx.monitoring
type: tcp
source: Nginx
nlp-uima.yml
This configuration file describes nlp uima rest configuration of the Platform Monitor application.
This file consists of three main parts:
- Information about component and alert that are connected with nlp uima rest:
components:
- { id: nlp.uima.rest, name: "Nlp Uima Rest", group: app, description: "Version %nlp.uima.rest.version%", alerts: [ nlp.uima.rest ] }
alerts:
- id: nlp.uima.rest
triggers:
- { metric: nlp.uima.rest.status, neq: 0, message: "Web check failed" }
- { metric: nlp.uima.rest.http.code, neq: 200, message: "Bad response code" }
- A command for restarting nlp uima rest:
commands:
- id: restart.nlp.uima
type: command
proxy: true
expression: "%install_dir%/apps/nlp-uima-rest/tomcat-nlp-uima-rest.init restart"
- A check:
checks:
- id: nlp.uima.rest
type: http
expression: "/nlp-uima-rest/meta-model/project-info"
source: Nginx
evaluate:
- { id: http.json, arg: version, type: string, metric_name: version }
service-wfbi.yml
This configuration file describes the service WFBI configuration of the Platform Monitor application.
This file consists of three main parts:
- Information about component and alert that are connected with service WFBI:
components:
- { id: service.wfbi, name: "Service WFBI", group: app, description: "Version %service.wfbi.version%", alerts: [ service.wfbi ] }
alerts:
- id: service.wfbi
triggers:
- { metric: service.wfbi.status, neq: 0, message: "Web check failed" }
- { metric: service.wfbi.http.code, neq: 200, message: "Bad response code" }
- A command for restarting service WFBI:
commands:
- id: restart.service.wfbi
type: command
proxy: true
expression: "%install_dir%/apps/webapps/tomcat.init restart"
- A check:
checks:
- id: service.wfbi
type: http
expression: "/service-wfbi/tableau/project-info"
source: Nginx
credentials: ServiceWfbi
evaluate:
- { id: http.json, arg: version, type: string, metric_name: version }
workspace.yml
This configuration file describes the WorkSpace configuration of the Platform Monitor application.
This file consists of four main parts:
- Information about component and alert that are connected with WorkSpace:
components:
- { id: ws, name: WorkSpace, group: app, alerts: [ ws ] }
- { id: ws.sandbox, name: WorkSpace Sandbox, group: app, alerts: [ ws.sandbox ] }
alerts:
- id: ws
triggers:
- { metric: ws.dashboard.status, neq: 0, message: "Web check failed" }
- { metric: ws.dashboard.http.code, neq: 200, message: "Bad response code" }
- { metric: ws.hc.status, neq: 0, message: "Healthcheck API call failed" }
- { metric: ws.hc.http.code, neq: 200, message: "Healthcheck API has bad response code" }
- { metric: ws.hc.health.check.errors, neq: 0, message: "Healthcheck API response contains errors", type: partial_outage }
- { metric: ws.hc.health.check.warnings, neq: 0, message: "Healthcheck API response contains warnings", type: partial_outage }
- id: ws.sandbox
triggers:
- { metric: ws.sandbox.dashboard.status, neq: 0, message: "Web check failed" }
- { metric: ws.sandbox.dashboard.http.code, neq: 200, message: "Bad response code" }
- { metric: ws.sandbox.hc.status, neq: 0, message: "Healthcheck API call failed" }
- { metric: ws.sandbox.hc.http.code, neq: 200, message: "Healthcheck API has bad response code" }
- { metric: ws.sandbox.hc.health.check.errors, neq: 0, message: "Healthcheck API response contains errors", type: partial_outage }
- { metric: ws.sandbox.hc.health.check.warnings, neq: 0, message: "Healthcheck API response contains warnings", type: partial_outage }
- A command for restarting WorkSpace:
commands:
- id: restart.workspace
type: command
proxy: true
expression: "%install_dir%/apps/webapps/tomcat.init restart"
- A check:
checks:
- id: ws.dashboard
type: http
expression: "/workspace/index.htm"
source: Nginx
- id: ws.hc
description: "Get Workspace health check info"
type: http-json
source: Nginx
expression: "/workspace/api/monitor/health-check"
evaluate:
- { id: health.check, arg: ws }
- id: ws.sandbox.dashboard
type: http
expression: "/workspace-sandbox/index.htm"
source: Nginx
- Health checks:
checks:
- id: ws.sandbox.hc
description: "Get Workspace Sandbox health check info"
type: http-json
source: Nginx
expression: "/workspace-sandbox/api/monitor/health-check"
evaluate:
- { id: health.check, arg: ws.sandbox }
Database server configuration
db.yml
This configuration file describes general configuration of the Platform Monitor database. This configuration creates a group for components.
groups:
- { id: db, name: "DB Components" }
mongodb-ocr.yml
This configuration file describes a configuration of mongo datasource and check for it.
This file consists of three main parts:
- Enviroment variables that need to create a connection to MongoDB. Values of variables are not real. A YAML file will be correct with them.
environment:
mongodb_ocr_hostname: localhost
mongodb_ocr_database: wfagent
mongodb_ocr_admin_database: admin
mongodb_ocr_port: 13017
mongodb_ocr_read_only_user: wfagent
mongodb_ocr_read_only_password: password
- A command for restarting MongoDb:
commands:
- id: restart_mongo_ocr
type: command
proxy: true
expression: "%install_dir%/apps/mongodb/mongod.init restart"
- Checks that need to get a current status of database also mongo server:
checks:
- id: mongodb.db.ocr
type: mongo
expression: "{ dbStats: 1 }"
source: mongodb.ocr.datasource
evaluate:
- { id: mongo.object, arg: dataSize, type: double, metric_name: size }
- { id: mongo.object, arg: ok, type: double, metric_name: ok }
- id: mongodb.server.ocr
type: mongo
expression: "{ serverStatus: 1 }"
source: mongodb.ocr.admin.datasource
evaluate:
- { id: mongo.object, arg: ok, type: double, metric_name: ok }
- { id: mongo.object, arg: version, type: string, metric_name: version }
mongodb-rpa.yml
This configuration file describes configuration of mongo datasource and check for it.
This file consists of three main parts:
- Enviroment variables that need to create a connection to MongoDB. Values of variables are not real. A YAML file will be correct with them.
environment:
mongodb_rpa_hostname: localhost
mongodb_rpa_database: wfagent
mongodb_rpa_admin_database: admin
mongodb_rpa_port: 13017
mongodb_rpa_read_only_user: wfagent
mongodb_rpa_read_only_password: password
- A command for restarting MongoDb:
commands:
- id: restart_mongo_rpa
type: command
proxy: true
expression: "%install_dir%/apps/mongodb/mongod.init restart"
- Checks that need to get a current status of database also mongo server:
checks:
- id: mongodb.db.rpa
type: mongo
expression: "{ dbStats: 1 }"
source: mongodb.rpa.datasource
evaluate:
- { id: mongo.object, arg: dataSize, type: double, metric_name: size }
- { id: mongo.object, arg: ok, type: double, metric_name: ok }
- id: mongodb.server.rpa
type: mongo
expression: "{ serverStatus: 1 }"
source: mongodb.rpa.admin.datasource
evaluate:
- { id: mongo.object, arg: ok, type: double, metric_name: ok }
- { id: mongo.object, arg: version, type: string, metric_name: version }
mysql.yml
This configuration file describes MySql configuration of the Platform Monitor database.
This file consists of three main parts:
- Information about component and alert that are connected with MySql:
components:
- { id: mysql, name: MySQL, group: db, description: "Version %mysql.query2.version%", alerts: [ mysql ] }
alerts:
- id: mysql
triggers:
- { metric: mysql.query1.status, neq: 0, message: "Problem with mysql query" }
- A command for restarting MySql:
commands:
- id: restart.mysql
type: command
proxy: true
expression: "%install_dir%/apps/mysql/mysql.init restart"
- Checks:
checks:
- id: mysql.query1
type: sql
expression: "select database() as db"
source: Mysql
evaluate:
- { id: sql.output, arg: db, type: string, metric_name: name }
- id: mysql.query2
type: sql
expression: "select version() as version"
source: Mysql
evaluate:
- { id: sql.output, arg: version, type: string, metric_name: version }
nexus.yml
This configuration file describes Nexus configuration of the Platform Monitor database.
This file consists of three main parts:
- Information about component and alert that are connected with Nexus:
components:
- { id: nexus, name: Nexus, group: db, description: "Nexus component", alerts: [ nexus ] }
alerts:
- id: nexus
triggers:
- { metric: nexus.monitoring.status, neq: 0, message: "Problem with nexus connection" }
- A command for restarting Nexus:
commands:
- id: restart.nexus
type: command
proxy: true
expression: "%install_dir%/apps/nexus/nexus/bin/nexus restart"
- Checks:
checks:
- id: nexus.monitoring
type: http
expression: "/nexus/service/local/status"
source: Nexus
parameters:
accept_type: "application/json"
evaluate:
- { id: http.json, arg: register_all }
postgres.yml
This configuration file describes PostgreSQL configuration of the Platform Monitor database.
This file consists of three main parts:
- Information about component and alert that are connected with PostgreSQL:
components:
- { id: postgres, name: PostgreSQL, group: db, description: "Version %postgres.query2.version%", alerts: [ postgres ] }
alerts:
- id: postgres
triggers:
- { metric: postgres.query1.status, neq: 0, message: "Problem with postgres query" }
- A command for restarting PostgreSQL:
commands:
- id: restart.postgres
type: command
proxy: true
expression: "%install_dir%/apps/pgsql/%postgres_version%/data/postgresql-%postgres_version%.init restart"
- Checks:
checks:
- id: postgres.query1
type: sql
expression: "select current_database() as db"
source: Postgres
evaluate:
- { id: sql.output, arg: db, type: string, metric_name: name }
- id: postgres.query2
type: sql
expression: "select version() as version"
source: Postgres
evaluate:
- { id: sql.output, arg: version, type: string, metric_name: version }
riak.yml
This configuration file describes Riak configuration of the Platform Monitor database.
This file consists of two main parts:
- Information about component and alert that are connected with Riak:
commands:
- id: restart.riak
type: command
proxy: true
expression: "%install_dir%/apps/s3emu/s3emu.init restart"
alerts:
- id: riak
triggers:
- { metric: riak.stats.status, neq: 0, message: "Web check failed" }
- { metric: riak.stats.http.code, neq: 200, message: "Bad response code" }
- { metric: riak.tcp.status, neq: 0, message: "Problem with riak.tcp check" }
- { metric: riak.tcp.listening, neq: 1, message: "No TCP port is listening" }
- { metric: stanchion.tcp.status, neq: 0, message: "Problem with stanchion.tcp check" }
- { metric: stanchion.tcp.listening, neq: 1, message: "No TCP port is listening" }
- { metric: riakcs.tcp.status, neq: 0, message: "Problem with riakcs.tcp check" }
- { metric: riakcs.tcp.listening, neq: 1, message: "No TCP port is listening" }
- Checks:
checks:
- id: riak.stats
type: http
expression: "/stats"
source: Riak
evaluate:
- { id: http.json, arg: "riak_core_version", type: string, metric_name: version }
- id: riak.tcp
type: tcp
source: RiakTcp
- id: stanchion.tcp
type: tcp
source: StanchionTcp
- id: riakcs.tcp
type: tcp
source: RiakCsTcp
- id: s3cmd.ls
type: command
expression: "%install_dir%/lib/s3cmd/s3cmd -c %install_dir%/apps/s3emu/etc/s3cfgfasttrack ls"
evaluate:
- { id: command.exit }
solr.yml
This configuration file describes Solr configuration of the Platform Monitor database.
This file consists of three main parts:
- Information about component and alert that are connected with Solr:
components:
- { id: solr, name: Solr, group: db, description: "Version %solr.version%", alerts: [ solr ] }
alerts:
- id: solr
triggers:
- { metric: solr.status, neq: 0, message: "Web check failed" }
- { metric: solr.http.code, neq: 200, message: "Bad response code" }
- A command for restarting Solr:
commands:
- id: restart.solr
type: command
proxy: true
expression: "%install_dir%/apps/solr/solr.init restart"
- Checks:
checks:
- id: solr
type: http
expression: "/solr/admin/info/system?wt=json"
source: Solr
evaluate:
- { id: http.json, arg: "lucene.solr-spec-version", type: string, metric_name: version }
vault.yml
This configuration file describes Vault configuration of the Platform Monitor database.
This file consists of three main parts:
- Information about component and alert that are connected with Vault:
components:
- { id: vault, name: Vault, group: db, description: "Vault component", alerts: [ vault ] }
alerts:
- id: vault
triggers:
- { metric: vault.monitoring.status, neq: 0, message: "Problem with vault connection" }
- A command for restarting Vault:
commands:
- id: restart.vault
type: command
proxy: true
expression: "%install_dir%/apps/vault/vault.init restart"
- Checks:
checks:
- id: vault.monitoring
type: tcp
source: Vault
OCR server configuration
ocr.yml
This configuration file describes general configuration of the Platform Monitor OCR.
This configuration creates a group for components:
groups:
- { id: ocr, name: "OCR Components" }
rest.yml
This configuration file describes ocr rest configuration of the Platform
Monitor OCR.
This file consists of four main parts:
- Information about component and alert that are connected with OCR rest:
components:
- { id: ocr.rest, name: OCR Rest, group: ocr, description: "Version %ocr.rest.info.version%", alerts: [ ocr.rest ] }
alerts:
- id: ocr.rest
triggers:
- { metric: ocr.rest.api.status, neq: 0, message: "OCR API check failed" }
- { metric: ocr.rest.api.time, gte: 20000, type: performance, message: "OCR API has long response time" }
- { metric: ocr.rest.api.http.code, neq: 200, message: "OCR API has non-200 response code" }
- { metric: ocr.hc.status, neq: 0, message: "OCR Healthcheck call failed " }
- { metric: ocr.hc.http.code, neq: 200, message: "OCR API has non-200 response code" }
- { metric: ocr.hc.health.check.errors, neq: 0, message: "OCR Healthcheck API response contains errors", type: partial_outage }
- { metric: ocr.hc.health.check.warnings, neq: 0, message: "OCR Healthcheck API response contains warnings", type: partial_outage }
- A command for restarting OCR rest:
commands:
- id: restart.ocr
type: command
proxy: true
expression: "%install_dir%/apps/ocr/ocr2.init restart"
- Checks:
checks:
- id: ocr.rest.api
type: http
expression: "/"
source: OcrRest
- id: ocr.rest.summary
type: http
expression: "/api/v1/cloud/summary"
source: OcrRest
- id: ocr.rest.info
type: http
expression: "/api/project-info"
source: OcrRest
evaluate:
- { id: http.json, arg: version, type: string, metric_name: version }
- id: ocr.rest.tasks
type: http
expression: "/api/v1/metrics/count?status=PROCESSING&period=1440"
source: OcrRest
evaluate:
- { id: http.response, type: int, metric_name: processing }
- Health checks:
checks:
- id: ocr.hc
description: "Get OCR health check info"
type: http-json
source: OcrRest
expression: "/api/v1/health-check"
evaluate:
- { id: health.check, arg: ocr.rest }
worker.yml
This configuration file describes ocr worker configuration of the Platform Monitor OCR.
This file consists of two main parts:
- Information about component and alert that are connected with an OCR worker:
components:
- { id: ocr.worker, name: OCR Worker, group: ocr, alerts: [ ocr.worker ] }
alerts:
- id: ocr.worker
triggers:
- { metric: ocr.worker.status, neq: 0, message: "Process check command failed" }
- { metric: ocr.worker.command.exit, neq: 0, message: "OCR worker process not found" }
- Checks:
checks:
- id: ocr.worker
type: command
expression: "pgrep -f ocr-worker-"
evaluate:
- { id: command.exit }
license.yml
This configuration file describes licence server configuration of the Platform Monitor OCR.
It's disabled by default.
Common configuration
agent.yml
This configuration file describes configuration for slave platform monitors (app, db, ocr).
This file consists of a check that needs to transfer data to the Platform Monitor master.
checks:
- id: pm.sync
type: sync
schedule: 20
source: PmMaster
credentials: ${environment.agent.credentials}
auth.yml
This configuration file describes auth configuration. Auth is enabled by default.
System configuration
linux.yml
This configuration file describes checks of the Platform Monitor Linux.
checks:
- id: server.disk
type: java
evaluate:
- { id: disk.space, arg: "/", metric_name: root }
- { id: disk.space, arg: "%install_dir%", metric_name: install }
- id: server.memory
type: command
expression: "cat /proc/meminfo"
evaluate:
- { id: table.value.index, arg: "0,MemTotal,1", metric_name: memtotal }
- { id: table.value.index, arg: "0,MemFree,1", metric_name: memfree }
- { id: table.value.index, arg: "0,Cached,1", metric_name: cached }
- { id: table.value.index, arg: "0,Buffers,1", metric_name: buffers }
- { id: table.value.index, arg: "0,SwapTotal,1", metric_name: swaptotal }
- { id: table.value.index, arg: "0,SwapFree,1", metric_name: swapfree }
- { id: expression, arg: "%memfree% + %cached% + %buffers%", metric_name: available }
- id: server.cpu.amount
type: command
expression: "lscpu"
evaluate:
- { id: table.value.index, arg: "0,CPU[(]s,1", metric_name: cpuamount }
- id: server.cpu.util
type: command
expression: "cat /proc/loadavg"
evaluate:
- { id: command.cpu.util, metric_name: load, type: double }