当前位置: 首页 > news >正文

做刷单的网站域名站长工具

做刷单的网站,域名站长工具,wordpress tob 0.8,.net 网站 数据库配置文件文章目录 剧本功能 inventory.yaml文件定义deploy.yaml角色定义node_exporter_lock角色定义任务角色main.yamlnode_exporter_tasks.yml角色触发任务notifyextra_tasks.yml角色prometheus_node_config.j2模板文件 执行命令查看变量 剧本功能 功能1: 批量执行node_ex…

文章目录

      • 剧本功能
    • inventory.yaml文件定义
    • deploy.yaml角色定义
    • node_exporter_lock角色定义
    • 任务角色main.yaml
      • node_exporter_tasks.yml角色
      • 触发任务notify
      • extra_tasks.yml角色
      • prometheus_node_config.j2模板文件
    • 执行命令
    • 查看变量

剧本功能

功能1: 批量执行node_export节点,并判断操作系统,有俩份文件
功能2: 获取当前组并追加到ROle角色通用变量里面提供全部角色使用
功能3: 任务角色里面又分任务执行一个安装一个收集信息
功能:其他功能懒得总结了,大家看文章吧

inventory.yaml文件定义

[equipment:vars]  
group = "equipment" 
[equipment]
WA510-生产-设备管理09  ansible_internal_ip=xxxx  ansible_host=xxxx
WA485-生产-设备管理08  ansible_internal_ip=xxxx  ansible_host=xxxx

image.png

deploy.yaml角色定义

- name: 任务总线become: truegather_facts: yeshosts: oa tasks:- name: 加载变量include_vars:file: ./vars/vars.yaml- name: 获取当前组名set_fact:group_name: "{{ group_names[0] }}"run_once: true- name: 生成 main.yml 文件lineinfile:path: "/root/ansible_role_k8s/init_roles/defaults/main.yml"regexp: '^group:'line: "group: {{ group_name }}"delegate_to: localhost  # 指定任务在本地执行run_once: true- name: 加载更新后的默认变量include_vars:file: "/root/ansible_role_k8s/init_roles/defaults/main.yml"  # 使用绝对路径delegate_to: localhost  # 指定任务在本地执行run_once: true- name: 执行 node_exporter 角色include_role:name: init_roles/node_exporter_lockwhen: "'node' in ansible_run_tags"tags: ['node']- name: 执行 init 角色include_role:name: init_roles/initwhen: "'ls' in ansible_run_tags"tags: ['ls']

/root/ansible_role_k8s/init_roles/defaults/main.yml文件如下

root@iZbp1bh3oeew2pt9bwrs4rZ:~/ansible_role_k8s/init_roles# cat ./defaults/main.yml
group: oa

node_exporter_lock角色定义

root@iZbp1bh3oeew2pt9bwrs4rZ:~/ansible_role_k8s/init_roles/node_exporter_lock# tree
.
├── files
│   ├── node_exporter
│   ├── node_exporter-1.8.1.linux-amd64.tar.gz
│   ├── node_exporter.service
│   └── 参数详解
├── handlers
│   └── main.yaml
├── tasks
│   ├── extra_tasks.yml
│   ├── main.6.5.yaml
│   ├── main.yaml
│   ├── main.yaml.bak
│   └── node_exporter_tasks.yml
└── templates├── main.yml.j2└── prometheus_node_config.j24 directories, 12 files

任务角色main.yaml

- name: 执行 node_exporter 任务include_tasks: node_exporter_tasks.ymltags: ['node']- name: 执行附加任务include_tasks: extra_tasks.ymltags: ['node']

image.png

node_exporter_tasks.yml角色

- name: 判断远程服务器有没有安装 node_exporter 服务shell: "pgrep -f 'node_exporter'"register: node_exporter_statusignore_errors: truetags: ['node']- name: 判断远程服务器 9100 端口有没有被占用shell: "ss -lntp | grep ':9100'"register: port_statusignore_errors: truetags: ['node']- name: 打印服务和端口占用情况debug:msg: "服务状态: {{ '存在' if node_exporter_status.rc == 0 else '不存在' }}, 端口状态: {{ '被占用' if port_status.rc == 0 else '未被占用' }}"tags: ['node']- block:- name: 传输并解压 node_exporter 包到指定目录unarchive:src: /root/ansible_role_k8s/init_roles/node_exporter_lock/files/node_exporter-1.8.1.linux-amd64.tar.gzdest: /usr/local/bin/mode: '0755'remote_src: no- name: 判断操作系统是 CentOS 6、CentOS 7,或者 Ubuntuset_fact:os_version: "{{ ansible_distribution }} {{ ansible_distribution_major_version }}"- name: 传输并配置 node_exporter 服务文件(适用于 CentOS 6)copy:src: /root/ansible_role_k8s/init_roles/node_exporter_lock/files/node_exporterdest: /etc/init.d/node_exportermode: '0755'when: os_version == 'CentOS 6'notify: - Reload systemd- Enable and start node_exporter (CentOS 6)- name: 传输并配置 node_exporter systemd 服务文件(适用于 CentOS 7 和 Ubuntu)copy:src: /root/ansible_role_k8s/init_roles/node_exporter_lock/files/node_exporter.servicedest: /etc/systemd/system/node_exporter.servicemode: '0755'when: os_version != 'CentOS 6'notify: - Reload systemd- Enable and start node_exporterwhen: port_status.rc == 1  # 仅当 9100 端口未被占用时执行整个 blocktags: ['node']- name: 记录未执行 block 任务的节点信息lineinfile:path: /var/log/ansible_node_exporter.logline: "Host {{ inventory_hostname }}: 服务状态: {{ '存在' if node_exporter_status.rc == 0 else '不存在' }}, 端口状态: {{ '被占用' if port_status.rc == 0 else '未被占用' }}"when: port_status.rc != 1  # 仅当 9100 端口被占用时执行delegate_to: localhost  # 在控制节点上执行,以便集中记录日志tags: ['node']- name: 打印任务执行完成信息debug:msg: "任务执行完成"tags: ['node']

