Ansible企业运维实例(二)—服务器信息收集

        在互联网公司做运维,通常需要一个人维护几百上千台服务器。当项目需要紧急上线时,面对几十台服务器需初始化时,新入行运维就会慌乱阵脚,通宵达旦一台台服务器安装部署。这样不仅影响项目上线效率,也影响个人身体。这种情况下,推荐大家使用ansible自动化部署的方式,初始化服务器,上百台服务器硬盘初始化或配置修改,几分钟就能完成。

        下面是我日常运维过程中用到的部分ansible运维脚本,发出来给大家参考,如果不严谨的地方欢迎指出。大家如有好用的ansible脚本也欢迎分享到评论区,共同学习。

目录

示例:

一、Ansible收集服务器信息列表

1、收集服务器信息脚本

2、服务器信息数据处理


示例:

        服务器配置统计表最终显示效果:

Ansible企业运维实例(二)—服务器信息收集_第1张图片

一、Ansible收集服务器信息列表

1、收集服务器信息脚本

#vi check_hosts.yml
---
- hosts: all
  remote_user: root
#gather_facts:(no/true)是否收集服务器信息,收集服务器信息运行较慢
  gather_facts: true
  tasks:
  - name: 查询服务器信息
    shell: |-
        echo "cpu型号: `cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq`;"
        echo "cpu核数: `cat /proc/cpuinfo | grep 'processor' | sort | uniq | wc -l`;"
        echo "总内存:`free -h | grep Mem | awk '{print $2}'`;"
        echo "已用内存:`free -h | grep Mem | awk '{print $3}'`;"
        echo "剩余内存:`free -h | grep Mem | awk '{print $4}'`;"
        echo "服务器硬盘:`lsblk|grep -E disk|awk '{ print $1,$4}'`"
    register: hostscheck
    
  - name: 查询docker/docker-compose版本
    shell: docker -v && docker-compose -v
    register: dockercheck

  - name: display hosts lists
    debug:
      msg: IP地址:'{{ ansible_default_ipv4.address }}'; 主机名:'{{ ansible_hostname }}'; 系统版本:'{{ ansible_distribution }}{{ ansible_distribution_version }}'; '{{hostscheck.stdout}}'; Docker版本:'{{ dockercheck.stdout }}'; SElinx='{{ ansible_selinux.status }}'

2、服务器信息数据处理

(1)运行ansible-playbook生成服务器信息数据

 ansible-playbook -i hosts check_hosts.yml |grep msg > check_hosts.txt

(2)将生成数据文件内容复制到excel中,选中数据列,点击数据——分列——分割符号——勾选“分号”,下一步完成即可。

Ansible企业运维实例(二)—服务器信息收集_第2张图片

(3)使用Ctrl+F批量替换删除多余字符,即可获得如下服务器信息表。此表为初始数据表,各位可根据个人需求自由定制。​

Ansible企业运维实例(二)—服务器信息收集_第3张图片

你可能感兴趣的:(企业运维实战,服务器硬件,运维,服务器,ansible)