接個任務,爲某公司內網安裝一套Elastic APM, 用於監測內網運行的各種項目。java
由於是內網服務器,沒法鏈接內網,選擇使用壓縮包方式安裝部署。node
服務器環境: linux Redhat7linux
step1: 從官網下載相關壓縮包,並使用XFTP上傳到內網服務器中。spring
官網下載地址: 選擇linux 64-BIT版本,版本號爲7.0.3vim
https://www.elastic.co/cn/downloads/ 瀏覽器
https://www.elastic.co/cn/downloads/apm服務器
step2: 安裝jdk11.0.4app
從官網下載jdk11.0.4,解壓後,設置 /etc/profilecurl
vim /etc/profileelasticsearch
添加
export JAVA_HOME=/usr/es/elk_apm/jdk-11.0.4
export PATH=$PATH:$JAVA_HOME/bin
運行 source /etc/profile
step3: 切換到root帳號,新建一個帳號es,並授予root用戶權限。(Elastic search默認不支持root帳戶啓動)
添加es用戶組 groudadd es
添加es用戶 useradd es
添加es用戶密碼 passwd es
若是在添加過程當中出現could not change to group 錯誤,請查閱 https://blog.csdn.net/horace20/article/details/37658153
step4: 在es目錄下新建elk_apm目錄,將上傳的壓縮文件轉移到該路徑下,解壓。授予es用戶對elastic search文件夾的最大控制權限。
sudo chmod 777 /home/es/elk_apm/elasticsearch-7.3.0
step5: 進入elasticsearch-7.3.0/config, 修改elasticsearch.yml配置文件,修改
node.name: node-1
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
step6: 修改部分系統配置,詳見: https://blog.csdn.net/qq_40667143/article/details/86693488
step7: 進入elasticsearch-7.3.0/bin, 運行 ./elasticsearch -d 命令啓動 elastic search, 如啓動成功,運行curl -X GET http://localhost:9200 測試返回內容。如出現錯誤提示,根據錯誤提示查找相應解決辦法。
常見錯誤:權限錯誤,JDK版本錯誤 等。
step8: 進入kibana-7.3.0-linux-x86_64,進入config, 修改 Kibana.yml,修改:
server.port: 5061
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
step9: 運行Kibana , 使用後臺運行模式, ./bin/Kibana -&, 啓動完成後在本地瀏覽器中打開 http://{ip}:5061, 打開apm嚮導頁面。此時apm server還沒有啓動。
step10: 進入apm-server-7.3.0-linux-x86_64,修改apm-server.yml, 修改:
host: "0.0.0.0:8200"
rum:
enabled: true
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
hosts: ["localhost:9050"]
運行apm-server 運行命令 , ./apm-server -e,此時返回Kibana apm 嚮導頁,apm-server狀態爲已鏈接。
step11: 部署一個java demo項目,集成 apm agent
在Kibana apm嚮導頁中,根據提示下載agent jar包 (elastic-apm-agent-1.8.0.jar)
使用spring boot構建一個簡單的demo項目,打一個可部署的jar包。
將java項目jar包和 apm agent jar包上傳到服務器中。使用以下命令啓動該java項目:
java -javaagent:elastic-apm-agent-1.8.0.jar \
-Delastic.apm.service_name=test-java-application \
-Delastic.apm.server_url=http://localhost:8200 \
-Delastic.apm.secret_token= \
-Delastic.apm.application_packages=ourway.framework.boot \
-jar soundToText-Service-3.0-SNAPSHOT.jar 2>&1 &
(由於該java項目部署在和elastic apm server同一臺服務器,因此能夠使用http://localhost:8200,若是不在同一臺服務器,使用IP替換localhost)
-- 部署完成,能夠經過kibana apm 查看test-java-application 項目的運行狀況了。