触发任务notify

main.yaml

- name: Reload systemdcommand: systemctl daemon-reloadwhen: os_version != 'CentOS 6'- name: Enable and start node_exportersystemd:name: node_exporter.serviceenabled: yesstate: startedwhen: os_version != 'CentOS 6'- name: Enable and start node_exporter (CentOS 6)shell: chkconfig node_exporter on && service node_exporter startwhen: os_version == 'CentOS 6'

image.png

extra_tasks.yml角色

- name: 确保 prometheus_node 组已定义并且收集成功节点信息并去重assert:that: groups['prometheus_node'] is definedfail_msg: "The prometheus_node group is not defined in the inventory."run_once: truedelegate_to: localhosttags: ['node']- name: 收集成功节点信息set_fact:successful_nodes: "{{ groups['prometheus_node'] | map('extract', hostvars) }}"run_once: truedelegate_to: localhosttags: ['node']- name: 使用模板生成 Prometheus 配置片段template:src: prometheus_node_config.j2dest: "/tmp/prometheus_nodes_{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}.yml"delegate_to: localhostrun_once: truetags: ['node']- name: 在本地文件中追加成功节点信息shell: "cat {{ item }} >> /opt/prometheus/prometheus1.yml"with_fileglob:- "/tmp/prometheus_nodes_*.yml"delegate_to: localhostrun_once: truetags: ['node']

image.png

prometheus_node_config.j2模板文件

{% for host in successful_nodes %}- targets:- "{{ host.ansible_host }}:9100"labels:instance: "{{ host.inventory_hostname }}-{{ host.ansible_host }}"namespace: '{{ namespace }}'
{% endfor %}

image.png

执行命令

ansible-playbook deploy.yaml --tags node

image.png

image.png

image.png

查看变量

root@iZbp1bh3oeew2pt9bwrs4rZ:~/ansible_role_k8s/init_roles# cat ./defaults/main.yml
group: oa

查看 追加node节点信息

cat /opt/prometheus/prometheus1.yml 

image.png

大概思路就是这样,需要完整Role角色的请私聊我

image.png

http://www.shuangfujiaoyu.com/news/31262.html

相关文章:

  • 视频类网站如何做缓存免费的关键词挖掘工具
  • 建德网站宁波企业网站seo
  • 西宁个人网站建设淘宝怎么提高关键词搜索排名
  • 天津网站营销seo电话西安抖音seo
  • 网页网站怎么做的新闻今天
  • 设计师都上什么网站搜索引擎优化规则
  • 做课件最好的素材网站网站制作费用多少
  • 做百度手机网站优化快seo排名优化软件有
  • 做ppt好的模板下载网站有哪些it培训机构靠谱吗
  • 提高网站权重实时新闻
  • 外贸b2c平台都有哪些网站企业网络营销策略案例
  • 网站程序开发要点营销推广策略
  • 烟台莱州网站建设云南网络营销公司哪家好
  • 何苦做游戏网站北京网站建设开发公司
  • 六安住房和城乡建设部网站宁波seo网络推广渠道介绍
  • 香港空间送网站百度的网站
  • 公司网站制作多少钱百度网址提交
  • 物流网站建设策划书的总结做网站推广
  • 西安网站建设云李天津优化公司哪家好
  • 咸阳市城乡建设规划局网站百度推广app下载官方
  • 长春网络推广小技巧seo专员工作内容
  • 做一个公司的网站应做哪些准备工作内容sem技术培训
  • 诚信通开了网站谁给做今日百度关键词排名
  • 北京做网站开发公司电话品牌策划书
  • 网站后台管理系统哪个好西地那非片吃了能延时多久
  • 用动物做logo的旅游网站软文推广广告
  • 门户网站开发价格网络营销策划案怎么写
  • 爱网站官网小程序开发流程详细
  • 网站开发虚拟主机是什么什么是网站外链
  • 没网站做推广杭州百度推广优化排名