JdbcTemplate基本使用(非原創)
搭建ELK
Elasticsearch搭建
由於Elasticsearch要求不能使用超級使用者root執行,所以下載、解壓、啟動,以及data和logs目錄的建立,都使用普通賬號即可
環境準備
需要java環境,也就是需要安裝jdk,參考連結:https://www.jianshu.com/p/10949f44ce9c
yum -y list java* # 列出所有java版本 yum install -y java-1.8.0-openjdk-devel.x86_64 # 安裝java,預設安裝的jdk在/usr/lib/jvm下 java -version
下載
當前下載的是elasticsearch-7.6.2-linux-x86_64.tar.gz,下載連結:https://www.elastic.co/cn/downloads/elasticsearch
解壓
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz && cd elasticsearch-7.6.2
配置修改
1.建立普通賬號下的2個目錄/data/es_store/data和/data/es_store/logs,用於儲存ES的資料和執行日誌
2.修改config目錄下的elasticsearch.yml
node.name: node-1 # ES在該機器上的名稱 path.data: /data/es_store/data # ES儲存資料的目錄 path.logs: /data/es_store/logs # ES儲存執行日誌的目錄 network.host: 0.0.0.0 # 設定ip地址為0.0.0.0之後,ES才可以對外提供服務 cluster.initial_master_nodes: ["node-1"] # ES要加入的叢集列表(此時單點)
啟動
./bin/elasticsearch -d # -d表示後臺執行
啟動後可能出現以下問題
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
# 執行以下命令解決然後再次啟動
sudo sysctl -w vm.max_map_count=262144
測試
curl http://ip:9200/?pretty
常見問題
https://segmentfault.com/a/1190000011899522
API
參考:
1.python調取es api 2.connect the python client to elasticsearch 3.Searching Data 4.Python Elasticsearch DSL 查詢、過濾、聚合操作例項
?pretty=ture # 返回更pretty的格式
?format=ymal # 返回yaml格式
?human=false # 返回更人類可讀的格式
filter_path # 用於過濾返回的結果
api
GET /_cluster/allocation/explain # 獲取叢集的分片說明
GET /_cat/indices # 獲取所有索引狀態
GET /_cat/indices/<index> # 獲取索引的狀態(可使用正則)
Filebeat搭建
下載
當前下載的是filebeat-7.6.2-linux-x86_64.tar.gz,下載連結:https://www.elastic.co/cn/downloads/beats/filebeat
解壓
tar -zxvf filebeat-7.6.2-linux-x86_64.tar.gz && cd filebeat-7.6.2-linux-x86_64
配置修改
修改當前目錄下的filebeat.yml
filebeat.inputs:
- input_type: log
enabled: true
close_inactive: 30s
paths:
- /data/logs/websocket/*.log # 要採集的日誌檔案
output.elasticsearch:
hosts: ["http://10.193.161.32:9200"] # 日誌採集後流入的ES服務的叢集列表(此時單點)
index: "ime-adapter-log-%{+yyyyMMdd}"
# 下面的未採用
setup.template:
name: 'ime-adapter-log'
pattern: 'ime-adapter-log-*'
enabled: false
setup.ilm.enabled: false
啟動
nohup ./filebeat -e -c filebeat.yml -d publish > filebeat.log &
-e 日誌輸出到stderr並禁用syslog/file輸出
-c 指定配置檔案
-d 啟用對指定選擇器的除錯,publish可以看到完整的event資訊
測試
檢視日誌filebeat.log
filebeat保持檔案狀態
registry目錄下的filebeat/data.json檔案儲存了每個檔案的狀態(harvester讀取的最後一個偏移量)
Kibana搭建
下載
當前下載的是kibana-7.6.2-linux-x86_64.tar.gz,下載連結:https://www.elastic.co/cn/downloads/kibana
解壓
tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz && cd kibana-7.6.2-linux-x86_64
修改配置
在config目錄下修改kibana.yml
server.port: 5601
server.host: "0.0.0.0" # 所有ip都能訪問kabana服務,如果用localhost只能本機訪問
elasticsearch.hosts: "http://localhost:9200" # kibana服務所連線的ES服務
logging.dest: /data/es_store/logs/kibana.log # 輸出的日誌
啟動
在bin目錄下執行:
nohup ./kibana &
注意,kibana啟動後是無法用ps -ef | grep kibana
找到程序的,主要原因大概是kibana是用node寫的,所以kibana執行的時候是在node裡面。
netstat -tunlp | grep 5601 # 查詢程序id,123881即程序id
tcp 0 0 127.0.0.1:5601 0.0.0.0:* LISTEN 123881/./../node/bi
測試和使用
https://www.cnblogs.com/yiwangzhibujian/p/7137546.html