day082-初識ElasticStack

文章目錄

  • 0. 老男孩思想-人性十大需求
  • 1. ElasticStack介紹
    • 1.1 ELK(**Elastic Stack**)
    • 1.2 logstash和filebeat的區別
  • 2. ElasticSearch單點部署
    • 2.1 下載ElasticSearch軟件包
    • 2.2 安裝軟件并修改配置文件
    • 2.3 啟動并測試服務
  • 3. ElasticSearch集群部署
    • 3.1 安裝軟件并分發配置文件
    • 3.2 重置單點配置
    • 3.3 重啟ES集群并測試
  • 4. 面試題:ES集群的9200端口和9300端口使用的協議和作用?
  • 5. ES集群常用術語
  • 6. 面試題: ES集群的顏色分別代表什么含義?
  • 7. ElasticSearch的DSL語句初體驗
  • 8. kibana環境部署
    • 8.1 軟件下載
    • 8.2 修改配置文件
    • 8.3 頁面測試
  • 9. filebeat環境部署
  • 10. EFK架構實戰案例
    • 10.1 編寫配置文件
    • 10.2 發送測試數據
    • 10.3 主機端口映射
  • 11. 思維導圖
  • 12. 麒麟系統部署EFK架構
    • 12.1 ES
    • 12.2 kibana
    • 13.3 filebeat
  • 13. ansible一鍵部署EFK架構
  • 14. 完成Windows上網功能

0. 老男孩思想-人性十大需求

1.生理需求:生存、生活、性

2.物質需求:金錢、豪車、豪宅、藝術品……

3.健康需求:運動、飲食、心理健康……

4.情感(關系)需求:愛情、友情、親情、朋友、兄弟、同學……

與他人交流,有了較近的關系,雙方才會有較強的情感

5.尊重/認可需求:每個人都需要被他人尊重、認可,同時需要對別人有價值。因此對待長輩、領導、老板時,要有素養、禮貌,體現對方對于自己的重要性。

6.贊美和鼓勵:當感受到他人的理解、支持或鼓勵時,會更有動力,更有自信; 每一個成功的男人背后 ,都少不了一個默默支持他的妻子

7.成長需求:不斷向上攀登、不斷發展、不斷提高精神境界的需求;人向高處走,向來如此。

8.形象需求:不僅僅是自身的形象,如自己的外貌、穿著打扮等;還有自己展現的形象,就是自己在別人心中的形象,如善良、勇敢、勇于承擔等

9.自由需求:越努力越自由;人們不斷的學習、努力工作,就是獲得更多的機會、更多的物質條件,由此決定自己的選擇,如去旅游、跳槽、做自己喜歡的事等。

10.好奇需求:與空心病(本質是價值觀缺陷)相反,對新奇事物有著好奇心,有著活力。因為好奇,才有探索、創造的精神和自信。

1. ElasticStack介紹

