ansible_tools/README.md

93 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

# Ansible 示例
## prometheus
使用 ansible 部署 Prometheus 监控组件
<br/>
2023-12-12 15:52:14 +08:00
**参数说明:**
`e` :配置文件/配置项
`cmd`
- `install` :安装
   - `remove` :卸载
`t` Tag标签
- `all` :全部服务
- `server` Prometheus Server 相关服务Prometheus Server、Grafana、Alertmanager、Prometheus Alert、Prometheus Webhook Dingtalk、Loki
- `exporter` Prometheus Exporter 相关服务Node Exporter、CAdvisor、Mysqld Exporter、Mongodb Exporter、Redis Exporter、Rabbitmq Exporter、Rocketmq Exporter、Elasticsearch Exporter、Zookeeper Exporter、JMX Exporter、Nginx Prometheus Exporter、Blackbox Exporter、Grafana Promtail
- `dockerce` Docker 服务
- `node` Prometheus Node Exporter
- `docker` Prometheus CAdvisor
- `mysql` Prometheus Mysqld Exporter
- `mongodb` Prometheus Mongodb Exporter
- `redis` Prometheus Redis Exporter
- `rabbitmq` Prometheus Rabbitmq Exporter
- `rocketmq` Prometheus Rocketmq Exporter
- `elasticsearch` Prometheus Elasticsearch Exporter
- `zookeeper` Prometheus Zookeeper Exporter
- `jmx` Prometheus JMX Exporter
- `nginx` Nginx Prometheus Exporter
  - `blackbox` Prometheus Blackbox Exporter
  - `promtail` Grafana Promtail
<br/>
**安装:**
**安装全部组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=install -t all
```
**仅安装 server 相关组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=install -t server
```
**仅安装 exporter 相关组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=install -t exporter
```
**安装自定义组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=install -t 组件名称(名单见上方说明)
```
示例:安装 server 和 node exporter、cadvisor、blackbox exporter、promtail
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=install -t server,node,docker,blackbox,promtail
```
**仅安装 Docker 服务:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=install -t dockerce
```
**卸载:**
**卸载全部组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=remove -t all
```
**仅卸载 server 相关组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=remove -t server
```
**仅卸载 exporter 相关组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=remove -t exporter
```
**卸载自定义组件:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=remove -t 组件名称(名单见上方说明)
```
示例:卸载 server 和 node exporter、cadvisor、blackbox exporter、promtail
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=remove -t server,node,docker,blackbox,promtail
```
**卸载 Docker 服务:**
```shell
ansible-playbook /etc/ansible/roles/role.yml -e @/etc/ansible/roles/conf/extend.yml -e cmd=remove -t dockerce
```
**注意:**
1. 当前仅测试部署 Server 相关、Node Exporter、cAdvisor
2. Prometheus Alert、Prometheus Mongodb Exporter、Prometheus Rocketmq Exporter、Prometheus JMX Exporter、Prometheus Zookeeper Exporter 仅支持 x86_64 架构处理器,故当服务器 CPU 架构不为 x86_64 时对应的服务不会安装tag 也无效。
3. 当主机已经安装 Docker 服务时,需要先创建对应的 Docker 网络,然后再执行脚本
```bash
docker network create Docker网络名称 --subnet Docker网络网段
```
示例如下:
```bash
docker network create --driver bridge --opt encrypted:'true' --subnet 10.21.22.0/24 prometheus
```