Percona是一个可以监控服务器状态及数据库状态的管理平台,如果是自建的服务器,想要方便的查看服务器运行状态或者是查看数据库的SQL执行时间等,用这个框架还是很方便的,我测试了一个月的服务器监控,运行蛮稳定的,但是数据库查询分析这样不错的功能没能有机会测试,我没有正在运行的MySQL网站,公司的数据库我是不敢乱用来测试...
概览:用一台A服务器运行监控程序,监控程序是基于Docker构建的,然后在需要被统计的服务器上安装pm-admin,这个工具会将数据实时的发送到A服务器,A服务器会分析统计数据,然后将数据展示在web端
官网文档:https://www.percona.com/doc/percona-monitoring-and-management/install.html
安装 Docker
1, 查看系统版本
需要系统内核高于3.10才可以使用如下方法安装
$ uname -r
3.10.0-229.el7.x86_64
2,添加docker源
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
3,安装docker
yum install docker-engine
4,开机启动
systemctl enable docker.service
5,启动docker
systemctl start docker
创建数据容器
$ 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.0.5 /bin/true
运行PMM Server
$ docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
percona/pmm-server:1.0.5
当80端口被占用时,可以替换上边的-p 7788:80
, 这样,服务将被绑定在7788端口
检查服务运行状态
Component | URL |
---|---|
PMM landing page | http://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 |
Orchestrator | http://192.168.100.1/orchestrator |
打开部署服务的IP,即可登录进入面板
安装PMM Client
在需要被监测及管理的服务器上安装pmm client
$ sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
$ sudo yum install pmm-client
连接PMM server
$ sudo pmm-admin config --server 192.168.100.1
OK, PMM server is alive.
PMM Server | 192.168.100.1
Client Name | ubuntu-amd64
Client Address | 192.168.200.1
如果之前修改了端口需要使用192.168.100.1:7788
配置完成后需要添加功能,可以监控Linux服务器的运行,也可以监控mysql及mongdb数据库的查询分析统计
可以添加mysql,这样Linux监控也会自动添加,或者只添加linux监控
sudo pmm-admin add mysql
sudo pmm-admin add linux:metrics
使用sudo pmm-admin list
可以查看启用的监控模块
添加完成后,就可以打开网站查看状态了。
备注
打开Query Analytics翻看的时候我遇到了一个类似46191-error-agent-executable-file-not-found-in-path
的错误。需要安装一个包,我在它们的论坛问过,详情的帖子现在被删除了,检索服务器上的命令历史发现这个包,名叫percona-toolkit