curl post json 如果多个头信息, 多次使用-H即可.
curl -H "Content-Type: application/json" -X POST --data '{"username:":"abc", "password":"abc"}' http://www.github.com/login -H 请求头信息 -X 请求方式, GET, POST --data 数据 ab post json ab -r -k -c 50 -n 100 -T 'application/json' -p json.txt http://www.github.com/login json.txt
{ "username":"abc", "password":"1234" } -T就Content-Type -H 自定义头信息 Token:111 -c 请求并发数 -n 请求数. -r 不要退出套接字接收错误 -k 保持 KeepAlivewindow 10环境下安装 python3.8 版本. 采用国内镜像, 国内官方下载实在太慢, 无法忍受.
下载安装 推荐华为镜像下载.
https://mirrors.huaweicloud.com/python/3.8.0/
选择 window 64 位
下载后,双击文件
python 安装的目录
勾选加入环境变量. 如果忘记勾选需要配置环境变量.
右击我的电脑->高级系统设置->环境变量->系统变量(最下面的框)->找到path变量名称->点击编辑->点击新建->把 python的目录加入即可.(即安装时的目录) 配置 pip pip 是安装 python 模块的工具.
还是那样, 默认下载源非常慢, 配置国内源.
window 10 找到 C:\Users\<yourname>\AppData\Roaming\pip 也许你找不到这个目录, <yourname>是你的计算机名称, AppData 是一个隐藏目录, 点击输入栏输入AppData进入, 然后找到Roaming, 如果没有找到pip目录,请新建一个pip目录, 然后在pip目录下新建一个pip.ini文件, 填下以下内容即可.
[global] index-url = https://mirrors.huaweicloud.com/repository/pypi/simple trusted-host = mirrors.huaweicloud.com timeout = 120 更新 pip 打开你的cmd工具, 输入 python -m pip install --upgrade pip即可更新
划线部分显示采用了刚才配置的源信息.说明没有走官网的源.这样非常快的更新完了. 如果你的界面没有动, 回车一下即可.(window常见的毛病)
如果镜像不好用,可以临时指定镜像, 如安装 requests 库Filebeat是用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。
架构 工作原理是启动 filebeat 时, 它将启动一个或多个输入, 这些输入将在日志数据指定位置中查找, 对于 filebeat 所找到的每个日志, filebeat 都会启动收集器, 每个收割机都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。
配置输入源, 可以是日志(log), 也可以是标准输入(stdin), 可以配置多个输入(input) 为每个日志启一个(Harvester) 收集器, 将不停的读取数据 数据卷轴, 将数据不断的输出到其它终端 终端, 如 es, kafaka, redis 原理 Filebeat由两个主要组件组成:prospector 和 harvester
harvester 收集器
负责读取单个文件的的内容,如果文件被删除啦,也会继续监听这个文件的变化.
prospector 探测器
prospector 负责管理 harvester 并找到所有要读取的文件来源
如果输入类型是日志类型, 则查找器路径匹配的所有文件, 并为每一个文件启动一个 harvester 收集器
filebeat 目前支持两种 prospector 类型: stdin 和 log
Filebeat 如何保持文件的读取状态
Filebeat 保存每个文件的状态并经常将状态刷新到磁盘上的注册文件中。 注册文件位于 /usr/local/filebeat/data/registry/filebeat/data.json 该状态用于记住harvester正在读取的最后偏移量,并确保发送所有日志行。 如果输出(例如Elasticsearch或Logstash)无法访问,Filebeat会跟踪最后发送的行,并在输出再次可用时继续读取文件 安装 官方下载 https://www.elastic.co/cn/downloads/beats/filebeat, 一般国内都很慢, 推荐使用国内镜像下载. https://mirrors.huaweicloud.com/filebeat/ 找到对应的版本.
我这里使用是 7.8.0 版本基于 filebeat 7.8.0
7filebeat 监听文件的变化, 进行记录文件位移, 从而实现不断读取数据,并收割数据并输送到指定终端或服务
配置 配置文件需要注意,分顶格写, - 表示数组, 缩进采用2个空格方式
输出控制台 监听文件夹下的所有*.log文件, 并自定义字段, tags标识
cd /usr/local/filebeat vim test.yml # 输入配置 filebeat.inputs: - type: log # 定义输入的类型, 可以是 stdin, log, tcp, udp, json enabled: true # 启动 paths: # 文件路径, 可以是多个路径 - /data/logs/tmp/*.log # 配置要监听读取的文件路径, *表示通配符 tags: ["sgfoot"] # 自定义标签, 可以设置多个 fields: # 自定义字段, 默认在 fields 节点下, 可以通过 fields_under_root = true 设置为跟节点 www: sgfoot # 设置字段, key => value fields_under_root: false # true 为根目录, false 是在 fields 节点下.介绍 Character Filter 在 Tokenizer 之前对文本进行处理, 例如增加删除及替换字符, 可以配置多个 Character Filters, 会影响 Tokenizer 的 position 和 offset 信息
自带: html_strip, mapping, pattern replace
Tokenizer 将原始的文本按照一定的规则, 切分为词 (term or token)
自带: whitespace, standard/ pattern/ keyword/ path hierarchy
Token Filter 将 Tokenizer 输出的单词 (term), 进行增加, 修改, 删除.
如自带的 lowercase, stop, synonym(添加近义词)
定义分词器 过滤html标签 # 自定义分词器
POST _analyze
{
"tokenizer": "keyword",
"char_filter": ["html_strip"],
"text":"<b>hello world</b>"
} 过滤之后的结果
{
"tokens" : [
{
"token" : "hello world",
"start_offset" : 3,
"end_offset" : 18,
"type" : "word",
"position" : 0
}
]
} 替换 将一个字符替换成其它字符Mapping的定义 可以对索引的数据字段设置类型, 还可以设置不变索引.也就是说不被搜索到.
PUT users {
"mappings": {
"properties": {
"firstName":{
"type": "text"
},
"lastName":{
"type": "text"
},
"mobile":{
"type": "text",
"index": false # 设置不变索引的字段
}
}
}
} 结果
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "users"
} 添加真实数据.
PUT users/_doc/1
{
"firstName":"sg",
"lastName":"foot",
"mobile":"123"
} 对已经禁止索引的mobile字段查询
POST /users/_search
{
"query": {
"match": {
"mobile": "123"
}
}
} 结果显示报错是:
{
"error" : {
"root_cause" : [
{
"type" : "query_shard_exception",
"reason" : "failed to create query: Cannot search on field [mobile] since it is not indexed.之前介绍过head, hd 软件, 两种都不如今天的主角(cerebro), 也推荐使用. 言归正传. 开始吧.
介绍 源码: https://github.com/lmenezes/cerebro
下载二进制包: https://github.com/lmenezes/cerebro/releases
集群名称 节点数 索引数 分片数 文档数 磁盘剩余量 节点名称,实心的星为主节点(即master节点), 空心的星为副节点(cluster节点) master 节点才有权限修改集群的状态 实线的方块代表主分片 虚线的方块代表副本分片 图片最上面有一条为黄色的线. 表示服务的健康状态. 在elasticsearch里有三种颜色
green 绿色为健康状态 所有的主分片和副本分片都已分配。你的集群是 100% 可用的。 yellow 黄色为亚健康状态 所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果 更多的 分片消失,你就会丢数据了。把 yellow 想象成一个需要及时调查的警告。 red 红色为非健康状态 至少一个主分片(以及它的全部副本)都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。 安装 # 下载二进制包
cd /usr/local
wget https://github.com/lmenezes/cerebro/releases/download/v0.9.2/cerebro-0.9.2.zip
unzip cerebro-0.9.2.zip 修改配置文件 vim conf/application.conf
# 大约70行. 去掉 # 可以配置多个.
hosts = [
{
host = "http://127.0.0.1:9200" # 设置 elasticsearch 地址
name = "Localhost cluster" # 显示名称
# headers-whitelist = [ "x-proxy-user", "x-proxy-roles", "X-Forwarded-For" ]
}
# Example of host with authentication
#{
# host = "http://some-authenticated-host:9200"
# name = "Secured Cluster"
# auth = {
# username = "username"
# password = "secret-password"
# }
#}
] 启动 bin/cerebro
or nohup bin/cerebro &效果 图表格式显示, 展示比较丰富 可以自定义elasticsearch 的地址, 并显示服务的健康状态 安装使用 下载地址
wget https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/tag/1.4 linux & maxOS
Step1: Download the corresponding elasticHD version,unzip xxx_elasticHd_xxx.zip
Step2: chmod 0777 ElasticHD
Step3: exec elastichd ./ElasticHD -p 127.0.0.1:9800
# 指定127.0.0.1地址与 9800 端口. window
Step1: Download the corresponding elasticHD version,Double click zip package to unzip
Step2: exec elastichd ./ElasticHD -p 127.0.0.1:9800 # 指定127.0.0.1地址与 9800 端口. nginx 代理 vim hd.conf upstream hd_server { server 127.0.0.1:9800 weight=1 max_fails=3 fail_timeout=60; } server { listen 80; server_name hd..1. 安装 httpd-tools .2. 创建密码目录 .3. 生成新的用户名和密码 .4. 查看用户名 .5. 应用到nginx配置上 .6. 报错无扩展(http_auth_basic_module) .6.1. 编译 http_auth_basic_module 扩展 安全永久是第一位
.1. 安装 httpd-tools yum install -y httpd-tools .2. 创建密码目录 mkdir -p /etc/nginx/ .3. 生成新的用户名和密码 可以创建多个用户和密码.
# admin 是你的帐号 # password 是你的密码 htpasswd -bc /etc/nginx/htpasswd.users admin password # 添加 root 帐号和密码 htpasswd -bc /etc/nginx/htpasswd.users root password .4. 查看用户名 cat /etc/nginx/htpasswd.users # admin:$apr1$9c2/hWtI$0CSGPb8xGTxbZ4CLOx2N3. # root:$apr1$9c2/fsadfasf1213xGTxbZ4fas12311. .5. 应用到nginx配置上 添加以下二行代码在 server节点上
auth_basic "Restricted Access"; # 验证 auth_basic_user_file /etc/nginx/htpasswd.为什么使用镜像,因为你在一个特色的国度, 所以你需要镜像为你加速,为你的开发加油.
github 镜像 GitClone README github镜像 直接搜索你要的库,请勿注册 码云github加速 软件镜像库 下载国外的软件,如 elasticsearch, docker, k8s 很慢, 就可以直接在这下载, 时时更新的.
华为开源镜像站