timorunge.pmm_client
pmm_client
这个角色用于安装和配置 Percona PMM Client。
需求
此角色需要 Ansible 2.5.0 或更高版本。
您可以使用 pip 安装(并定义)一个稳定版本:
pip install ansible==2.8.4
所有平台要求都在元数据文件中列出。
安装
ansible-galaxy install timorunge.pmm_client
角色变量
可以传递给此角色的变量及其简单描述如下。(有关所有变量,请查看 defaults/main.yml)
# 定义版本
# 类型:整数
pmm_client_version: 1.17.1
# pmm-server 的 IP 地址和端口:
# 类型:字符串
pmm_client_server_host: 172.20.0.10
# 类型:整数
pmm_client_server_port: 443
# 禁用基本认证:
# 类型:布尔值
pmm_client_server_basic_auth: false
# 启用 SSL:
# 类型:布尔值
pmm_client_server_use_ssl: true
# 在初始设置时强制设置客户端名称
# 类型:布尔值
pmm_client_force_setup: false
# 定义要添加或移除的服务:
# 类型:列表
pmm_client_add_services:
- linux:metrics
- mysql:metrics
- mongodb:metrics
- postgresql:metrics
pmm_client_remove_services:
- mysql:queries
# 定义要启动或停止的服务:
# 类型:列表
pmm_client_start_services:
- linux:metrics
- mysql:metrics
- mongodb:metrics
- postgresql:metrics
pmm_client_stop_services:
- mysql:queries
# 定义 MySQL 数据库连接的凭证:
# 类型:字典
pmm_client_db:
mysql:
host: localhost
port: 3306
username: root
password: toor
示例
1) 安装不带基本认证且禁用 SSL 的 PMM 客户端
- hosts: all
become: yes
vars:
pmm_client_server_host: 172.20.0.10
pmm_client_server_port: 443
pmm_client_server_basic_auth: false
pmm_client_server_use_ssl: false
pmm_client_add_services:
- linux:metrics
pmm_client_start_services:
- linux:metrics
roles:
- timorunge.pmm_client
2) 安装带基本认证且启用 SSL 的 PMM 客户端
- hosts: all
become: yes
vars:
pmm_client_server_host: 172.20.0.10
pmm_client_server_port: 443
pmm_client_server_basic_auth: true
pmm_client_server_basic_auth_username: admin
pmm_client_server_basic_auth_password: mySecurePassword
pmm_client_server_use_ssl: true
pmm_client_add_services:
- linux:metrics
pmm_client_start_services:
- linux:metrics
roles:
- timorunge.pmm_client
3) 从指定 URL 安装 PMM 客户端
- hosts: all
become: yes
vars:
pmm_client_version: 1.17.1
pmm_client_version_revision: 1
pmm_client_use_official_repo: false
pmm_client_debian_pkg: "https://www.percona.com/downloads/pmm/{{ pmm_client_version }}/binary/debian/{{ ansible_distribution_release }}/x86_64/pmm-client_{{ pmm_client_version }}-{{ pmm_client_version_revision }}.{{ ansible_distribution_release }}_amd64.deb"
roles:
- timorunge.pmm_client
4) 强制设置 PMM 客户端
在某些情况下,您需要强制设置 PMM 客户端。例如,如果服务器无法访问或您使用之前用过的主机名进行了新设置。
您将收到如下消息:
TASK [timorunge.pmm-client : include_tasks] ********************************************************************************************************
included: ... ansible-pmm-client/tasks/server-config.yml for proxysql-aN8thi
TASK [timorunge.pmm-client : Check if PMM Client is configured] ************************************************************************************
fatal: [proxysql-aN8thi]: FAILED! => {"changed": false, "cmd": ["pmm-admin", "list"], ...
基本上,您有两个选择:
1) 通过 yaml 配置
- hosts: all
become: yes
vars:
pmm_client_force_setup: true
roles:
- timorunge.pmm_client
2) 通过命令行
这是推荐的方法。
$ ansible-playbook main.yml -i inventory -b --limit "proxysql-aN8thi" --diff -e "{ pmm_client_force_setup: true }"
5) 卸载 PMM 客户端
- hosts: all
become: yes
vars:
pmm_client_enabled: false
roles:
- timorunge.pmm_client
测试
测试使用 Docker 和 docker_test_runner 进行,该工具会启动以下具有不同环境设置的容器:
- CentOS 7
- Debian 9.4 (Stretch)
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 18.04 (Bionic Beaver)
所有容器上安装了 Ansible 2.8.4,并应用 test playbook。
有关更多详细信息和附加检查,请查看 docker_test_runner 配置 和 Docker 入口点。
# 本地测试:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml
由于 Travis 上的构建时间限制,公共存储库的自动化测试仅限于:
- CentOS 7
- Debian 9.4 (Stretch)
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 18.04 (Bionic Beaver)
依赖
无
许可证
BSD 3-Clause "New" or "Revised" License
作者信息
- 基于 Chris Sam 的 Ansible 角色
- 大幅修改者: Timo Runge
关于项目
Percona PMM Client for Debian and RedHat based distributions
安装
ansible-galaxy install timorunge.pmm_client
许可证
bsd-3-clause
下载
7.2k
拥有者