saltstack python3_SaltStack事件驱动(3) – BEACONS
文章目录
[隐藏]
激活一个beacon
beacon监控间隔
增加beacon
安装pyinotify和启动event runner
设置一个beacon
到目前为止我们已经学习如何通过事件总线监控与salt相关的事件,以及激活一些其它的事件。这时候你可能会想“既然我已经设置了一个能监控和实时反馈事件的动态通信设施,那么我肯定可以利用它来监听其它事情,如系统登录,硬盘使用和数据库服务”。而beacons就是用来做这样的事情的。
beacons让你能够监控与salt无关的事情以及触发事件。beacon系统允许minion与各种系统进程挂钩并持续监控进程。当监控的系统进程活动发生时,minion就发送一个事件到salt事件总线。
salt beacons目前能对许多系统活动进行监控和发送事件,包括:
文件系统变动
系统负载
服务状态
shell活动,如用户登录
网络和硬盘使用情况
激活一个beacon
salt beacons的激活不需要对监控的系统进程进行任何更改,一切配置都可以使用salt来做。
在minion的配置文件中增加如下配置:
beacons:
inotify:
home/user/importantfile:
mask:
– modify
beacon监控间隔
beacons默认以1秒的间隔监控。可以增加一个interval参数来设置一个不同的间隔。如下是设置了5和10秒的间隔:
beacons:
inotify:
/etc/httpd/conf.d: {}
/opt: {}
interval: 5
load:
– 1m:
– 0.0
– 2.0
– 5m:
– 0.0
– 1.5
– 15m:
– 0.1
– 1.0
– interval: 10
如果一个beacon的更改可能引起重新触发这个beacon的话,设置disable_during_state_run为True以避免循环事件发生。
增加beacon
我们准备增加一个beacon来监控一个文件的更改。要配置这个,需要使用inotify beacon和安装python-pyinotify包。因为salt minions没有这个包,首先我们使用salt来安装它。
安装pyinotify和启动event runner
增加命令行终端进入salt-vagrant-demo目录,ssh到master:
vagrant ssh master
在minion1安装python-pyinotify:
sudo salt ‘minion1’ pkg.install python-pyinotify
输出类似如下:
vagrant@saltmaster:~$ sudo salt ‘minion1’ pkg.install python-pyinotify
minion1:
———-
python-pyinotify:
———-
new:
0.9.4-1build1
old:
python2.7-pyinotify:
———-
new:
1
old:
我们很快就会生成一个事件,在master启动一个event runner并保持登录:
salt-run state.event pretty=True
让它在终端中运行并继续。
设置一个beacon
打开另一个终端进入salt-vagrant-demo目录,ssh进minion1:
vagrant ssh minion1
编辑minion1的/etc/salt/minion文件,在底部添加如下内容:
beacons:
inotify:
/home/vagrant/importantfile:
mask:
– modify
保存文件重启salt minion服务:
sudo service salt-minion restart
现在beacon已经激活。下面我们创建将要监控的文件。在/home/vagrant/目录创建importantfile:
touch importantfile
echo "some content" > importantfile
回到salt master刚才运行event runnner的终端,你应该会看到如下输出:
salt/beacon/minion1/inotify//home/vagrant/importantfile {
"_stamp": "2016-02-03T22:32:09.592113",
"data": {
"change": "IN_MODIFY",
"id": "minion1",
"path": "/home/vagrant/importantfile"
},
"tag": "salt/beacon/minion1/inotify//home/vagrant/importantfile"
}
记得event runner必须在文件被更改前启动,否则你不会看到事件。
SaltStack事件驱动(3) – BEACONS
saltstack python3_SaltStack事件驱动(3) – BEACONS相关推荐
- saltstack常用操作(七)---beacons模块的使用
简介 beacons模块是通过在minion机器上面配置beacons配置文件,实现对minion机器的文件,服务,VM状态,CPU,mem等状态的监控.在minion机器上面,一旦触发到定义的bea ...
- 【SaltStack官方版】—— EventsReactor系统—BEACONS
Events&Reactor系统-BEACONS Beacons let you use the Salt event system to monitor non-Salt processes ...
- 安装SaltStack
2019独角兽企业重金招聘Python工程师标准>>> 准备2台计算机: # 两台都安装 yum install https://repo.saltstack.com/yum/red ...
- 01_配置管理和SaltStack概述
1.配置管理 1.1 puppet /'pʌpɪt/ 木偶:傀儡:受他人操纵的人 使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等. 问题: 学习曲线非常陡峭 ...
- SaltStack简介和安装
1.SaltStack简介 1.1 自动化运维工具 自动化运维就是周期性.重复性.规律性的工作都交给工具去做,把过去的手工执行转为自动化操作.自动化是IT运维工作的升华,IT运维自动化不单纯是一个维护 ...
- saltstack高效运维简介和部署,SaltStack 与 Ansible 如何选择?
1.SaltStack简介 1.1 自动化运维工具 自动化运维就是周期性.重复性.规律性的工作都交给工具去做,把过去的手工执行转为自动化操作.自动化是IT运维工作的升华,IT运维自动化不单纯是一个维护 ...
- SaltStack进阶
SaltStack进阶 循环判断语句 判断语句 masterless 应用场景 masterless配置 修改配置文件minion 关闭salt-minion salt-call master高可用 ...
- SaltStack介绍及安装
1.SaltStack介绍 SaltStack作用于仆从和主拓扑.SaltStack与特定的命令结合使用可以在一个或多个下属执行.实现这一点,此时Salt Master可以发出命令,如salt '*' ...
- Saltstack之Grains组件
参考:刘天斯<Python自动化运维技术与最佳实践> grains是Saltstack最重要的组件之一,grains的作用是收集被控主机的基本信息,这些信息通常都是一些静态类的数据,包括C ...
最新文章
- 写在Flutter 1.0之前
- Zookeeper --笔记
- Vue的阻止冒泡与阻止默认
- redis 什么是冷数据_阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂
- Wince6.0编译错误经验总结
- 32岁被裁补偿N+2:“感谢裁我,让我翻倍!” 网友:求同款被裁!
- stc5 采集adc值越来越小_热敏电阻温度采集简述
- 利用百度Echarts.js生成雷达图
- VMware与Hyper-V不兼容
- 企业如何选择固定资产管理系统?
- MATLAB永久常数
- element中form表单输入非负数验证
- Java 8 effectively final
- 内容公链Contentos首席科学家不建议刚毕业的年轻人直接从事区块链开发
- 2009 Q.E.D
- 计算机本科毕业要求,计算机本科毕业论文要求.doc
- 工程伦理_慕课网_第十三讲参考答案
- 2D Conforming Triangulations
- 树莓派homebridge开机启动和后台运行
- 余弦相似度:通过计算两个向量的夹角余弦值来评估他们的相似度