MySQL-MongoDB開源監控利器之PMM

    最近要對數據庫的監控體系進行改進,發現Percona 公司的一款開源的監控工具Percona Monitoring and Management(PMM) 對於MySQL的監控指標各項值比較全面準確,現在公司內部的開發測試環境進行了部署體驗。

    主要的架構圖如下:源於官方

_images/pmm-diagram.png

    可以看到主要是由客戶端的代理程序node_export\mysqld_export\mongodb_export等和客戶端管理工具pmm-admin做爲數據的收集方式併發送到服務端的QAN API\Consul API\Prometheus等各個API然後通過Grafana來展示數據指標,界面非常靚麗


    Pmm 的server端的運行方式主要有官方提供的以下三種方式:

      1.已經集成好的Docker方式

      2.集成好的VirtualBox方式

      3. Amazon Machine Image (AMI)

     在這裏我用的是Docker方式,輕量部署、升級很方便

    PMM的client安裝比較方便,直接安裝官方的yum安裝就OK了


#詳細的請參考官方文檔

https://www.percona.com/doc/percona-monitoring-and-management/index.html


#Dokcer方式部署

提前準備好系統和Docker服務,安裝不在這裏展示

1-創建容器的數據磁盤

docker create \
   -v /opt/prometheus/data \
   -v /opt/consul-data \
   -v /var/lib/mysql \
   -v /var/lib/grafana \
   --name pmm-data \
   percona/pmm-server:1.1.1 /bin/true

2-創建容器的運行實例

docker run -d \
   -p 80:80 \
   --volumes-from pmm-data \
   --name pmm-server \
   --restart always \
   percona/pmm-server:1.1.1



#客戶端安裝

[root@master ~]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

[root@master ~]# yum install -y pmm-client


#增加客戶端mysql監控


[root@master ~]# pmm-admin config  --server 192.168.100.171

OK, PMM server is alive.


PMM Server      | 192.168.100.171 

Client Name     | master.wboy.com

Client Address  | 192.168.100.41 


[root@master ~]# pmm-admin list

pmm-admin 1.1.1


PMM Server      | 192.168.100.171 

Client Name     | master.wboy.com

Client Address  | 192.168.100.41 

Service Manager | unix-systemv


No monitoring registered for this node identified as 'master.wboy.com'.


#命令幫助

[root@master ~]# pmm-admin  add --help

This command is used to add a monitoring service.


Usage:

  pmm-admin add [command]


Available Commands:

  mysql            Add complete monitoring for MySQL instance (linux and mysql metrics, queries).

  linux:metrics    Add this system to metrics monitoring.

  mysql:metrics    Add MySQL instance to metrics monitoring.

  mysql:queries    Add MySQL instance to Query Analytics.

  mongodb          Add complete monitoring for MongoDB instance (linux and mongodb metrics).

  mongodb:metrics  Add MongoDB instance to metrics monitoring.

  proxysql:metrics Add ProxySQL instance to metrics monitoring.


Flags:

      --service-port uint16   service port


Global Flags:

  -c, --config-file string   PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")


Use "pmm-admin add [command] --help" for more information about a command.

[root@master ~]# pmm-admin  add  mysql --help

This command adds the given MySQL instance to system, metrics and queries monitoring.


When adding a MySQL instance, this tool tries to auto-detect the DSN and credentials.

If you want to create a new user to be used for metrics collecting, provide --create-user option. pmm-admin will create

a new user 'pmm@' automatically using the given (auto-detected) MySQL credentials for granting purpose.


Table statistics is automatically disabled when there are more than 10000 tables on MySQL.


[name] is an optional argument, by default it is set to the client name of this PMM client.


Usage:

  pmm-admin add mysql [name] [flags]


Examples:

  pmm-admin add mysql --password abc123

  pmm-admin add mysql --password abc123 --create-user

  pmm-admin add mysql --password abc123 --port 3307 instance3307


Flags:

      --create-user                       create a new MySQL user

      --create-user-maxconn uint16        max user connections for a new user (default 10)

      --create-user-password string       optional password for a new MySQL user

      --defaults-file string              path to my.cnf

      --disable-binlogstats               disable binlog statistics

      --disable-processlist               disable process state metrics

      --disable-tablestats                disable table statistics

      --disable-tablestats-limit uint16   number of tables after which table stats are disabled automatically (default 1000)

      --disable-userstats                 disable user statistics

      --force                             force to create/update MySQL user

      --host string                       MySQL host

      --password string                   MySQL password

      --port string                       MySQL port

      --query-source string               source of SQL queries: auto, slowlog, perfschema (default "auto")

      --socket string                     MySQL socket

      --user string                       MySQL username


Global Flags:

  -c, --config-file string    PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")

      --service-port uint16   service port


#增加本地mysql實例

[root@master ~]# pmm-admin  add  mysql  --user root --password root

[linux:metrics] OK, now monitoring this system.

[mysql:metrics] OK, now monitoring MySQL metrics using DSN root:***@unix(/var/lib/mysql/mysql.sock)

[mysql:queries] OK, now monitoring MySQL queries from slowlog using DSN root:***@unix(/var/lib/mysql/mysql.sock)


安裝完成後的訪問地址列表:其實在 landing page包含了下面三個功能的頁面


各個組件功能訪問地址
PMM landing pagehttp://192.168.100.1
Query Analytics (QAN web app)http://192.168.100.1/qan/
Metrics Monitor (Grafana)

http://192.168.100.1/graph/

User name: admin

Password: admin

Orchestratorhttp://192.168.100.1/orchestrator

##

下面是一些截圖界面


wKiom1i2QhHRX3imAAIcbFZ9EBU152.jpg-wh_50

wKiom1i2QhKCJAVoAAGs81dMG3s246.jpg-wh_50

wKioL1i2QhOTvHyXAAOPPiJMvl8902.jpg-wh_50

wKioL1i2QhThPJ6ZAAFwz5HAZuc415.jpg-wh_50

wKioL1i2QhewBkBWAAHrbAJ47hc719.jpg-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章