1.1 ELK(Elastic Stack

  • E:ElasticSearch,數據存儲、分析
  • L:Logstash,數據采集
  • K:Kibana,數據可視化
  • Beats:一系列輕量級、單一用途的數據采集器
    • Filebeat:輕量級日志數據采集器
    • metricsbeat
    • heartbeat
  • XPack: 安全相關的工具包,為Elastic Stack提供了一系列增強功能,其中安全(Security) 是其最核心和基礎的組件之一

在這里插入圖片描述

1.2 logstash和filebeat的區別

特性FilebeatLogstash
核心角色日志轉發器 (Forwarder / Shipper)日志處理器 (Processor / Aggregator)
主要功能收集傳輸 日志文件。輕量級,資源占用少。解析轉換豐富過濾日志數據。功能強大,資源消耗高。
數據處理能力非常有限。只能進行簡單的多行合并、解析和過濾。極其強大。擁有豐富的過濾器(Grok、KV、Date、GeoIP等),
能進行復雜的數據加工和格式化。
資源消耗(用 Go 編寫,輕量級進程,占用 CPU 和內存很少)。(用 JRuby 編寫,運行在 JVM 上,
需要較多的 CPU 和內存資源)。
可靠性支持“至少一次”投遞,內置背壓敏感協議,保證數據傳輸。同樣支持持久化隊列,保證數據在處理過程中不丟失。
典型應用場景安裝在每臺需要收集日志的服務器上,
負責讀取日志文件并將其發送到 Logstash 或 Elasticsearch。
通常作為集中式服務器接收來自多個 Beats 或其他來源的數據,
進行統一處理后再輸出。
協議與輸出主要輸出到 Logstash 或 Elasticsearch。支持大量輸入(Beats、HTTP、Kafka、RabbitMQ等)和
輸出(Elasticsearch、各種數據庫、消息隊列等)。
  • Filebeat 負責高效收集,Logstash 負責深度處理。

2. ElasticSearch單點部署

2.1 下載ElasticSearch軟件包

  • 官網下載地址:[Past Releases of Elastic Stack Software | Elastic](https://www.elastic.co/downloads/past-releases#elasticsearch)

在這里插入圖片描述

在這里插入圖片描述

  • 軟件包:elasticsearch-7.17.29-amd64.deb 鏈接: https://pan.baidu.com/s/1mnfZnhtbD3DtvznifaH4yg?pwd=bi39 提取碼: bi39

2.2 安裝軟件并修改配置文件

[root@elk91 ~]# dpkg -i elasticsearch-7.17.29-amd64.deb
……
[root@elk91 ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml 
cluster.name: oldboyedu-linux99-single
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
  • 相關參數說明:
    • cluster.name: 指定集群的名稱。
    • path.data: 數據存儲路徑。
    • path.logs: 日志存儲路徑。
    • network.host: 監聽的IP地址。
    • http.port: 監聽的端口。
    • discovery.type: 指定工作模式-單點部署。

2.3 啟動并測試服務

[root@elk91 ~]# systemctl enable --now elasticsearch
[root@elk91 ~]# ss -ntl | egrep "92|300"
LISTEN 0      4096               *:9300            *:*  
LISTEN 0      4096               *:9200            *:*   
[root@elk92 ~]# curl 10.0.0.91:9200
{"name" : "elk91","cluster_name" : "oldboyedu-linux99-single","cluster_uuid" : "F6SwEY9KQZq9VRpsCVbviw","version" : {"number" : "7.17.29","build_flavor" : "default","build_type" : "deb","build_hash" : "580aff1a0064ce4c93293aaab6fcc55e22c10d1c","build_date" : "2025-06-19T01:37:57.847711500Z","build_snapshot" : false,"lucene_version" : "8.11.3","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}
[root@elk92 ~]# curl 10.0.0.91:9200/_cat/nodes?v
ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role   master name
10.0.0.91            5          97   0    0.09    0.13     0.05 cdfhilmrstw *      elk91   

在這里插入圖片描述

3. ElasticSearch集群部署

3.1 安裝軟件并分發配置文件

1.準備安裝包
[root@elk91 ~]# scp elasticsearch-7.17.29-amd64.deb 10.0.0.92:~
[root@elk91 ~]# scp elasticsearch-7.17.29-amd64.deb 10.0.0.93:~2.所有節點安裝ES
[root@elk92 ~]# dpkg -i elasticsearch-7.17.29-amd64.deb 
[root@elk93 ~]# dpkg -i elasticsearch-7.17.29-amd64.deb 3.修改配置文件
[root@elk91 ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml 
cluster.name: oldboyedu-linux99-cluster
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["10.0.0.91", "10.0.0.92","10.0.0.93"]
cluster.initial_master_nodes: ["10.0.0.91", "10.0.0.92","10.0.0.93"]
  • 相關參數說明:
    • discovery.seed_hosts:指定ES集群服務發現列表。
    • cluster.initial_master_nodes:指定ES初始化時的master節點。
4.同步配置文件
[root@elk91 ~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.92:/etc/elasticsearch/
[root@elk91 ~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.93:/etc/elasticsearch/

3.2 重置單點配置

  • 將單點服務關閉,并刪除日志數據
[root@elk91 ~]# systemctl stop elasticsearch.service 
[root@elk91 ~]# ss -ntl| grep 9200
[root@elk91 ~]# rm -rf  /var/{log,lib}/elasticsearch/*

3.3 重啟ES集群并測試

[root@elk91 ~]# systemctl enable --now elasticsearch
[root@elk91 ~]# ss -ntl | egrep "9200|9300"
LISTEN 0      4096               *:9300            *:*      
LISTEN 0      4096               *:9200            *:*      
[root@elk91 ~]# [root@elk92 ~]# systemctl enable --now elasticsearch
[root@elk92 ~]# ss -ntl | egrep "9200|9300"
LISTEN 0      4096               *:9300            *:*      
LISTEN 0      4096               *:9200            *:*      
[root@elk92 ~]# [root@elk93 ~]# systemctl enable --now elasticsearch
[root@elk93 ~]# ss -ntl | egrep "9200|9300"
LISTEN 0      4096               *:9200            *:*      
LISTEN 0      4096               *:9300            *:*      

在這里插入圖片描述

[root@elk93 ~]# curl 10.0.0.93:9200/_cat/nodes
10.0.0.92 30 95 0 0.02 0.03 0.00 cdfhilmrstw * elk92
10.0.0.91 40 96 0 0.29 0.23 0.13 cdfhilmrstw - elk91
10.0.0.93 21 97 0 0.00 0.00 0.00 cdfhilmrstw - elk93

4. 面試題:ES集群的9200端口和9300端口使用的協議和作用?

9200:使用http或者https協議,對外部用戶暴露的端口。9300:ES集群數據同步及選舉的端口,使用tcp協議。
溫馨提示:9300優于9200端口啟動。

5. ES集群常用術語

  • 索引: index,索引 是文檔的邏輯集合,類似于關系型數據庫中的“數據庫”或“表”
    • ES集群數據存儲的邏輯單元。對于客戶端而言可以進行數據的讀寫。
  • 分片: shard
    • 一個索引對應一個或多個分片。當該索引的分片數量大于1時,意味著數據可以實現分布式存儲。
    • 負責處理寫入請求(索引、更新、刪除文檔)
  • 副本: replica,副本分片是主分片的完整拷貝
    • 一個分片可以有0個或多個副本。當分片的數量大于等于1時,就可以對分片進行數據備份。
    • 注意,副本分片和主分片的數據不能在同一個節點上,主分片負責數據的讀寫,而副本分片負責備份主分片,且可以負責讀的負載均衡。
  • 文檔:文檔 是 Elasticsearch 中可被索引和搜索的最小數據單元,類似于關系型數據庫中的“一行記錄”。
    • 分片和副本存儲的都是文檔,文檔是用戶存儲的數據實際載體。
    • 文檔分為元數據和源數據。
    • 源數據指的是用戶的實際數據。
    • 元數據是用來描述源數據的數據,比如該文檔術語哪個索引,文檔的唯一編號等信息。

在這里插入圖片描述

6. 面試題: ES集群的顏色分別代表什么含義?

red: 紅色代表有部分主分片無法訪問。一般情況下不會出現,如果數據量較大時啟動時可能會短暫出現yellow: 黃色 代表有部分副本分片無法訪問。處于亞健康狀態。green: 綠色。代表所有的主分片和副本分片均可以正常訪問。

7. ElasticSearch的DSL語句初體驗

DSL語句:Domain Specific Language,DSL語句是/ElasticSearch的查詢語言

1.寫入數據
curl --location --request POST 'http://10.0.0.91:9200/_bulk' \
--header 'Content-Type: application/json' \
--data-raw '{ "create" : { "_index" : "oldboyedu-linux99", "_id" : "1001" } }
{ "name" : "豬八戒","hobby": ["猴哥","高老莊"] }
{ "create" : { "_index" : "oldboyedu-linux99", "_id" : "1002" } }
{ "name" : "沙和尚","hobby": ["流沙河","挑行李"] }
{ "create" : { "_index" : "oldboyedu-linux99", "_id" : "1003" } }
{ "name" : "白龍馬","hobby": ["大師兄,師傅被妖怪抓走啦"] }'2.查詢指定文檔id的數據
[root@elk93 ~]# apt -y install jq
[root@elk93 ~]# curl -s --location --request GET '10.0.0.93:9200/oldboyedu-linux99/_doc/1003' | jq
{"_index": "oldboyedu-linux99","_type": "_doc","_id": "1003","_version": 1,"_seq_no": 2,"_primary_term": 1,"found": true,"_source": {"name": "白龍馬","hobby": ["大師兄,師傅被妖怪抓走啦"]}
}3.查看所有數據
[root@elk93 ~]# curl -s --location --request GET '10.0.0.93:9200/oldboyedu-linux99/_search' | jq
{"took": 2,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 3,"relation": "eq"},"max_score": 1,"hits": [{"_index": "oldboyedu-linux99","_type": "_doc","_id": "1001","_score": 1,"_source": {"name": "豬八戒","hobby": ["猴哥","高老莊"]}},{"_index": "oldboyedu-linux99","_type": "_doc","_id": "1002","_score": 1,"_source": {"name": "沙和尚","hobby": ["流沙河","挑行李"]}},{"_index": "oldboyedu-linux99","_type": "_doc","_id": "1003","_score": 1,"_source": {"name": "白龍馬","hobby": ["大師兄,師傅被妖怪抓走啦"]}}]}
}4.刪除數據
[root@elk93 ~]# curl -s --location --request DELETE '10.0.0.93:9200/oldboyedu-linux99/_doc/1003' | jq
{"_index": "oldboyedu-linux99","_type": "_doc","_id": "1003","_version": 2,"result": "deleted","_shards": {"total": 2,"successful": 2,"failed": 0},"_seq_no": 3,"_primary_term": 1
}

8. kibana環境部署

8.1 軟件下載

  • 官方下載地址:[Past Releases of Elastic Stack Software | Elastic](https://www.elastic.co/downloads/past-releases#kibana)

在這里插入圖片描述

  • 軟件包:kibana-7.17.29-amd64.deb 鏈接: https://pan.baidu.com/s/1NvQgPx8VFXwzCkB8zrKF4Q?pwd=uaje 提取碼: uaje

8.2 修改配置文件

1.安裝kibana
[root@elk91 ~]# dpkg -i kibana-7.17.29-amd64.deb
2.修改kibana的配置文件
[root@elk91 ~]# egrep -v "^#|^$" /etc/kibana/kibana.yml 
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://10.0.0.91:9200","http://10.0.0.92:9200","http://10.0.0.93:9200"]
i18n.locale: "zh-CN"
3.啟動kibana服務 
[root@elk91 ~]# systemctl enable --now kibana.service 
[root@elk91 ~]# ss -ntl | grep 5601
LISTEN 0      511          0.0.0.0:5601      0.0.0.0:*

8.3 頁面測試

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

9. filebeat環境部署

  • filebeat的配置文件文檔:[TCP input | Filebeat Reference [7.17] | Elastic](https://www.elastic.co/guide/en/beats/filebeat/7.17/filebeat-input-tcp.html)

在這里插入圖片描述

  • 軟件包:filebeat-7.17.29-amd64.deb 鏈接: https://pan.baidu.com/s/1eO_YKLgp_RQF_63LGZf8CA?pwd=wecm 提取碼: wecm
2.安裝Filebeat
[root@elk92 ~]# dpkg -i filebeat-7.17.29-amd64.deb 3.修改Filebeat的配置文件 
[root@elk92 ~]# mkdir /etc/filebeat/config
[root@elk92 ~]# cat /etc/filebeat/config/01-stdin-to-console.yaml
filebeat.inputs:
- type: stdinoutput.console:pretty: true4.啟動Filebeat程序
[root@elk92 ~]# filebeat -e -c /etc/filebeat/config/01-stdin-to-console.yaml

在這里插入圖片描述

10. EFK架構實戰案例

10.1 編寫配置文件

[root@elk92 ~]# cat /etc/filebeat/config/02-tcp-to-es.yaml
filebeat.inputs:
- type: tcphost: "0.0.0.0:9000"#output.console:
#  pretty: true# 將數據寫入到ES集群
output.elasticsearch:# 指定ES集群地址hosts: ["http://10.0.0.91:9200","http://10.0.0.92:9200","http://10.0.0.93:9200"]# 指定ES的索引名稱index: oldboyedu-filebeat-tcp-test# 禁用索引的生命周期,否則自定義索引名稱無效
setup.ilm.enabled: false
# 定義索引模板
setup.template.name: "oldboyedu-filebeat-tcp"
# 定義索引模板的匹配模式
setup.template.pattern: "oldboyedu-filebeat-tcp*"
# 如果索引模板已經存在是否覆蓋
setup.template.overwrite: false
# 配置索引模板
setup.template.settings:# 指定分片數量index.number_of_shards: 3# 指定副本數量index.number_of_replicas: 0

2.啟動Filebeat實例
[root@elk92 ~]# filebeat -e -c /etc/filebeat/config/02-tcp-to-es.yaml

10.2 發送測試數據

[root@elk93 ~]# echo 123 |nc 10.0.0.92 9000
[root@elk93 ~]# echo 孫克旭 |nc 10.0.0.92 9000

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

10.3 主機端口映射

在這里插入圖片描述

  • 使用以太網ip發送:echo abc |nc 192.168.16.39 9000

在這里插入圖片描述

11. 思維導圖

https://kdocs.cn/join/gpuxq6r?f=101\r\n邀請你加入共享群「老男孩教育Linux運維99期-孫克旭」一起進行文檔協作

12. 麒麟系統部署EFK架構

12.1 ES

  • 軟件包:elasticsearch-7.17.28-x86_64.rpm等2個文件 鏈接: https://pan.baidu.com/s/1EvnBMjQKG47uAhpTMiVE6w?pwd=5y1y 提取碼: 5y1y
rpm -ivh elasticsearch-7.17.28-x86_64.rpm
[root@db01 ~]# grep -vE '^#|^$' /etc/elasticsearch/elasticsearch.yml 
cluster.name: oldboyedu-linux99-single
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-nodesystemctl enable --now elasticsearch

12.2 kibana

  • 軟件包:kibana-7.17.28-x86_64.rpm等2個文件 鏈接: https://pan.baidu.com/s/1a_AgimuLBZXaCpynkXB_LQ?pwd=6e2d 提取碼: 6e2d
[root@db01 ~]# rpm -ivh kibana-7.17.28-x86_64.rpm
……
[root@db01 ~]# grep -Ev '^#|^$' /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"
[root@db01 ~]# systemctl enable --now kibana.service

13.3 filebeat

  • 軟件包:filebeat-7.17.28-x86_64.rpm等2個文件 鏈接: https://pan.baidu.com/s/1BEsWCC5Zn0nU0HZDIeR1ag?pwd=fcd6 提取碼: fcd6
[root@db01 ~]# rpm -ivh filebeat-7.17.28-x86_64.rpm 
警告:filebeat-7.17.28-x86_64.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID d88e42b4: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...1:filebeat-7.17.28-1               ################################# [100%]
[root@db01 ~]# mkdir /etc/filebeat/config
[root@db01 ~]# vim /etc/filebeat/config/02-tcp-to-es.yaml
[root@db01 ~]# cat /etc/filebeat/config/02-tcp-to-es.yaml
filebeat.inputs:
- type: tcphost: "0.0.0.0:9000"#output.console:
#  pretty: true# 將數據寫入到ES集群
output.elasticsearch:# 指定ES集群地址hosts: ["http://10.0.0.20:9200"]# 指定ES的索引名稱index: oldboyedu-filebeat-tcp-test# 禁用索引的生命周期,否則自定義索引名稱無效
setup.ilm.enabled: false
# 定義索引模板
setup.template.name: "oldboyedu-filebeat-tcp"
# 定義索引模板的匹配模式
setup.template.pattern: "oldboyedu-filebeat-tcp*"
# 如果索引模板已經存在是否覆蓋
setup.template.overwrite: false
# 配置索引模板
setup.template.settings:# 指定分片數量index.number_of_shards: 3# 指定副本數量index.number_of_replicas: 0[root@db01 ~]# filebeat -e -c /etc/filebeat/config/02-tcp-to-es.yaml

在這里插入圖片描述

13. ansible一鍵部署EFK架構

在這里插入圖片描述

[root@ansible /server/ans/playbooks/elk]# cat hosts 
[es]
10.0.0.20
10.0.0.10
10.0.0.11
[kb]
10.0.0.20[root@ansible /server/ans/playbooks/elk]# cat es_kylin.yaml 
---
- name: 部署分布式eshosts: esvars:rpm_packages:- elasticsearch-7.17.28-x86_64.rpm# 添加明確的臨時目錄變量temp_dir: /tmptasks:- name: 關閉 Elasticsearch 服務(如果正在運行)ansible.builtin.systemd:name: elasticsearchstate: stoppedbecome: yes# 只有在服務存在且運行時才執行ignore_errors: yes- name: 將 RPM 包復制到遠程臨時目錄ansible.builtin.copy:src: "files/{{ item }}"dest: "{{ temp_dir }}/{{ item }}"mode: '0644'loop: "{{ rpm_packages }}"- name: 使用 rpm 命令安裝軟件包ansible.builtin.command:cmd: "rpm -ivh {{ temp_dir }}/{{ item }}"loop: "{{ rpm_packages }}"become: yesignore_errors: yestags: install_rpms- name: 清除原有日志數據ansible.builtin.file:path: "{{ item }}"state: absentloop:- /var/log/elasticsearch/- /var/lib/elasticsearch/become: yes# 只在目錄存在時執行刪除when: item.stat.exists | default(False)ignore_errors: yes- name: 創建 Elasticsearch 數據目錄(如果被刪除了)ansible.builtin.file:path: "{{ item }}"state: directorymode: '0755'owner: elasticsearchgroup: elasticsearchloop:- /var/log/elasticsearch- /var/lib/elasticsearchbecome: yes- name: 部署 Elasticsearch 配置文件ansible.builtin.copy:src: files/elasticsearch.ymldest: /etc/elasticsearch/elasticsearch.ymlbackup: yesmode: '0644'owner: elasticsearchgroup: elasticsearchbecome: yes- name: 啟用并啟動 Elasticsearch 服務ansible.builtin.systemd:name: elasticsearchstate: startedenabled: yesdaemon_reload: yesbecome: yes- name: 清理臨時 RPM 文件ansible.builtin.file:path: "{{ temp_dir }}/{{ item }}"state: absentloop: "{{ rpm_packages }}"tags: cleanup[root@ansible /server/ans/playbooks/elk]# cat kibana_kylin.yaml 
---
- name: 部署kibana和filebeathosts: kbvars:rpm_packages:- kibana-7.17.28-x86_64.rpmtasks:# 首先安裝 RPM 包- name: 將 Kibana RPM 包復制到遠程臨時目錄ansible.builtin.copy:src: "files/{{ item }}"dest: "/tmp/{{ item }}"mode: '0644'loop: "{{ rpm_packages }}"- name: 安裝 Kibana RPM 包ansible.builtin.yum:name: "/tmp/{{ item }}"state: presentloop: "{{ rpm_packages }}"become: yestags: install_kibana- name: 關閉 kibana 服務(如果正在運行)ansible.builtin.systemd:name: kibanastate: stoppedbecome: yesignore_errors: yes  # 如果服務不存在或未運行,忽略錯誤- name: 部署 Kibana 配置文件ansible.builtin.copy:src: files/kibana.ymldest: /etc/kibana/kibana.yml  # 修正:移除末尾空格backup: yesmode: '0644'owner: kibanagroup: kibanabecome: yes- name: 啟用并啟動 Kibana 服務ansible.builtin.systemd:name: kibanastate: startedenabled: yesdaemon_reload: yesbecome: yes# Filebeat 配置部分- name: 確保 Filebeat 配置目錄存在ansible.builtin.file:path: /etc/filebeat/configstate: directorymode: '0755'owner: rootgroup: rootbecome: yes- name: 復制 Filebeat TCP 配置文件ansible.builtin.copy:src: files/02-tcp-to-es.yamldest: /etc/filebeat/config/02-tcp-to-es.yamlforce: yesmode: '0644'owner: rootgroup: rootbecome: yes- name: 測試 Filebeat 配置文件ansible.builtin.shell:cmd: nohup filebeat -e -c /etc/filebeat/config/02-tcp-to-es.yaml > /tmp/filebeat_test.log 2>&1 &args:executable: /bin/bashasync: 10  # 允許任務運行最多10秒poll: 0    # 不等待立即返回,讓任務在后臺運行register: filebeat_async_result- name: 清理臨時 RPM 文件ansible.builtin.file:path: "/tmp/{{ item }}"state: absentloop: "{{ rpm_packages }}"tags: cleanup[root@ansible /server/ans/playbooks/elk]# cat main.yaml 
---
- import_playbook: es_kylin.yaml
- import_playbook: kibana_kylin.yaml

在這里插入圖片描述

在這里插入圖片描述

14. 完成Windows上網功能

  • 測試站點:
    • https://www.google.com/
    • https://hub.docker.com/
 ~/.bashrc增加  proxy() {case $1 inon | ON)export http_proxy="http://代理ip(填寫自己的win主機IP):填寫代理端口 "export https_proxy="http://代理ip(填寫自己的win主機IP):填寫代理端口";;off | OFF)unset http_proxy https_proxy;;*)echo "Usage: proxy on|off";;esac
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95017.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95017.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95017.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟考 系統架構設計師系列知識點之雜項集萃(139)

接前一篇文章:軟考 系統架構設計師系列知識點之雜項集萃(138) 第257題 系統工程利用計算機作為工具,對系統的結構、元素、()和反饋等進行分析,以達到最優()、最優設計、最優管理和最優控制的目的。霍爾(A.D.Hall)于1969年提出了系統方法的三維結構體系,通常稱為霍…

solidity地址、智能合約、交易概念

目錄地址address 的兩種子類型(Solidity 0.5.0)address分類address 的常用操作和屬性總結交易交易的基本結構(由外部發起)Gas交易生命周期函數調用與交易常見交易場景總結地址 在 Solidity 中,地址(addres…

jwt原理及Java中實現

一、JWT 是什么?解決什么問題? 我們先來一張圖看一下這個過程:JWT(JSON Web Token)是一種把“認證信息(Claims) 完整性校驗”打包成 自包含 的字符串的規范。 它主要用于無狀態認證:…

大數據在UI前端的應用深化研究:用戶行為數據的跨平臺關聯分析

大數據在UI前端的應用深化研究:用戶行為數據的跨平臺關聯分析每天,你在手機 App 里點了一個按鈕、在網頁上滑了兩屏、又在小程序里停留了 3 秒,這些看似零散的動作,其實都在被悄悄記錄。過去,這些數據只能各自躺在自己…

C++11基礎——— 右值引用和移動語義

1. C11的發展歷史 C11是C的第?個主要版本,并且是從C98起的最重要更新。它引入了大量更改,標準化了既有實踐,并改進了對C程序員可用的抽象。在它最終由ISO在2011年8月12日采納前,人們曾使用名稱“C0x”,因為它曾被期待…

【一】Django框架版本介紹

【一】Django框架版本介紹 【一】Django框架版本 ● Django 是一個高級的Python Web框架,由荷蘭人Armin Ronacher創建。 ● 隨著版本的迭代和功能的不斷優化,Django在處理異步請求方面也有了顯著的進步。 【1】Django1.x ● 默認不支持異步 ● Django 1.…

git 大文件上傳不了的 問題

你 還是在 cmd 里執行,Select-String 是 PowerShell 的命令,cmd 不認識。 請務必按下面的步驟 切換到 PowerShell 再運行。? 1. 打開 PowerShell(不要再用 cmd)最簡單: 在資源管理器里進入 D:\linShiWenjian\my-react…

【FIX】go運行報錯“missing go.sum entry for module providing package”解決方案

🔧 ?核心解決方案?**運行 go mod tidy**? ?作用?:自動同步 go.mod和 go.sum文件,添加缺失依賴并移除無用條目。 go mod tidy?適用場景?:90% 的校驗和缺失問題可通過此命令解決。 ?注意?:若項目含私有倉庫&…

【實操教學】ArcGIS 如何進行定義坐標系

一、坐標系定義的方式創建數據時可直接完成坐標系定義;針對已創建的數據集(涵蓋要素類、要素數據集及柵格數據集),則可通過以下這種方式定義:工具箱工具調用:使用 ArcGIS 工具箱中的 “定義投影&#xff08…

如何使用Windows自帶的PnPUtil命令來禁用/停用和啟用硬件設備

我來詳細講解一下如何使用 Windows 自帶的 PnPUtil 命令來禁用(停用) 和啟用硬件設備。 PnPUtil (即插即用實用工具) 是一個功能強大的命令行工具,主要用于安裝、卸載、枚舉和修改驅動程序包。對于硬件的啟用和禁用,它通過操作設…

鴻蒙Next媒體展示組件實戰:Video與動態布局全解析

今天我們來深入探討HarmonyOS Next中幾種核心媒體展示組件的使用方法,通過實際代碼示例展示如何打造豐富的多媒體體驗。HarmonyOS Next為開發者提供了一套強大而靈活的媒體展示組件,使開發者能夠輕松實現視頻播放、動態布局適應、全屏切換等常見多媒體功…

復現RoboDK機器人校準功能(以Staubli TX2?90L / TX200機械臂為測試對象,實測精度接近原廠)

本算法復現了 RoboDK 的機器人校準功能:在訓練集的理論校準后精度與 RoboDK 一致,在測試集的實測精度接近 Staubli 原廠。 參考:RoboDK 機器人校準功能(https://robodk.com.cn/cn/robot-calibration) 特性 支持 SDH 參…

Vue常用指令和生命周期

Vue 是基于 MVVM模型的前端 JavaScript 框架。Vue 核心是數據驅動視圖&#xff0c;通過響應式數據實現視圖自動更新。<template><div>{{ message }}</div><button click"changeMsg">修改內容</button> </template><script se…

深度學習周報(8.25~8.31)

目錄 摘要 Abstract 1 RNN學習意義 2 RNN基礎知識 2.1 核心思想 2.2 傳播 2.3 優缺點 2.4 變體結構與應用場景 3 RNN結構代碼示例 4 總結 摘要 本周主要學習了循環神經網絡的學習意義與基礎知識&#xff0c;重點了解了RNN循環連接的核心思想、前向傳播與反向傳播過程…

借助 LAMBDA 公式,實現單元格區域高效轉換

新特性介紹 “轉換單元格&#xff08;Transform&#xff09;” 功能允許用戶將自定義的單參數 LAMBDA 公式應用于選中的單元格區域。用戶可選擇公式參數的作用域 —— 按單元格、按行、按列或按整個區域。 轉換完成后&#xff0c;源單元格區域會被清空&#xff0c;轉換后的區…

LeetCode 01背包 494. 目標和

494. 目標和給你一個非負整數數組 nums 和一個整數 target 。 向數組中的每個整數前添加 ‘’ 或 ‘-’ &#xff0c;然后串聯起所有整數&#xff0c;可以構造一個 表達式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 ‘’ &#xff0c;在 1 之前…

Dify 1.8.0 全網首發,預告發布

距離Dify 1.7.2過去兩周了 Dify 1.8.0 又跟大伙見面了&#xff01; 1.8.0&#xff0c;屬于主版本號不變、但第二位數字更新的“階段性大更”&#xff0c;意味著功能上的顯著優化和體驗上的重要升級。 根據官方的Github日志&#xff0c;這一版本將繼續聚焦三大核心方向&#x…

基于LangChain框架搭建AI問答系統(附源碼)

AI問答系統1. 背景知識2. 問答系統流程3. 知識問答系統相關組件3.1 文檔加載器3.2 文檔切割器3.3 嵌入模型包裝器3.4 向量存儲庫3.5 模型包裝器3.6 鏈組件4. 問答系統演示4.1 問答程序4.2 演示大模型回答效果5.問答系統代碼1. 背景知識 在人工智能技術飛速發展的今天&#xff…

【Python】QT(PySide2、PyQt5):Qt Designer,VS Code使用designer,可能的報錯

Qt designer&#xff1a;可直接在designer界面&#xff0c;使用拖拽的方式設計需要的界面&#xff0c;可設定部分屬性。安裝Pyside2后&#xff0c;designer默認在python安裝目錄的Lib/sit_packages/PySide2文件夾中。designer使用&#xff1a;① 雙擊打開designer.exe&#xff…

前端常見安全問題 + 防御方法 + 面試回答

目錄 XSS&#xff08;跨站腳本攻擊&#xff09;CSRF&#xff08;跨站請求偽造&#xff09;SQL 注入文件上傳漏洞其他前端常見安全問題面試常見問答 1. XSS&#xff08;跨站腳本攻擊&#xff09; 定義 XSS&#xff08;Cross-Site Scripting&#xff09;是一種 通過注入惡意腳…