# Ansible 示例 ## prometheus 使用 ansible 部署 Prometheus 监控组件
**参数说明:** `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
**安装:** **安装全部组件:** ```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 ```