ACMS(Altibase Cluster Monitoring System) is a graphical monitoring system for ALTIBASE or mutiple ALTIBASEs.
It is built with open sources of InfluxDB, Telegraf, and Grafana.
1.Pull docker image (docker 이미지 pull)
2.Run shell script (shell 스크립트 수행)
Image repository: https://hub.docker.com/repository/docker/altibaseams/altiams
> docker pull altibaseams/altiams
> docker run --name influxDB_WITH_Grafana -d -p 8086:8086 -p 8083:8083 -p 3000:3000 -p 4000:4000 altibaseams/altiams
ODBC should be installed in advance.
http://docs.altibase.com/pages/viewpage.action?pageId=11698380
> git clone https://github.com/ALTIBASE/Altibase-Cluster-Monitoring-System.git
go to telegraf directory and modify influxdb uri,altibase uri,and port information.
(telegraf directory에 들어 가서 influxdb uri, altibase uri,port 정보를 맞춰서 수정 합니다.)
a. telegraf.conf
[[outputs.influxdb]] urls = ["http://127.0.0.1:8086"] =>http://ipinfluxdb:portinfluxdb
hostname = "nval02(receiver)"
[[inputs.altibase]] altibase_dsn = "Altiodbc" => ODBC setting
altibase_server = "127.0.0.1"
altibase_port = 43019
altibase_user = "sys"
altibase_password = "manager"
[[inputs.exec]] commands = [ "/home1/perf/work/ams/telegraf_altibase/checkdir.sh" ]
b. test.go
mysrv = flag.String("mysrv", "127.0.0.1", "altibase server ip")
mydb = flag.String("mydb", "mydb", "altibase database name")
myuser = flag.String("myuser", "sys", "altibase user name")
mypass = flag.String("mypass", "manager", "altibase password")
myport = flag.String("myport", "43019", "altibase port")
c. altibase.go
## specify connection string
altibase_dsn = "Altiodbc"
altibase_server = "127.0.0.1"
altibase_port = 43019
altibase_user = "sys"
altibase_password = "manager"
altibase_queryversion="V6"
altibase_queryfile="query.toml"
> nohup telegraf -config telegraf.conf &
http://ipgrafana:portgrafana
Modify hostname to Grafana Graph Query(grafana graph query마다 hostname을 확인 합니다.)
check the host information as hostname that you set in telegraf.conf
(telegraf.conf에서 세팅 해던 hostname로 수정해야 그 장비의 정보가 나옵니다.)
set jq in /usr/bin/
(수행하기전에 jq 세팅 하세요. /usr/bin밑에서 저장하면 됩니다. jq수행 파일이 createDashboard directory안에 들어 있습니다.)
> git clone https://github.com/ALTIBASE/Altibase-Cluster-Monitoring-System.git
go to crateDashbord directory and run with root account
(crateDashboard directory에 들어 가서 root권한으로 수행 합니다.)
a. Redhat
> sh influxdbgrafana_redhat.run [--ipgrafana=IP] [--portgrafana=PORT] [--ipinfluxdb=IP] [--portinfluxdb=PORT] [--help]
b. Ubuntu
> sh influxdbgrafana_ubuntu.run [--ipgrafana=IP] [--portgrafana=PORT] [--ipinfluxdb=IP] [--portinfluxdb=PORT] [--help]
###############################################################################################
# 1. install influxdb #
# 2. install grafana #
# 3. import dashboard #
# #
#--ipgrafana=IP If no --ipgrafana option is given, the default value is 127.0.0.1 #
#--portgrafana=PORT If no --portgrafana option is given, the default value is 3000 #
#--ipinfluxdb=IP If no --ipinfluxdb option is given, the default value is 127.0.0.1 #
#--portinfluxdb=PORT If no --portinfluxdb option is given, the default value is 8086 #
###############################################################################################
see "Docker image > 2. Telegraf ("Docker image" 2번 telegraf 수행 참고.)
see "Docker imange > 3. Grafana Web ("Docker image" 3번 grafana web접속 참고.)
There's a file, query.toml in the telegraf directory. (telegraf directory에 query.toml 파일이 있습니다.)
All queries for data collection are specified in it. (query.toml 파일에 모든 수집 정보의 query가 기록되어 있으니 참고하세요.)
- alti_diskusage_mycollector
- alti_lockobj_list
- alti_locktable_stat
- alti_longrunsql_count
- alti_repgap_stat
- alti_reprecv_stat
- alti_repsender_info
- alti_repsender_log_stat
- alti_repsender_start_stat
- alti_repsender_stat
- alti_repsender_tblog_stat
- alti_sysstat
- alti_tbs_usage
- alti_tbsfileIO_stat
- alti_tx_count
- alti_undobuff_stat
- altibase_basic_info
- altibase_buffhit_stat
- altibase_mem_stat
- altibase_plancache_stat
- altibase_session_stat
- altibase_srv_stat
- cpu
- disk
- diskio
- kernel
- mem
- net
- processes
- procstat
- swap
- system