文章目錄
- 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的區別
特性 | Filebeat | Logstash |
---|---|---|
核心角色 | 日志轉發器 (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
}