RegX

Ansible lineinfile模块详解

笑着哭i 提交于 2021-01-22 10:23:39
[toc] 简介 之所以专门说一说这个模块,是因为lineinfile在实际使用中非常有用。 实际上,在大多数时候,我们在linux上的操作,就是针对文件的操作,通过配置管理工具对配置文件作统一的配置修改是一个非常酷的功能。 下面是官方针对该模块的说明: lineinfile - Ensure a particular line is in a file, or replace an existing line using a back-referenced regular expression 简单讲,这个模块就是针对一个文件中行内容的操作。 下面我们详细说一说其具体可以做的事情。 修改匹配行 下面是一个简单的task示例: # 将/etc/selinux/config中匹配到以'SELINUX='开头的行,将其替换为'SELINUX=disabled' - name: modify selinux to disabled lineinfile: path: /etc/selinux/config regex: '^SELINUX=' line: 'SELINUX=disabled' 在匹配行前或后添加内容 示例文件如下: # cat /etc/http.conf Listen 127.0.0.1:80 Listen 80 Port 在匹配行前添加 在http.conf文件的

监控工具之---Prometheus探索PromQL(二)

早过忘川 提交于 2020-05-02 00:37:25
参考链接: https://yunlzheng.gitbook.io/prometheus-book/parti-prometheus-ji-chu/promql 探索PromQL      通过PromQL用户可以非常方便地对监控样本数据进行统计分析,PromQL支持常见的运算操作符,同时PromQL中还提供了大量的内置函数可以实现对数据的高级处理。当然在学习PromQL之前,用户还需要了解Prometheus的样本数据模型。PromQL作为Prometheus的核心能力除了实现数据的对外查询和展现,同时告警监控也是依赖PromQL实现。 Metrics类型   Prometheus定义了4中不同的指标类型: Counter(计数器):只增不减的计数器,常见的监控指标,如 http_requests_total,node_cpu都是Counter类型的监控指标 。 Gauge(仪表盘):可增可减的仪表盘,Gauge类型的指标侧重于反应系统的当前状态。因此这类指标的样本数据可增可减。常见指标如:node_memory_MemFree(主机当前空闲的内容大小)、node_memory_MemAvailable(可用内存大小)都是Gauge类型的监控指标。 Histogram(直方图):主要用于统计和分享样本的分布情况。 Histogram通过histogram

环视正则

蓝咒 提交于 2019-12-17 12:33:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一.语法结构 1.环视结构不匹配任何字符,只匹配文本中的特定位置.也有人称之为零宽断言. 2.环视的特点 <1> 不会"占用"任何文本,只匹配一个"位置". <2> 只是简单的测试: 能够在当前位置匹配后面(右侧)的文本(顺序),或者能够在当前位置匹配前面(左侧)的文本(逆序). 3.环视类型及表达式 (?=…) 顺序肯定环视,从左至右,子表达式能够匹配右侧文本. (?!…) 顺序否定环视,从左至右,子表达式不能匹配右侧文本. (?<=…) 逆序肯定环视,从右至左,子表达式能够匹配左侧文本. (?<!…) 逆序否定环视,从右至左,子表达式不能匹配左侧文本. 3.限制 多数实现方式都限制了逆序环视中的表达式长度;而顺序环视则没有限制. 第一级;Perl和Python的限制是最严格的,逆序环视只能匹配固定长度的文本,也就是说逆序环视中不能使用量词(*、?、+、{m,n}).例如(?<!books?)就是不合法的,不过在某些情况下可以重写为(?<book)(?<!books). 第二级;PCRE(因为包括php)支持在逆序环视中出现多选分支,所以可以写为"(?<!book|books)".同样不能使用量词(?、*、+、{m,n}). 第三级;sun的Java regex package支持匹配任意长度的文本