DB2 Monitoring
Prerequisites
- InfluxDB (the host is the same as Grafana)
- Separated Linux host
- Install and running telegraf
- Install DB2 Client
- Implement custom scripts
InfluxDB
新增 database
> create database db2_mon with duration 180d
> create user mon with password 'thisispassword'
> grant read on db2_mon to mon
mon 唯讀帳號是給 Grafana 的 datasource 使用。
Telegraf
建立新的設定檔
telegraf --input-filter exec --output-filter influxdb config > /etc/telegraf/telegraf-db2.conf
修改設定檔
[agent]
...
...
logfile = "/var/log/telegraf/telegraf-db2.log"
# Configuration for sending metrics to InfluxDB
[[outputs.influxdb]]
urls = ["http://10.10.2.209:8086"]
database = "db2_mon"
timeout = "0s"
username = "admin"
password = "Thispassword"
[[inputs.exec]]
interval = "300s"
## Commands array
#commands = [
# "/tmp/test.sh",
# "/usr/bin/mycollector --foo=bar",
# "/tmp/collect_*.sh"
#]
commands = ["sudo -u db2mon sh -c '/home/db2mon/bin/collect_db2.v2.sh -d dcdb -a b_dcdb -u dbuser -p dbpass'"]
## Timeout for each command to complete.
timeout = "5s"
## measurement name suffix (for separating different commands)
#name_suffix = "_mycollector"
## Data format to consume.
## Each data format has its own unique set of configuration options, read
## more about them here:
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
data_format = "influx"
[[inputs.exec]]
interval = "1h"
commands = ["sudo -u db2mon sh -c '/home/db2mon/bin/collect_db2x1h.sh -d dcdb -a b_dcdb -u dbuser -p dbpass'"]
timeout = "5s"
data_format = "influx"
### CENTDB
[[inputs.exec]]
interval = "300s"
commands = ["sudo -u db2mon sh -c '/home/db2mon/bin/collect_db2.v2.sh -d centdb -a b_centdb -u dbuser -p dbpass'"]
timeout = "5s"
data_format = "influx"
DB2 Client and custom scripts
Learning
Archive Log Monitor