1. 程式人生 > 實用技巧 >JdbcTemplate基本使用(非原創)

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

參考:

common options

elasticsearch python 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讀取的最後一個偏移量)

參考:
filebeat
filebeat模組與配置

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