SaltSack 自动化运维2

1.SaltStack数据系统

Grains:存储在minion端,启动时收集信息,静态数据,重启时才会重新收集,

a.应用场景:信息查询,

[[email protected] salt]# salt ‘salt-master‘ grains.ls         # 显示ls

[[email protected] salt]# salt ‘salt-master‘ grains.items    # 显示所有

[[email protected] salt]# salt ‘salt-master‘ grains.get fqdn
salt-master:
    salt-master.xiao.com
[[email protected] salt]# salt ‘salt-master‘ grains.get server_id
salt-master:
    894500124

[[email protected] salt]# salt ‘salt-master‘ grains.get ip_interfaces:eth0
salt-master:
    - 192.168.2.12
    - fe80::20c:29ff:fe99:4d5e

b.匹配minion

[[email protected] salt]# salt -G os:CentOS cmd.run ‘w‘
salt-master:
     05:26:01 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.2.1      04:19    0.00s  0.80s  0.55s /usr/bin/python
salt-minion:
     05:36:34 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.2.1      04:30   25:21   0.15s  0.15s -bash

自定义grains,

[[email protected] salt]# vim /etc/salt/minion   # 打开注释
88 grains:
 89   roles:
 90     - webserver
 91     - memcache
[[email protected] salt]# salt -G ‘roles:memcache‘ cmd.run ‘echo hehe‘   # 在memcached的机器上执行echo hehe
salt-master:
    hehe

或者在vim /etc/salt/grains建立

[[email protected] salt]# vim /etc/salt/grains        # 自定义建立一个grains的nginxweb规则
nginxweb: nginx
~
[[email protected] salt]# /etc/init.d/salt-minion restart
[[email protected] salt]# salt -G nginxweb:nginx cmd.run ‘w‘  # 查找minion匹配到有nginxweb:nginx的机器执行w命令
salt-master:
     05:39:53 up  1:21,  1 user,  load average: 0.08, 0.02, 0.01
    USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.2.1      04:19    1.00s  0.85s  0.53s /usr/bin/python
[[email protected] salt]# vim /srv/salt/top.sls      # 建立高级sls命令
base:
  ‘nginxweb:nginx‘:                                 # 关联上面grain中自定义的规则
    - match: grain
    - apache
[[email protected] salt]# salt ‘*‘ state.hightstate  # 执行
时间: 2024-11-03 20:57:10

SaltSack 自动化运维2的相关文章

自动化运维工具介绍

运维目标有三个阶段,第一是追求稳定性,第二是追求标准化,第三是追求自动化.对于第三阶段来说,什么是运维自动化呢?简单地讲,运维自动化就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人工参与.接下来简单介绍运维自动化工具,要了解运维平时用到的自动化工具,就需要了解运维人员的日常工作有哪些. 一.运维的日常工作 运维的日常工作可以总结为以下四个部分,分别是: (1) 系统安装 (2) 应用程序配置(Configuration) (3) 命令执行与控制(Command a

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

linux 自动化运维之Cobbler

一.Cobbler 简介 1.Cobbler 概述 Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装.同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展.它不紧可以安装物理机,同时也支持kvm.xen虚拟化.Guest OS的安装.更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理. 2.新旧对比 以前自动化安装系统得先设置一个网络环境,可是设置网络环境涉及到

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

自动化运维—tomcat服务起停(mysql+shell+django+bootstrap+jquery)

项目简介: 项目介绍:自动化运维是未来的趋势,最近学了不少东西,正好通过这个小项目把这些学的东西串起来,练练手. 基础架构: 服务器端:web框架-Django 前端:html css jQuery bootstrap 脚本:shell 适用系统:redhat5.8/redhat6.6 平台已实现功能: 中间件和数据库软件的启停和状态检查 (tomcat,nginx,apache,oracle,mysql) 完整功能设计图: 效果图: 架构图(简要): 项目源码:https://github.c

ansible自动化运维必备工具详解

第2章 ansible简单介绍: 2.1 ansible是什么? ansible是新出现的 自动化 运维工具 , 基于Python研发 . 糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. 仅需在管理工作站上安装 ansible 程序配置被管控主机的 IP 信息,被管控的主机无客户端. ansible 应用程序存在于 epel( 第三方社区 ) 源,依赖于很多 python 组件 python语言是运维人员必会的语言!ansible是一个基于Python开

Python自动化运维课程学习--Day2

本文为参加老男孩Python自动化运维课程第二天学习内容的总结. 大致内容如下: 1.python模块初识 2.python程序运行流程 3.python数据类型(只讲了numbers, bool, strings, bytes, list, tuple, dict, set) 4.python数据运算 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 --Python IDE: PyCharm

cheungssh自动化运维

CheungSSH自动化运维部署 1.安装包 CheungSSH.tar.gz # tar zxf CheungSSH.tar.gz # cd bin/ # sh install-CheungSSH.sh 注: 服务器ip填写本地ip:192.168.36.129 选择yum安装 若提示数据库错误,要安装musql进行mysql_secure_installtion进行root密码设置 再执行sh install-CheungSSH.sh输入mysql的root密码,mysql服务器选择127.

新书《Linux集群和自动化运维》目录

推荐序一 在全球"互联网+"的大背景下,互联网创业企业的数量如雨后春笋般大量产生并得到了快速发展!对"互联网+"最有力的支撑就是Linux运维架构师.云计算和大数据工程师,以及自动化开发工程师等! 但是,随着计算机技术的发展,企业对Linux运维人员的能力要求越来越高,这就使得很多想入门运维的新手不知所措,望而却步,甚至努力了很久却仍然徘徊在运维岗位的边缘:而有些已经工作了的运维人员也往往是疲于奔命,没有时间和精力去学习企业所需的新知识和新技能,从而使得个人的职业发